Skip to main content
Glama
Arbodgad

strava-openapi-mcp

by Arbodgad

get_activity_by_id

Retrieve a specific Strava activity by its ID for the authenticated athlete, optionally including all segment efforts, with proper OAuth scopes.

Instructions

Get Activity

Endpoint: GET /activities/{id}

Description: Returns the given activity that is owned by the authenticated athlete. Requires activity:read for Everyone and Followers activities. Requires activity:read_all for Only Me activities.

We strongly encourage you to display the appropriate attribution that identifies Garmin as the data source and the device name in your application. Please see example below from VeloViewer (that provides an attribution for a Garmin Forerunner device).

Attribution

Read-only operation. Scopes: one of: activity:read, activity:read_all.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe identifier of the activity.
include_all_effortsNoTo include all segments efforts.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It explicitly states 'Read-only operation' and lists the OAuth scopes, which covers safety and permissions. It also adds attribution requirements for displaying data, which is extra context beyond a simple fetch. It does not describe the response format, but for a simple GET-by-ID that is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core description is concise, but the inclusion of a full attribution example with an image reference adds length without functional value for tool selection. The key information (endpoint, scopes, read-only) is front-loaded, but the attribution section is extraneous and could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers endpoint, authentication requirements, read-only nature, and attribution guidance, which is sufficient for a simple get-by-ID operation. It doesn't mention error handling or return value shape, but with no output schema, stating 'returns the given activity' is adequate. It is complete given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters ('id', 'include_all_efforts') described in the schema. The description does not add any meaning beyond the schema—it doesn't explain semantics, defaults, or interaction between parameters. The baseline for high coverage is 3, and the description does not elevate it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get Activity' and specifies it returns the activity owned by the authenticated athlete, distinguishing it from sibling tools like get_laps_by_activity_id or get_zones_by_activity_id. The verb+resource is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context by specifying the required scopes (activity:read vs activity:read_all) based on activity visibility, which tells the agent when access is granted. It doesn't explicitly name alternatives or say 'instead use X', but the scope logic and endpoint path imply this is the primary activity retrieval tool. This is adequate but lacks explicit routing to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Arbodgad/strava-openapi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server