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.

Strava logoStrava
Oauth2

Strava is a social fitness network and app for cyclists and runners. It's perfect for tracking workouts, sharing progress, and joining active communities.

33 Tools

Try Strava now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
Strava
Try asking
TOOLS

Supported Tools

Every Strava action and event your agent gets out of the box.

Create an Activity

Creates a manual activity for an athlete.

Explore segments

Explore segments within a geographic bounding box.

Export Route as GPX

Exports a Strava route as a GPX (GPS Exchange Format) file.

Export Route as TCX

Exports a Strava route as a TCX (Training Center XML) file.

Get Activity

Retrieves detailed information about a specific activity by its ID.

Get activity streams

Retrieves time-series stream data for a specific activity.

Get Activity Zones

Returns the heart rate and power zones of a given activity.

Get athlete stats

Returns 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 athlete

Retrieves the profile of the currently authenticated Strava athlete.

Get Club

Retrieves detailed information about a specific Strava club by its ID.

Get equipment

Retrieves detailed information about a specific piece of gear/equipment.

Get route

Retrieve detailed information about a specific Strava route.

Get route streams

Get detailed stream data for a route.

Get segment

Retrieve detailed information about a specific Strava segment.

Get segment effort

Retrieves detailed information about a specific segment effort by its unique ID.

Get segment effort streams

Returns stream data for a segment effort completed by the authenticated athlete.

Get segment streams

Get detailed stream data for a segment.

Get Upload Status

Retrieves the status of an upload by its ID.

Get zones

Retrieves the authenticated athlete's heart rate and power zones.

List activity comments

Retrieves comments on a specific Strava activity, sorted oldest first.

List activity kudoers

Returns the athletes who kudoed an activity identified by an identifier.

List activity laps

Retrieves lap data for a specific Strava activity.

List athlete activities

Retrieves a paginated list of activities for the authenticated athlete.

List athlete clubs

Retrieves a paginated list of Strava clubs the authenticated athlete is a member of.

List athlete routes

Lists routes created by a specific athlete.

List club activities

Retrieve recent activities from members of a specific club.

List club administrators

Returns a list of the administrators of a given Strava club.

List club members

Returns a list of the athletes who are members of a given club.

List segment efforts

List the authenticated athlete's efforts on a given segment.

List starred segments

Returns a list of the authenticated athlete's starred segments with summary details including segment name, distance, elevation, grade, and location.

Star segment

Stars/Unstars the given segment for the authenticated athlete.

Update Athlete

Update the currently authenticated athlete's profile.

Upload Activity

Uploads a new activity file (FIT, TCX, or GPX) to create an activity on Strava.

SETUP GUIDE

Connect Strava MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
Install the Composio SDK and Claude Agent SDK
2

Create Tool Router Session

typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });

console.log("Creating Tool Router session...");
const { mcp } = await composio.create('your-user-id');
console.log(`Tool Router session created: ${mcp.url}`);
Initialize the Composio client and create a Tool Router session
3

Connect to AI Agent

typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText, stepCountIs } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: mcp.url,
    headers: { 'x-api-key': 'your-composio-api-key' }
  }
});

const tools = await client.tools();

const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{ role: 'user', content: 'Show my running activities from last week' }],
  stopWhen: stepCountIs( 5 )
});

console.log(`Agent: ${text}`);
Use the MCP server with your AI agent
SETUP GUIDE

Connect Strava API Tool with your Agent

1

Install Composio

typescript
npm install @composio/openai
Install the Composio SDK
2

Initialize Composio and Create Tool Router Session

typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
Import and initialize Composio client, then create a Tool Router session
3

Execute Strava Tools via Tool Router with Your Agent

typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'Get my recent running activities from last week'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
Get tools from Tool Router session and execute Strava actions with your 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
FAQ

Frequently asked questions

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

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

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

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

Start with Strava.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Strava tool your agent needs.Free to start.

Start building