Strava MCP for AI Agents

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Strava MCP or direct API to fetch workouts, log new activities, analyze training stats, and manage athlete profiles through natural language.
Trusted by
AWS
Glean
Zoom
Airtable

30 min · no commitment · see it on your stack

Strava Logo
Gradient Top
Gradient Middle
Gradient Bottom
divider

Try Strava now

Enter a prompt below to test the integration in our Tool Router playground. You'll be redirected to sign in and try it live.

Supported Tools

Tools
Create an ActivityCreates a manual activity for an athlete.
Explore segmentsExplore segments within a geographic bounding box.
Export Route as GPXExports a Strava route as a GPX (GPS Exchange Format) file.
Export Route as TCXExports a Strava route as a TCX (Training Center XML) file.
Get ActivityRetrieves detailed information about a specific activity by its ID.
Get activity streamsRetrieves time-series stream data for a specific activity.
Get Activity ZonesReturns the heart rate and power zones of a given activity.
Get athlete statsReturns the activity stats of an athlete, including ride, run, and swim totals for recent (last 4 weeks), year-to-date, and all-time periods.
Get authenticated athleteRetrieves the profile of the currently authenticated Strava athlete.
Get ClubRetrieves detailed information about a specific Strava club by its ID.
Get equipmentRetrieves detailed information about a specific piece of gear/equipment.
Get routeRetrieve detailed information about a specific Strava route.
Get route streamsGet detailed stream data for a route.
Get segmentRetrieve detailed information about a specific Strava segment.
Get segment effortRetrieves detailed information about a specific segment effort by its unique ID.
Get segment effort streamsReturns stream data for a segment effort completed by the authenticated athlete.
Get segment streamsGet detailed stream data for a segment.
Get Upload StatusRetrieves the status of an upload by its ID.
Get zonesRetrieves the authenticated athlete's heart rate and power zones.
List activity commentsRetrieves comments on a specific Strava activity, sorted oldest first.
List activity kudoersReturns the athletes who kudoed an activity identified by an identifier.
List activity lapsRetrieves lap data for a specific Strava activity.
List athlete activitiesRetrieves a paginated list of activities for the authenticated athlete.
List athlete clubsRetrieves a paginated list of Strava clubs the authenticated athlete is a member of.
List athlete routesLists routes created by a specific athlete.
List club activitiesRetrieve recent activities from members of a specific club.
List club administratorsReturns a list of the administrators of a given Strava club.
List club membersReturns a list of the athletes who are members of a given club.
List segment effortsList the authenticated athlete's efforts on a given segment.
List starred segmentsReturns a list of the authenticated athlete's starred segments with summary details including segment name, distance, elevation, grade, and location.
Star segmentStars/Unstars the given segment for the authenticated athlete.
Update AthleteUpdate the currently authenticated athlete's profile.
Upload ActivityUploads a new activity file (FIT, TCX, or GPX) to create an activity on Strava.
Python
TypeScript

Install Composio

python
pip install composio claude-agent-sdk
Install the Composio SDK and Claude Agent SDK

Create Tool Router Session

python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
Initialize the Composio client and create a Tool Router session

Connect to AI Agent

python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Strava tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Show my running activities from last week')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
Use the MCP server with your AI agent

Why Use Composio?

AI Native Strava Integration

  • Supports both Strava MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your Strava data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke Strava access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Strava
  • Scoped, least privilege access to Strava resources
  • Full audit trail of agent actions to support review and compliance

Frequently Asked Questions

Do I need my own developer credentials to use Strava with Composio?

Yes, Strava requires you to configure your own OAuth credentials. Once set up, Composio handles token storage, refresh, and lifecycle management for you.

Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. Learn more.

What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

Used by agents from

Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai

Never worry about agent reliability

We handle tool reliability, observability, and security so you never have to second-guess an agent action.