Strava MCP Server

Integrations

  • Provides tools for accessing data from the Strava API, including retrieving user activities, getting specific activity details, accessing activity segments, and viewing segment leaderboards.

Strava MCP 서버

Strava API와 상호 작용하기 위한 MCP(Model Context Protocol) 서버입니다.

사용자 가이드

설치

uvx 사용하여 Strava MCP를 쉽게 설치할 수 있습니다:

지엑스피1

Strava 자격 증명 설정

  1. Strava API 애플리케이션 만들기 :
    • https://www.strava.com/settings/api 로 이동하세요
    • 클라이언트 ID와 클라이언트 비밀번호를 얻기 위해 새 애플리케이션을 만드세요.
    • "인증 콜백 도메인"에 localhost 입력하세요.
  2. 자격 증명 구성 : 자격 증명 파일을 만듭니다(예: ~/.ssh/strava.sh ):
    export STRAVA_CLIENT_ID=your_client_id export STRAVA_CLIENT_SECRET=your_client_secret
  3. Claude Desktop 구성 : Claude 구성에 다음을 추가합니다( /Users/<username>/Library/Application Support/Claude/claude_desktop_config.json ):
    "strava": { "command": "bash", "args": [ "-c", "source ~/.ssh/strava.sh && uvx strava-mcp" ] }

입증

Strava MCP 도구를 처음 사용하는 경우:

  1. 인증 흐름이 자동으로 시작됩니다.
  2. 브라우저에서 Strava 인증 페이지가 열립니다.
  3. 승인 후 로컬 페이지로 다시 리디렉션됩니다.
  4. 새로 고침 토큰은 나중에 사용할 수 있도록 자동으로 저장됩니다.

사용 가능한 도구

사용자 활동 가져오기

인증된 사용자에 대한 활동을 검색합니다.

매개변수:

  • before (선택 사항): 필터링을 위한 Epoch 타임스탬프
  • after (선택 사항): 필터링을 위한 Epoch 타임스탬프
  • page (선택 사항): 페이지 번호(기본값: 1)
  • per_page (선택 사항): 페이지당 항목 수(기본값: 30)
활동 받기

특정 활동에 대한 자세한 정보를 얻습니다.

매개변수:

  • activity_id : 활동의 ID
  • include_all_efforts (선택 사항): 세그먼트 작업 포함(기본값: false)
활동 세그먼트 가져오기

특정 활동에서 세그먼트를 검색합니다.

매개변수:

  • activity_id : 활동의 ID
세그먼트 리더보드 받기

특정 세그먼트의 리더보드를 가져옵니다.

매개변수:

  • segment_id : 세그먼트의 ID
  • 다양한 선택 필터(성별, 연령대 등)

개발자 가이드

프로젝트 설정

  1. 저장소를 복제합니다.
    git clone <repository-url> cd strava
  2. 종속성 설치:
    uv install
  3. 환경 변수 설정:
    export STRAVA_CLIENT_ID=your_client_id export STRAVA_CLIENT_SECRET=your_client_secret
    또는 이러한 변수를 사용하여 .env 파일을 만듭니다.

개발 모드에서 실행

MCP CLI로 서버를 실행합니다.

mcp dev strava_mcp/main.py

수동 인증

다음을 실행하여 수동으로 새로 고침 토큰을 얻을 수 있습니다.

python get_token.py

프로젝트 구조

  • strava_mcp/ : 메인 패키지 디렉토리
    • __init__.py : 패키지 초기화
    • config.py : pydantic-settings를 사용한 구성 설정
    • models.py : Strava API 엔터티에 대한 Pydantic 모델
    • api.py : Strava용 저수준 API 클라이언트
    • auth.py : Strava OAuth 인증 구현
    • oauth_server.py : 독립형 OAuth 서버 구현
    • service.py : 비즈니스 로직을 위한 서비스 계층
    • server.py : MCP 서버 구현
  • tests/ : 단위 테스트
  • strava_mcp/main.py : 서버를 실행하기 위한 주요 진입점
  • get_token.py : 새로 고침 토큰을 수동으로 가져오는 유틸리티 스크립트

테스트 실행

pytest

PyPI에 게시

패키지 빌드
# Build both sdist and wheel uv build
PyPI에 게시
# Publish to Test PyPI first uv publish --index testpypi # Publish to PyPI uv publish

특허

MIT 라이센스

감사의 말

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

사용자가 구조화된 API 인터페이스를 통해 사용자 활동, 활동 세부 정보, 세그먼트, 리더보드를 포함한 Strava 피트니스 데이터에 액세스할 수 있도록 하는 모델 컨텍스트 프로토콜 서버입니다.

  1. 사용자 가이드
    1. 설치
    2. Strava 자격 증명 설정
    3. 입증
    4. 사용 가능한 도구
  2. 개발자 가이드
    1. 프로젝트 설정
    2. 개발 모드에서 실행
    3. 수동 인증
    4. 프로젝트 구조
    5. 테스트 실행
    6. PyPI에 게시
  3. 특허
    1. 감사의 말

      Related MCP Servers

      • -
        security
        A
        license
        -
        quality
        Integration Strava API с Model Context Protocol SDK
        Last updated -
        Python
        MIT License
      • -
        security
        F
        license
        -
        quality
        A Model Context Protocol server that provides language models with access to personal Whoop fitness data, allowing queries for cycles, recovery, strain, and workout information from the Whoop API.
        Last updated -
        2
        Python
        • Apple
      • A
        security
        A
        license
        A
        quality
        A Model Context Protocol server that provides language models with access to Strava API data, allowing them to query and analyze athlete activities from Strava.
        Last updated -
        4
        3
        Python
        MIT License
        • Apple
      • -
        security
        A
        license
        -
        quality
        A Model Context Protocol server that enables language models to interact with Strava data, including activities, athlete statistics, routes, achievements, and social features.
        Last updated -
        2
        Python
        MIT License
        • Linux
        • Apple

      View all related MCP servers

      ID: izw1dq6t15