Integrations
Uses .ENV files to store and manage authentication credentials and configuration options for the Strava API integration.
Runs as a Node.js application, with the server being launched through the Node runtime in Claude's configuration.
Provides tools for accessing Strava data including recent activities, profile details, athlete stats, activity streams (power, heart rate, cadence), segments management, detailed activity information, route management, and exporting routes in GPX/TCX formats.
Strava MCP 서버
이 프로젝트는 Strava API와의 연결 역할을 하는 TypeScript 기반 모델 컨텍스트 프로토콜(MCP) 서버를 구현합니다. Strava 데이터와 기능을 대규모 언어 모델(LLM)이 MCP 표준을 통해 활용할 수 있는 "도구"로 제공합니다.
특징
- 🏃 최근 활동, 프로필, 통계에 접근하세요.
- 📊 자세한 활동 스트림(파워, 심박수, 케이던스 등)을 가져옵니다.
- 🗺️ 세그먼트를 탐색, 보기, 별표 표시 및 관리하세요.
- ⏱️ 자세한 활동 및 세그먼트별 노력 정보를 확인하세요.
- 📍 저장된 경로를 나열하고 세부 정보를 확인하세요.
- 💾 경로를 GPX 또는 TCX 형식으로 로컬 파일 시스템으로 내보냅니다.
- 🤖 MCP를 통한 AI 친화적 JSON 응답.
- 🔧 Strava API V3를 사용합니다.
자연어 상호작용 예시
Strava 데이터와 상호 작용하려면 다음과 같은 질문을 AI 비서에게 하세요.
최근 활동 및 프로필:
- "최근 Strava 활동을 보여주세요."
- "제가 마지막으로 탄 3번의 라이딩은 무엇이었나요?"
- "내 Strava 프로필 정보를 가져와요."
- "내 Strava 사용자 이름은 뭐예요?"
활동 스트림 및 데이터:
- "어제 아침 달리기에서 얻은 심박수 데이터를 가져와."
- "마지막 주행 때의 파워 데이터를 보여주세요."
- "주말 센추리 라이드의 케이던스 프로필은 어땠나요?"
- "목요일 저녁 운동에 대한 모든 스트림 데이터를 가져와."
- "디아블로 산 등반에 필요한 고도 프로필을 보여주세요."
통계:
- "올해 Strava에서 내 달리기 통계는 어때요?"
- "제가 지금까지 자전거를 탄 거리는 얼마인가요?"
- "내 역대 수영 기록 보여줘."
특정 활동:
- "마지막 달리기에 대한 세부 사항을 알려주세요."
- "화요일에 제가 한 간헐적 훈련의 평균 파워는 얼마였나요?"
- "어제 출퇴근할 때 트렉 자전거를 썼나요?"
클럽:
- "내가 속한 Strava 클럽은 어디인가요?"
- "내가 가입한 클럽을 나열해 보세요."
세그먼트:
- "콜로라도 볼더 근처에서 제가 별표 표시한 구간을 나열하세요."
- "내가 좋아하는 세그먼트를 보여줘."
- 'Alpe du Zwift' 구간에 대한 자세한 내용을 알아보세요.
- 골든 게이트 공원 근처에 달리기에 좋은 구간이 있나요?
- "볼더스 플래그스태프 산 근처에서 도전적인 등반 코스를 찾아보세요."
- "플래그스태프 로드 클라임 부분을 나에게 보여주세요."
- "Lefthand Canyon" 부분의 별표를 해제하세요.
세그먼트별 노력:
- "이번 달 '선샤인 캐년' 세그먼트에서 제 노력을 보여주세요."
- "올해 1월부터 6월까지 박스힐에 대한 내 시도를 나열해 보세요."
- "알프 뒤에즈에 대한 내 개인 기록에 대한 자세한 내용을 알아보세요."
경로:
- "저장된 Strava 경로를 나열합니다."
- "내 경로의 두 번째 페이지를 보여주세요."
- "볼더 루프 경로의 고도 상승은 얼마입니까?"
- "'볼더 루프' 경로에 대한 설명을 받으세요."
- "내 '볼더 루프' 경로를 GPX 파일로 내보내주세요."
- "일요일 아침 경로를 TCX 파일로 저장합니다."
고급 프롬프트 예시
Strava 활동에 대한 전문적인 사이클 코치 분석을 만드는 고급 프롬프트의 예는 다음과 같습니다.
지엑스피1
이 프롬프트는 전문적인 코칭 피드백과 사용자 정의 시각화 대시보드를 포함하여 가장 최근의 Strava 활동에 대한 개인화된 분석을 생성합니다.
⚠️ 중요한 설정 순서
Claude와 성공적으로 통합하려면 다음 단계를 정확한 순서대로 따르세요.
- 서버와 해당 종속성을 설치합니다.
- Claude의 구성에서 서버를 구성하세요
- Strava 인증 흐름 완료
- 적절한 환경 변수 로딩을 보장하기 위해 Claude를 다시 시작하세요.
단계를 건너뛰거나 순서 없이 수행하면 Claude가 환경 변수를 제대로 읽지 못할 수 있습니다.
설치 및 설정
- 필수 조건:
- Node.js(v18 이상 권장)
- npm(일반적으로 Node.js와 함께 제공됨)
- Strava 계정
1. 출처로부터
- 복제 저장소:Copy
- 종속성 설치:Copy
- 프로젝트 빌드:Copy
2. Claude Desktop 구성
Claude 구성 파일을 업데이트하세요.
/absolute/path/to/your/strava-mcp/
실제 설치 경로로 바꿔야 합니다.
3. Strava 인증 설정
setup-auth.ts
스크립트를 사용하면 Strava API를 사용하여 인증을 쉽게 설정할 수 있습니다. 다음 단계를 주의 깊게 따르세요.
Strava API 애플리케이션 만들기
- https://www.strava.com/settings/api 로 이동하세요
- 새로운 애플리케이션을 만드세요:
- 신청서 세부 정보(이름, 웹사이트, 설명)를 입력하세요.
- 중요: "인증 콜백 도메인"을
localhost
로 설정하세요. - 클라이언트 ID와 클라이언트 비밀번호를 기록해 두세요.
설치 스크립트 실행
안내에 따라 인증 흐름을 완료하세요(자세한 지침은 아래 인증 섹션 참조).
4. 클로드를 다시 시작하세요
위의 모든 단계를 완료한 후 Claude Desktop을 다시 시작하여 변경 사항을 적용하세요. 이렇게 하면 다음이 보장됩니다.
- 새로운 구성이 로드되었습니다
- 환경 변수가 제대로 읽혔습니다.
- Strava MCP 서버가 올바르게 초기화되었습니다.
🔑 환경 변수
변하기 쉬운 | 설명 |
---|---|
STRAVA_CLIENT_ID | Strava 애플리케이션 클라이언트 ID(필수) |
STRAVA_CLIENT_SECRET | Strava 애플리케이션 클라이언트 비밀번호(필수) |
스트라바_액세스_토큰 | Strava API 액세스 토큰(설정 중 생성됨) |
스트라바_새로고침_토큰 | Strava API 새로 고침 토큰(설정 중 생성됨) |
경로_내보내기_경로 | 내보낸 경로 파일을 저장하기 위한 절대 경로(선택 사항) |
토큰 처리
이 서버는 자동 토큰 갱신을 구현합니다. 초기 액세스 토큰이 만료되면(일반적으로 6시간 후), 서버는 .env
에 저장된 갱신 토큰을 자동으로 사용하여 새 액세스 토큰과 갱신 토큰을 얻습니다. 이 새 토큰은 실행 중인 프로세스와 .env
파일 모두에 업데이트되어 지속적인 운영을 보장합니다.
초기 설정 시에는 scripts/setup-auth.ts
스크립트를 한 번만 실행하면 됩니다.
내보내기 경로 구성(선택 사항)
export-route-gpx
또는 export-route-tcx
도구를 사용하려면 내보낸 파일을 저장할 디렉토리를 지정해야 합니다.
.env
파일을 편집하여 ROUTE_EXPORT_PATH
변수를 추가/업데이트합니다.
자리 표시자를 원하는 내보내기 디렉터리의 절대 경로 로 바꾸세요. 디렉터리가 존재하고 서버에 쓰기 권한이 있는지 확인하세요.
API 참조
서버는 다음과 같은 MCP 도구를 제공합니다.
get-recent-activities
인증된 사용자의 최근 활동을 가져옵니다.
- 사용 시기: 사용자가 최근 운동, 활동, 달리기, 자전거 타기 등에 대해 질문할 때.
- 매개변수:
perPage
(선택 사항):- 유형:
number
- 설명: 검색할 활동의 수입니다.
- 기본값: 30
- 유형:
- 출력: 최근 활동의 서식이 지정된 텍스트 목록(이름, ID, 거리, 날짜).
- 오류: 토큰이 없거나 잘못됨, Strava API 오류.
get-athlete-profile
인증된 운동선수의 프로필 정보를 가져옵니다.
- 사용 시기: 사용자가 프로필 세부 정보, 사용자 이름, 위치, 체중, 프리미엄 상태 등을 요청할 때
- 매개변수: 없음
- 출력: 프로필 세부 정보가 포함된 서식이 지정된 텍스트 문자열입니다.
- 오류: 토큰이 없거나 잘못됨, Strava API 오류.
get-athlete-stats
인증된 운동선수의 활동 통계(최근, YTD, 전체 기간)를 가져옵니다.
- 사용 시기: 사용자가 전반적인 통계, 달리기/자전거 타기/수영에 대한 합계, 개인 기록(가장 긴 자전거 타기, 가장 큰 등반)을 요청할 때.
- 매개변수: 없음
- 출력: 사용자의 측정 선호도를 반영한 통계의 서식 있는 텍스트 요약입니다.
- 오류: 토큰이 없거나 잘못됨, Strava API 오류.
get-activity-details
ID를 사용하여 특정 활동에 대한 자세한 정보를 가져옵니다.
- 사용 시기: 사용자가 ID로 식별된 특정 활동에 대한 세부 정보를 요청할 때.
- 매개변수:
activityId
(필수):- 유형:
number
- 설명: 활동의 고유 식별자입니다.
- 유형:
- 출력: 사용자의 측정 기본 설정을 반영하여 자세한 활동 정보(유형, 날짜, 거리, 시간, 속도, 심박수, 전력, 장비 등)가 포함된 서식이 지정된 텍스트 문자열입니다.
- 오류: 토큰이 없거나 잘못됨,
activityId
잘못됨, Strava API 오류.
list-athlete-clubs
인증된 운동선수가 회원으로 있는 클럽을 나열합니다.
- 사용 시기: 사용자가 가입한 클럽에 대해 질문할 때.
- 매개변수: 없음
- 출력: 클럽의 서식화된 텍스트 목록(이름, ID, 스포츠, 회원, 위치).
- 오류: 토큰이 없거나 잘못됨, Strava API 오류.
list-starred-segments
인증된 운동선수가 별표를 찍은 세그먼트를 나열합니다.
- 사용 시기: 사용자가 별표 표시하거나 가장 좋아하는 세그먼트에 대해 질문할 때.
- 매개변수: 없음
- 출력: 별표 표시된 세그먼트(이름, ID, 유형, 거리, 등급, 위치)의 서식이 지정된 텍스트 목록입니다.
- 오류: 토큰이 없거나 잘못됨, Strava API 오류.
get-segment
ID를 사용하여 특정 세그먼트에 대한 자세한 정보를 가져옵니다.
- 사용 시기: 사용자가 ID로 식별된 특정 세그먼트에 대한 세부 정보를 요청할 때.
- 매개변수:
segmentId
(필수):- 유형:
number
- 설명: 세그먼트의 고유 식별자입니다.
- 유형:
- 출력: 사용자의 측정 기본 설정을 반영하여 세부적인 세그먼트 정보(거리, 등급, 고도, 위치, 별, 노력 등)가 포함된 서식이 지정된 텍스트 문자열입니다.
- 오류: 토큰이 없거나 잘못됨,
segmentId
잘못됨, Strava API 오류.
explore-segments
지정된 지리적 영역(경계 상자) 내에서 인기 있는 세그먼트를 검색합니다.
- 사용 시기: 사용자가 특정 지역에서 세그먼트를 찾거나 알아보고 싶을 때, 선택적으로 활동 유형이나 등반 범주별로 필터링할 때.
- 매개변수:
bounds
(필수):- 유형:
string
- 설명: 쉼표로 구분:
south_west_lat,south_west_lng,north_east_lat,north_east_lng
.
- 유형:
activityType
(선택 사항):- 유형:
string
("running"
또는"riding"
) - 설명: 활동 유형별로 필터링합니다.
- 유형:
minCat
(선택 사항):- 유형:
number
(0-5) - 설명: 최소 등반 등급.
activityType: 'riding'
이 필요합니다.
- 유형:
maxCat
(선택 사항):- 유형:
number
(0-5) - 설명: 최대 등반 등급.
activityType: 'riding'
이 필요합니다.
- 유형:
- 출력: 발견된 세그먼트의 서식이 지정된 텍스트 목록(이름, ID, 등반 유형, 거리, 등급, 고도).
- 오류: 토큰 누락/잘못됨,
bounds
형식이 잘못됨, 필터 조합이 잘못됨, Strava API 오류.
star-segment
인증된 운동선수에 대해 특정 세그먼트에 별표를 표시하거나 표시를 해제합니다.
- 사용 시기: 사용자가 ID로 식별된 특정 세그먼트에 별표 표시, 즐겨찾기, 별표 해제 또는 즐겨찾기 해제를 명시적으로 요청할 때.
- 매개변수:
segmentId
(필수):- 유형:
number
- 설명: 세그먼트의 고유 식별자입니다.
- 유형:
starred
(필수):- 유형:
boolean
- 설명: 별표는
true
, 별표는false
.
- 유형:
- 출력: 작업과 세그먼트의 새로운 별표 상태를 확인하는 성공 메시지입니다.
- 오류: 토큰 누락/잘못됨,
segmentId
오류, Strava API 오류(예: 세그먼트를 찾을 수 없음, 속도 제한).
get-segment-effort
ID를 사용하여 특정 세그먼트 활동에 대한 자세한 정보를 가져옵니다.
- 사용 시기: 사용자가 ID로 식별된 특정 세그먼트 활동에 대한 세부 정보를 요청할 때.
- 매개변수:
effortId
(필수):- 유형:
number
- 설명: 세그먼트 노력의 고유 식별자입니다.
- 유형:
- 출력: 세부적인 노력 정보(세그먼트 이름, 활동 ID, 시간, 거리, HR, 전력, 순위 등)가 포함된 서식이 지정된 텍스트 문자열입니다.
- 오류: 토큰이 없거나 잘못됨,
effortId
잘못됨, Strava API 오류.
list-segment-efforts
특정 세그먼트에서 인증된 선수의 노력을 나열하며, 선택적으로 날짜별로 필터링할 수 있습니다.
- 사용 시기: 사용자가 특정 세그먼트에 대한 노력이나 시도를 나열해 달라고 요청할 때(가능하면 날짜 범위 내에서).
- 매개변수:
segmentId
(필수):- 유형:
number
- 설명: 세그먼트의 ID입니다.
- 유형:
startDateLocal
(선택 사항):- 유형:
string
(ISO 8601 형식) - 설명: 이 날짜-시간 이후에 시작되는 필터링 작업입니다.
- 유형:
endDateLocal
(선택 사항):- 유형:
string
(ISO 8601 형식) - 설명: 이 날짜-시간 이전에 종료된 필터링 작업입니다.
- 유형:
perPage
(선택 사항):- 유형:
number
- 설명: 페이지당 결과 수.
- 기본값: 30
- 유형:
- 출력: 일치하는 세그먼트 활동의 서식이 지정된 텍스트 목록입니다.
- 오류: 토큰 누락/잘못됨,
segmentId
오류, 날짜 형식 오류, Strava API 오류.
list-athlete-routes
인증된 선수가 만든 경로를 나열합니다.
- 사용 시기: 사용자가 생성하거나 저장한 경로를 보여달라고 요청할 때.
- 매개변수:
page
(선택 사항):- 유형:
number
- 설명: 페이지 번호를 매기는 데 사용합니다.
- 유형:
perPage
(선택 사항):- 유형:
number
- 설명: 페이지당 경로 수.
- 기본값: 30
- 유형:
- 출력: 경로의 형식화된 텍스트 목록(이름, ID, 유형, 거리, 고도, 날짜).
- 오류: 토큰이 없거나 잘못됨, Strava API 오류.
get-route
ID를 사용하여 특정 경로에 대한 자세한 정보를 가져옵니다.
- 사용 시기: 사용자가 ID로 식별된 특정 경로에 대한 세부 정보를 요청할 때.
- 매개변수:
routeId
(필수):- 유형:
number
- 설명: 경로의 고유 식별자입니다.
- 유형:
- 출력: 경로 세부 정보(이름, ID, 유형, 거리, 고도, 예상 시간, 설명, 구간 수)가 포함된 형식화된 텍스트 문자열입니다.
- 오류: 토큰이 없거나 잘못됨,
routeId
잘못됨, Strava API 오류.
export-route-gpx
특정 경로를 GPX 형식으로 내보내고 로컬에 저장합니다.
- 사용 시기: 사용자가 특정 경로를 GPX 파일로 내보내거나 저장하도록 명시적으로 요청할 때.
- 필수 조건:
ROUTE_EXPORT_PATH
환경 변수가 서버에서 올바르게 구성되어야 합니다. - 매개변수:
routeId
(필수):- 유형:
number
- 설명: 경로의 고유 식별자입니다.
- 유형:
- 출력: 저장 위치를 나타내는 성공 메시지 또는 오류 메시지.
- 오류: 토큰이 없거나 잘못됨,
ROUTE_EXPORT_PATH
없거나 잘못됨, 파일 시스템 오류(권한, 디스크 공간),routeId
잘못됨, Strava API 오류.
export-route-tcx
특정 경로를 TCX 형식으로 내보내고 로컬에 저장합니다.
- 사용 시기: 사용자가 특정 경로를 TCX 파일로 내보내거나 저장하도록 명시적으로 요청할 때.
- 필수 조건:
ROUTE_EXPORT_PATH
환경 변수가 서버에서 올바르게 구성되어야 합니다. - 매개변수:
routeId
(필수):- 유형:
number
- 설명: 경로의 고유 식별자입니다.
- 유형:
- 출력: 저장 위치를 나타내는 성공 메시지 또는 오류 메시지.
- 오류: 토큰이 없거나 잘못됨,
ROUTE_EXPORT_PATH
없거나 잘못됨, 파일 시스템 오류(권한, 디스크 공간),routeId
잘못됨, Strava API 오류.
get-activity-streams
Strava 활동에서 자세한 시계열 데이터 스트림을 검색하여 운동 지표 분석, 경로 시각화 또는 자세한 활동 분석을 수행하는 데 적합합니다.
- 사용 시기: 활동에 대한 자세한 시계열 데이터가 필요한 경우:
- 심박수 구간을 통한 운동 강도 분석
- 자전거 활동에 대한 전력 지표 계산
- GPS 좌표를 사용하여 경로 데이터 시각화
- 속도 및 고도 변화 분석
- 세부적인 세그먼트 분석
- 매개변수:
id
(필수):- 유형:
number | string
- 설명: 스트림을 가져오기 위한 Strava 활동 식별자
- 유형:
types
(선택 사항):- 유형:
array
- 기본값:
['time', 'distance', 'heartrate', 'cadence', 'watts']
- 사용 가능한 유형:
time
: 시작부터의 시간(초)distance
: 시작 지점으로부터의 거리(미터)latlng
: [위도, 경도] 쌍의 배열altitude
: 미터 단위의 고도velocity_smooth
: 미터/초 단위의 부드러운 속도heartrate
: 분당 심박수cadence
: 분당 회전 수의 케이던스watts
: 와트 단위의 전력 출력temp
: 섭씨 온도moving
: 이동 여부를 나타내는 부울 값grade_smooth
: 도로 등급(백분율)
- 유형:
resolution
(선택 사항):- 유형:
string
- 값:
'low'
(100점),1000점),'medium'
('high'
(~10000점) - 설명: 데이터 해상도/밀도
- 유형:
series_type
(선택 사항):- 유형:
string
- 값:
'time'
또는'distance'
- 기본값:
'distance'
- 설명: 데이터 포인트 인덱싱을 위한 기본 시리즈 유형
- 유형:
page
(선택 사항):- 유형:
number
- 기본값: 1
- 설명: 페이지 번호가 매겨진 결과의 페이지 번호
- 유형:
points_per_page
(선택 사항):- 유형:
number
- 기본값: 100
- 특수 값:
-1
모든 데이터 포인트를 여러 메시지로 분할하여 반환합니다. - 설명: 페이지당 데이터 포인트 수
- 유형:
- 출력 형식:
- 메타데이터:
- 사용 가능한 스트림 유형
- 총 데이터 포인트
- 해상도 및 시리즈 유형
- 페이지 정보(현재 페이지, 총 페이지)
- 통계(해당되는 경우):
- 심박수: 최대, 최소, 평균
- 전력: 최대, 평균, 정규화된 전력
- 속도: 최대 및 평균(km/h)
- 스트림 데이터:
- 요청된 각 스트림에 대한 형식화된 시계열 데이터
- 사람이 읽을 수 있는 형식(예: 형식화된 시간, 속도의 경우 km/h)
- 일관된 숫자 정밀도
- 레이블이 지정된 데이터 포인트
- 메타데이터:
- 요청 예시:Copy
- 특별 기능:
- 대용량 데이터 세트를 위한 스마트 페이지 매김
- 전체 데이터 검색 모드(points_per_page = -1)
- 풍부한 통계 및 메타데이터
- 인간과 LLM 소비 모두를 위한 포맷된 출력
- 자동 단위 변환
- 참고사항:
- 활동이 필요합니다: 읽기 범위
- 모든 스트림을 모든 활동에 사용할 수 있는 것은 아닙니다.
- 이전 활동의 경우 데이터가 제한될 수 있습니다.
- 대규모 활동은 자동으로 페이지가 매겨집니다.
- 스트림 가용성은 녹화 장치 및 활동 유형에 따라 달라집니다.
- 오류:
- 누락/잘못된 토큰
- 잘못된 활동 ID
- 권한이 부족합니다
- 사용할 수 없는 스트림 유형
- 잘못된 페이지 매김 매개변수
get-activity-laps
특정 Strava 활동에 대해 기록된 랩을 검색합니다.
- 사용 시기:
- 활동의 여러 세그먼트(랩)에 따른 성능 변화를 분석합니다.
- 랩 타임, 속도, 심박수 또는 전력 출력을 비교합니다.
- 활동이 어떻게 구성되었는지 이해합니다(예: 간헐적 훈련).
- 매개변수:
id
(필수):- 유형:
number | string
- 설명: Strava 활동의 고유 식별자입니다.
- 유형:
- 출력 형식: 각 랩을 자세히 설명하는 텍스트 요약(다음 포함):
- 랩 인덱스
- 랩 이름(가능한 경우)
- 경과 시간(HH:MM:SS 형식)
- 이동 시간(HH:MM:SS 형식)
- 거리(km)
- 평균 속도(km/h)
- 최대 속도(km/h)
- 총 고도 상승(미터)
- 평균 심박수(사용 가능한 경우, bpm)
- 최대 심박수(사용 가능한 경우, bpm)
- 평균 케이던스(가능한 경우, rpm)
- 평균 와트(가능한 경우, W)
- 요청 예시:Copy
- 응답 스니펫 예:Copy
- 참고사항:
- 공개/팔로워 활동에는
activity:read
범위가 필요하고, 비공개 활동에는activity:read_all
필요합니다. - 랩 데이터의 가용성은 기록 장치와 활동 유형에 따라 달라집니다(예: 수동 활동에는 랩이 없을 수 있음).
- 공개/팔로워 활동에는
- 오류:
- 누락/잘못된 토큰
- 잘못된 활동 ID
- 권한이 부족합니다
- 활동을 찾을 수 없습니다
get-athlete-zones
인증된 운동선수의 설정된 심박수와 파워 존을 검색합니다.
- 사용 시기: 사용자가 심박수 구역, 파워 구역 또는 트레이닝 구역 설정에 대해 질문할 때.
- 매개변수: 없음
- 출력 형식: 두 개의 텍스트 블록을 반환합니다.
- 구성된 영역을 자세히 설명하는 형식화된 요약 :
- 심박수 구역: 사용자 지정 상태, 구역 범위, 시간 분포(사용 가능한 경우)
- 파워 존: 존 범위, 시간 분포(가능한 경우)
- Strava API에서 반환된 전체 원시 JSON 데이터입니다 .
- 구성된 영역을 자세히 설명하는 형식화된 요약 :
- 응답 스니펫 예시(요약):Copy
- 참고사항:
profile:read_all
범위가 필요합니다.- 모든 운동선수에게 맞게 구역이 구성되지 않을 수도 있습니다.
- 오류:
- 누락/잘못된 토큰
- 권한이 부족합니다(
profile:read_all
범위 - 403 오류) - 구독 필요(Strava가 API 액세스를 변경하는 경우 가능)
기여하다
기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요. (MIT 라이선스를 기준으로 하며, 다른 경우 수정해 주세요.)
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Strava API에 대한 브리지 역할을 하는 TypeScript 서버로, LLM이 자연어 상호 작용을 통해 사용자의 활동, 경로, 세그먼트 및 선수 데이터에 액세스할 수 있도록 합니다.
- 특징
- 자연어 상호작용 예시
- 고급 프롬프트 예시
- ⚠️ 중요한 설정 순서
- 설치 및 설정
- 🔑 환경 변수
- 토큰 처리
- 내보내기 경로 구성(선택 사항)
- API 참조
- get-recent-activities
- get-athlete-profile
- get-athlete-stats
- get-activity-details
- list-athlete-clubs
- list-starred-segments
- get-segment
- explore-segments
- star-segment
- get-segment-effort
- list-segment-efforts
- list-athlete-routes
- get-route
- export-route-gpx
- export-route-tcx
- get-activity-streams
- get-activity-laps
- get-athlete-zones
- 기여하다
- 특허
Related MCP Servers
- -securityFlicense-qualityA TypeScript-based server that provides a memory system for Large Language Models (LLMs), allowing users to interact with multiple LLM providers while maintaining conversation history and offering tools for managing providers and model configurations.Last updated -20JavaScript
- AsecurityAlicenseAqualityA 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 -43PythonMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables language models to interact with Strava data, including activities, athlete statistics, routes, achievements, and social features.Last updated -2PythonMIT License
- AsecurityAlicenseAqualityA TypeScript server that enhances AI assistants' capabilities when working with Starwind UI components, providing tools for project initialization, component installation, documentation access, and more.Last updated -615TypeScriptMIT License