Integrations
Retrieves health and fitness data from a user's Fitbit account, including weight measurements, sleep logs, and user profile information. Currently supports endpoints for weight data by period, sleep data by date range, and profile details, with planned support for steps, heart rate, and activity data.
Fitbit MCP 서버
이 프로젝트는 LLM(예: Claude)과 Fitbit API 사이의 브리지 역할을 하는 MCP(Model Context Protocol) 서버를 구현합니다.
LLM은 정의된 도구를 통해 사용자의 Fitbit 계정에서 건강 및 피트니스 데이터를 요청하고 검색할 수 있습니다.
특징
- Fitbit API 통합: OAuth 2.0을 사용하여 Fitbit API에 안전하게 연결합니다.
- MCP 준수: 모델 컨텍스트 프로토콜을 준수하는 도구를 통해 Fitbit 데이터를 공개합니다.
- 확장 가능: 더 많은 Fitbit API 엔드포인트에 대한 지원을 쉽게 추가할 수 있도록 설계되었습니다.
지원되는 엔드포인트
- 무게:
get_weight
: 오늘을 기준으로 지정된 기간(1d
,7d
,30d
,3m
,6m
,1y
)의 원시 체중 데이터를 가져옵니다.period
매개변수가 필요합니다.
- 잠:
get_sleep_by_date_range
: 특정 기간(최대 100일)의 원시 수면 기록 데이터를 가져옵니다.YYYY-MM-DD
형식의startDate
및endDate
매개변수가 필요합니다.
- 윤곽:
get_profile
: 이름, 나이, 성별, 키, 몸무게, 계정 정보 등 개인 정보를 포함한 사용자의 Fitbit 프로필 정보를 검색합니다.
계획된 종료점
- 단계
- 심박수
- 활동
설정
- 저장소 복제:지엑스피1
- 종속성 설치:Copy
- 환경 파일 생성:
- 프로젝트 루트(
mcp-fitbit/
)에.env
라는 이름의 파일을 만듭니다. - Fitbit 애플리케이션 자격 증명을 추가하세요.Copy
- dev.fitbit.com 에서 애플리케이션을 등록하면 이러한 기능을 사용할 수 있습니다. OAuth 2.0 애플리케이션 유형이
Personal
으로 설정되어 있고 콜백 URL이http://localhost:3000/callback
인지 확인하세요.
- 프로젝트 루트(
- 프로젝트 빌드:이는 TypeScript 소스 파일(Copy
src/
)을 JavaScript 파일(build/
)로 컴파일합니다.
데스크톱용 Claude와 통합
Claude for Desktop에서 이 Fitbit MCP 서버를 사용하려면:
- Claude 구성 파일을 찾으세요.
- Windows에서 파일 탐색기를 열고
%AppData%\Claude\
로 이동합니다. - 텍스트 편집기에서
claude_desktop_config.json
파일을 엽니다.
- Windows에서 파일 탐색기를 열고
- 서버 구성을 추가합니다.
- JSON 파일에서
mcpServers
키를 찾습니다(키가 없으면 추가해야 할 수도 있음). - Fitbit 서버 항목을 추가합니다.
C:\PATH\TO\PARENT\FOLDER\mcp-fitbit
이 저장소를 복제한 디렉터리의 절대 경로 로 바꾸세요.
Copy- 중요: Windows의 JSON 파일에서 경로에는 반드시 이중 백슬래시(
\\
)를 사용하세요.
- JSON 파일에서
- 저장하고 다시 시작하세요:
claude_desktop_config.json
파일을 저장합니다.- Claude for Desktop 애플리케이션을 다시 시작합니다.
- 첫 번째 실행 및 승인:
- Claude가 처음으로 서버에 연결할 때(예: Fitbit 도구가 필요한 질문을 할 때), 서버는 Fitbit OAuth 2.0 인증 흐름을 시작합니다.
- 서버의 콘솔 창이 잠시 나타날 수 있습니다.
- 서버는 기본 웹 브라우저에서
http://localhost:3000/auth
열려고 시도합니다. - 브라우저가 자동으로 열리지 않으면 해당 URL로 직접 이동하세요.
- Fitbit 계정에 로그인하여 요청된 범위(체중 및 수면)에 대한 앱 권한을 부여하세요.
http://localhost:3000/callback
으로 리디렉션됩니다.- 브라우저 탭에 성공 메시지가 나타나고, 그 후에 탭을 닫을 수 있습니다.
- 이제 서버가 인증되었고 클로드는 Fitbit 도구를 사용할 수 있습니다.
사용 가능한 도구
서버가 실행되고 권한이 부여되면 연결된 LLM에서 다음 도구를 사용할 수 있습니다.
get_weight
: 오늘로 끝나는 지정된 기간에 대한 원시 가중치 시계열 데이터를 JSON 문자열로 가져옵니다.- 매개변수:
period
(문자열, 필수) - 기간을 지정합니다."1d"
,"7d"
,"30d"
,"3m"
,"6m"
,"1y"
중 하나여야 합니다. - 예시 사용(개념적):
get_weight(period="7d")
- 매개변수:
get_sleep_by_date_range
: 지정된 날짜 범위(최대 100일)에 대한 원시 수면 기록 데이터를 JSON 문자열로 가져옵니다.- 매개변수:
startDate
(문자열, 필수) -YYYY-MM-DD
형식으로 시작 날짜를 지정합니다.endDate
(문자열, 필수) -YYYY-MM-DD
형식으로 종료 날짜를 지정합니다.
- 예시 사용(개념적):
get_sleep_by_date_range(startDate="2025-04-01", endDate="2025-04-30")
- 매개변수:
get_profile
: 사용자의 Fitbit 프로필 정보를 JSON 문자열로 가져옵니다.- 매개변수: 필요 없음.
- 예시 사용(개념적):
get_profile()
개발
- 소스 코드는
src/
디렉토리에 있습니다. - TypeScript 파일을 변경한 후
npm run build
실행합니다. - 서버가 이미 Claude를 통해 실행 중이었다면 최신 빌드를 선택하도록 Claude for Desktop을 다시 시작하세요.
You must be authenticated.
local-only server
The server can only run on the client's local machine because it depends on local resources.
LLM(예: Claude)과 Fitbit API를 연결하는 모델 컨텍스트 프로토콜 서버로, LLM이 정의된 도구를 통해 사용자 건강 및 피트니스 데이터를 요청하고 검색할 수 있도록 합니다.
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server for tracking personal health and well-being, offering tools for workout logging, nutrition management, and daily journaling with AI-assisted analysis integration.Last updated -2Python
- -securityAlicense-qualityA Model Context Protocol server that provides health data from the Senechal API to LLM applications, enabling AI assistants to access, analyze, and respond to personal health information.Last updated -PythonGPL 3.0
- -securityFlicense-qualityA 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 -2Python
- AsecurityAlicenseAqualityA Model Context Protocol server that provides basic mathematical and statistical functions to LLMs, enabling them to perform accurate numerical calculations through a simple API.Last updated -132TypeScriptMIT License