Vinkius

Configure Strava Planning MCP for Claude Code Activity Uploads

4 min read
Configure Strava Planning MCP for Claude Code Activity Uploads

Update your endurance training data by using the Strava Planning MCP with Claude Code to manage athlete profiles and track gear maintenance.

The Administrative Burden of Endurance Training

If you spend more time managing your training than actually doing it, something is wrong.

Endurance athletes—cyclists, runners, triathletes—live by data. We track heart rate zones, monitor tire pressure, and obsess over weekly mileage. But there is a hidden cost to this precision: administrative friction.

Every time you want to use a new route on your Garmin, you have to find it on Strava, export the GPX file, move it to a computer, and sync it to your device. Every time you do a heavy lifting session that doesn’t involve a GPS signal, you have to manually open an app and type in the details. It is a series of small, annoying interruptions that break your focus.

The point is this: training should be about the miles, not the menus. We need a way to interact with our fitness data without being tethered to a web browser or a mobile UI.


Automating Your Route Pipeline

The most tedious part of route planning is the “find-download-upload” cycle. You find a great segment on Strava, but getting that route onto your head unit feels like a chore.

With the Strava Planning MCP server, you can bypass the browser entirely. Because this tool connects directly to your AI assistant—like Claude or Cursor—you can simply ask your agent to handle the logistics.

Imagine this workflow:

routes = mcp_client.call_tool("strava-planning-monkey", "list_routes")

gpx_url = mcp_client.call_tool("strava-planning-monkey", "export_route_gpx", {"route_id": "123456"})

print(f"Download your route here: {gpx_url}")

Right. So, instead of clicking through menus, you just ask, “What are my saved routes?” and then, “Give me the GPX link for the Morning Loop.” The agent fetches the data via Vinkius Edge and hands you the direct download URL. You can even instruct an agent to look at the elevation profile using get_route_streams before you decide to ride it.

This eliminates the gap between planning and riding. The route is ready before you’ve even laced up your shoes.


Capturing the Invisible Workouts

A training plan is only as good as its completeness. If you are doing strength training, yoga, or swimming but failing to log them because the manual entry process is too high-friction, your total training load data becomes useless.

This is where “invisible workouts” happen. They exist in your physical reality, but they don’t exist in your Strava record.

The create_activity tool changes this. You can tell your AI assistant: “Log a 60-minute heavy lifting session for today with 5000 calories burned.”

// The agent executes the following behind the scenes
{
  "tool": "strava_planning_mcp",
  "name": "create_activity",
  "arguments": {
    "name": "Heavy Lifting Session",
    "type": "Weightlifting",
    "start_date": "2026-06-30T08:00:00Z",
    "elapsed_time": 3600,
    "description": "Logged via AI Assistant"
  }
}

It is that simple. By making manual logging a matter of natural language, you ensure your training load stays accurate. No more forgotten sessions; no more broken trends.


Smart Gear Maintenance and Profile Precision

Maintaining equipment is just as vital as maintaining fitness. If you are riding a bike with worn tires or running in shoes with 800km on them, you are risking injury.

Currently, checking gear mileage requires digging through individual activity summaries. With the Strava Planning MCP, your agent becomes your equipment manager. You can ask, “How many kilometers are on my Trek Emonda?” and the agent uses get_gear to scan your recent history and provide an answer.

This matters because if the mileage is high, you can immediately decide to schedule maintenance.

The same precision applies to your physical profile. Your power zones and weight are not static; they change as you adapt to training. Using update_athlete, you can update your weight in seconds via chat. This ensures that your FTP-based power zones and heart rate calculations remain precise. If the data is wrong, the training is wrong.


The Vinkius Setup

Connecting these tools to your AI assistant shouldn’t require a degree in software engineering. We built this on the Vinkius AI Gateway to make it frictionless.

You don’t need to manage complex OAuth2 flows or store sensitive API keys in your local files. You simply use your personal Connection Token from your Vinkius dashboard.

When you connect via Vinkius Edge, you get:

  • No API Key Management: Vinkius handles the authentication behind the scenes.
  • Security Passport: Every connection is transparent. You can see exactly what permissions the Strava server has access to.
  • Universal Access: Use the same connection in Claude Desktop, Cursor, Windsurf, or any other MCP-compatible client.

The setup is a “Quick Connect” experience. Once you have your token, your AI assistant is immediately equipped with the ability to manage your fitness data.


Honest Limitations

No automation is perfect. It is important to understand where this tool reaches its limits.

First, file uploads (like uploading a .fit or .gpx file via upload_activity) are asynchronous. When you initiate an upload, Strava starts processing the file in the background. This means you cannot simply “upload and forget.” You must use the get_upload_status tool to poll the server until it confirms the activity is ready. It usually takes between 10 and 60 seconds.

Second, while this tool makes managing data much easier, it does not replace the need for physical training. The agent handles the administration; you handle the effort.

The point is this: use the automation to clear the administrative clutter so you can focus on what actually matters—the training itself.

Find the Strava Planning MCP server in the App Catalog.

Analyze with AI

Send this article directly to your preferred AI to analyze concepts, extract actionable insights, or seamlessly integrate into your own projects.

Connect AI agents to your entire stack.

Browse ready-to-use MCP servers. Paste one URL to connect live databases, APIs, and business tools instantly.