Strava Training MCP Server for CrewAI 12 tools — connect in under 2 minutes
Connect your CrewAI agents to Strava Training through Vinkius, pass the Edge URL in the `mcps` parameter and every Strava Training tool is auto-discovered at runtime. No credentials to manage, no infrastructure to maintain.
ASK AI ABOUT THIS MCP SERVER
Vinkius supports streamable HTTP and SSE.
from crewai import Agent, Task, Crew
agent = Agent(
role="Strava Training Specialist",
goal="Help users interact with Strava Training effectively",
backstory=(
"You are an expert at leveraging Strava Training tools "
"for automation and data analysis."
),
# Your Vinkius token. get it at cloud.vinkius.com
mcps=["https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"],
)
task = Task(
description=(
"Explore all available tools in Strava Training "
"and summarize their capabilities."
),
agent=agent,
expected_output=(
"A detailed summary of 12 available tools "
"and what they can do."
),
)
crew = Crew(agents=[agent], tasks=[task])
result = crew.kickoff()
print(result)
* Every MCP server runs on Vinkius-managed infrastructure inside AWS - a purpose-built runtime with per-request V8 isolates, Ed25519 signed audit chains, and sub-40ms cold starts optimized for native MCP execution. See our infrastructure
About Strava Training MCP Server
Connect Strava Training to any AI agent and unlock deep performance analysis from your Strava data — activity details, time-series streams, heart rate/power zones, segment efforts, lap splits, and lifetime athlete statistics.
When paired with CrewAI, Strava Training becomes a first-class tool in your multi-agent workflows. Each agent in the crew can call Strava Training tools autonomously, one agent queries data, another analyzes results, a third compiles reports, all orchestrated through Vinkius with zero configuration overhead.
What you can do
- Activity Details — Full metrics: distance, time, elevation, HR, power, speed, weather, gear
- Activity Streams — Raw GPS, heart rate, power, cadence, altitude, speed, temperature, grade data
- Activity Zones — Heart rate and power zone distribution for training intensity analysis
- Activity Laps — Auto-split lap data with pace, distance, and elevation per split
- Segment Efforts — Find, compare, and analyze all efforts on any segment with detailed metrics
- Segment Streams — Elevation and grade profiles along segments for previewing difficulty
- Segment Details — Distance, elevation, grade, effort count, and personal records
- Athlete Statistics — Lifetime and recent totals for runs, rides, and all activities
- Athlete Zones — Personal heart rate and power zone configurations
- Gear Tracking — Equipment mileage, models, and primary gear assignments
The Strava Training MCP Server exposes 12 tools through the Vinkius. Connect it to CrewAI in under two minutes — no API keys to rotate, no infrastructure to provision, no vendor lock-in. Your configuration, your data, your control.
How to Connect Strava Training to CrewAI via MCP
Follow these steps to integrate the Strava Training MCP Server with CrewAI.
Install CrewAI
Run pip install crewai
Replace the token
Replace [YOUR_TOKEN_HERE] with your Vinkius token from cloud.vinkius.com
Customize the agent
Adjust the role, goal, and backstory to fit your use case
Run the crew
Run python crew.py. CrewAI auto-discovers 12 tools from Strava Training
Why Use CrewAI with the Strava Training MCP Server
CrewAI Multi-Agent Orchestration Framework provides unique advantages when paired with Strava Training through the Model Context Protocol.
Multi-agent collaboration lets you decompose complex workflows into specialized roles, one agent researches, another analyzes, a third generates reports, each with access to MCP tools
CrewAI's native MCP integration requires zero adapter code: pass Vinkius Edge URL directly in the `mcps` parameter and agents auto-discover every available tool at runtime
Built-in task delegation and shared memory mean agents can pass context between steps without manual state management, enabling multi-hop reasoning across tool calls
Sequential and hierarchical crew patterns map naturally to real-world workflows: enumerate subdomains → analyze DNS history → check WHOIS records → compile findings into actionable reports
Strava Training + CrewAI Use Cases
Practical scenarios where CrewAI combined with the Strava Training MCP Server delivers measurable value.
Automated multi-step research: a reconnaissance agent queries Strava Training for raw data, then a second analyst agent cross-references findings and flags anomalies. all without human handoff
Scheduled intelligence reports: set up a crew that periodically queries Strava Training, analyzes trends over time, and generates executive briefings in markdown or PDF format
Multi-source enrichment pipelines: chain Strava Training tools with other MCP servers in the same crew, letting agents correlate data across multiple providers in a single workflow
Compliance and audit automation: a compliance agent queries Strava Training against predefined policy rules, generates deviation reports, and routes findings to the appropriate team
Strava Training MCP Tools for CrewAI (12)
These 12 tools become available when you connect Strava Training to CrewAI via MCP:
get_activity
The activityId is the numeric ID from Strava activity URLs (e.g., strava.com/activities/12345678 → 12345678). Use this for deep analysis of any workout, ride, or run. Get detailed information about a specific Strava activity
get_activity_laps
Each lap includes distance, moving time, average speed, elevation gain, and pace. GPS devices and Strava auto-split activities into laps (typically ~1km or ~1mi). Use this to analyze pace consistency, identify fast/slow sections, and compare splits within a single activity. Get lap/split data for a Strava activity
get_activity_streams
The "types" parameter is comma-separated stream types: "time", "distance", "latlng", "altitude", "velocity_smooth", "heartrate", "cadence", "watts", "temp", "moving", "grade_smooth". Example: "heartrate,watts,velocity_smooth" for HR, power, and speed data. Each stream returns an array of values with corresponding timestamps. Use this for detailed performance analysis, visualization, or export. Get raw time-series data streams from a Strava activity (GPS, heart rate, power, cadence, altitude, speed, etc)
get_activity_zones
Requires activity ID. This data helps understand training intensity and whether the workout targeted the correct zones. Only available for activities with heart rate or power data. Summit/subscription feature. Get heart rate and power zone distribution for a Strava activity
get_athlete_stats
Use the athlete's Strava numeric ID. Returns recent_run_totals, recent_ride_totals, all_run_totals, all_ride_totals. Great for performance overview and progress tracking. Get consolidated activity statistics for any Strava athlete
get_athlete_zones
Requires profile:read_all scope. Use this to understand training zones for zone-based analysis of activities and efforts. Get the authenticated athlete's custom heart rate and power zones
get_gear
The gear ID is found in activity data or athlete profile. Use this to track equipment mileage, plan maintenance, or analyze performance with specific gear. Get details about a piece of equipment (bike, shoes) tracked in Strava
get_segment
The segment ID is found in Strava segment URLs. Use this to discover segment characteristics before attempting it or to compare segments. Get details of a Strava segment including distance, elevation, grade, and leaderboards
get_segment_effort
Includes elapsed time, distance, average speed, heart rate, power, start date, and activity reference. The effort ID is found in segment effort listings or activity details. Use this to analyze specific KOM/QOM attempts and compare efforts on the same segment. Get details of a specific segment effort (KOM/QOM/PR attempt)
get_segment_effort_streams
Same format as activity streams but limited to the segment portion. The "types" parameter is comma-separated: "time", "distance", "latlng", "altitude", "velocity_smooth", "heartrate", "cadence", "watts". Use this for granular analysis of segment performance. Get time-series data streams for a specific segment effort
get_segment_streams
Useful for previewing a segment's difficulty profile before attempting it. The "types" parameter accepts "distance", "altitude", "grade_smooth". Use this to understand elevation changes and steepness patterns along a segment. Get time-series data streams for a Strava segment (elevation profile, grade, etc)
list_segment_efforts
Filter by athlete_id (required), optionally segment_id to get efforts on a specific segment, and date range with start_date_local and end_date_local (ISO 8601 format). Use this to find PRs, analyze progress on segments over time, or compare multiple efforts on the same segment. List all segment efforts for an athlete, optionally filtered by segment and date range
Example Prompts for Strava Training in CrewAI
Ready-to-use prompts you can give your CrewAI agent to start working with Strava Training immediately.
"Show my athlete statistics."
"Get activity streams for activity 12345678 with heart rate, power, and speed."
"Show my segment efforts on segment 22978."
Troubleshooting Strava Training MCP Server with CrewAI
Common issues when connecting Strava Training to CrewAI through the Vinkius, and how to resolve them.
MCP tools not discovered
Agent not using tools
Timeout errors
Rate limiting or 429 errors
Strava Training + CrewAI FAQ
Common questions about integrating Strava Training MCP Server with CrewAI.
How does CrewAI discover and connect to MCP tools?
tools/list method. This means tools are always fresh and reflect the server's current capabilities. No tool schemas need to be hardcoded.Can different agents in the same crew use different MCP servers?
mcps list, so you can assign specific servers to specific roles. For example, a reconnaissance agent might use a domain intelligence server while an analysis agent uses a vulnerability database server.What happens when an MCP tool call fails during a crew run?
Can CrewAI agents call multiple MCP tools in parallel?
process=Process.parallel, each calling different MCP tools concurrently. This is ideal for workflows where separate data sources need to be queried simultaneously.Can I run CrewAI crews on a schedule (cron)?
crew.kickoff() method runs synchronously by default, making it straightforward to integrate into existing pipelines.Connect Strava Training with your favorite client
Step-by-step setup guides for every MCP-compatible client and framework:
Anthropic's native desktop app for Claude with built-in MCP support.
AI-first code editor with integrated LLM-powered coding assistance.
GitHub Copilot in VS Code with Agent mode and MCP support.
Purpose-built IDE for agentic AI coding workflows.
Autonomous AI coding agent that runs inside VS Code.
Anthropic's agentic CLI for terminal-first development.
Python SDK for building production-grade OpenAI agent workflows.
Google's framework for building production AI agents.
Type-safe agent development for Python with first-class MCP support.
TypeScript toolkit for building AI-powered web applications.
TypeScript-native agent framework for modern web stacks.
Python framework for orchestrating collaborative AI agent crews.
Leading Python framework for composable LLM applications.
Data-aware AI agent framework for structured and unstructured sources.
Microsoft's framework for multi-agent collaborative conversations.
Connect Strava Training to CrewAI
Get your token, paste the configuration, and start using 12 tools in under 2 minutes. No API key management needed.
