Mirobody
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
제작자가 쓴 설명(영어 원문)
iGPSport cycling data with training metrics (NP/IF/TSS/CTL/ATL/TSB) and workout generation
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
IGPSPORT_USERNAME, IGPSPORT_PASSWORD, IGPSPORT_REGION, IGPSPORT_FTP, IGPSPORT_LTHR비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"igpsport": {
"command": "uvx",
"args": [
"igpsport-mcp"
],
"env": {
"IGPSPORT_USERNAME": "your-value",
"IGPSPORT_PASSWORD": "your-value",
"IGPSPORT_REGION": "your-value",
"IGPSPORT_FTP": "your-value",
"IGPSPORT_LTHR": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add igpsport --env IGPSPORT_USERNAME=your-value --env IGPSPORT_PASSWORD=your-value --env IGPSPORT_REGION=your-value --env IGPSPORT_FTP=your-value --env IGPSPORT_LTHR=your-value -- uvx igpsport-mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"igpsport": {
"command": "uvx",
"args": [
"igpsport-mcp"
],
"env": {
"IGPSPORT_USERNAME": "your-value",
"IGPSPORT_PASSWORD": "your-value",
"IGPSPORT_REGION": "your-value",
"IGPSPORT_FTP": "your-value",
"IGPSPORT_LTHR": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"igpsport": {
"type": "stdio",
"command": "uvx",
"args": [
"igpsport-mcp"
],
"env": {
"IGPSPORT_USERNAME": "your-value",
"IGPSPORT_PASSWORD": "your-value",
"IGPSPORT_REGION": "your-value",
"IGPSPORT_FTP": "your-value",
"IGPSPORT_LTHR": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
IGPSPORT_REGION envIGPSPORT_FTP envIGPSPORT_LTHR env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 9일 점검
레지스트리 이름이 GitHub 계정 dengxuhui 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: IGPSPORT_USERNAME, IGPSPORT_PASSWORD
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.7.1)은 4개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: Mirobody, FHIR MCP Server, Google Health MCP
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications
Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
English | 简体中文
A local MCP server that connects your iGPSport cycling data to LLM clients like Claude. Analyze your training in natural language: *"How's my training load this week?"* *"Compare my two long rides from last week and this week."* *"What's my ranking on that climb I starred?"* *"How many kilometers did I ride this year, and what are my personal bests?"* — and even have Claude prescribe workouts for you: *"Build me a 2×20 SST session based on my FTP and push it to my head unit."*
Key differentiator: Derived training metrics — NP / IF / TSS / CTL / ATL / TSB — are computed server-side in the MCP layer before being returned. The LLM receives story-ready numbers, not raw stream data.
You: What's my training load trend over the last 90 days? Should I back off?
Claude (via analyze_training_load): Current CTL (Fitness) 72, ATL (Fatigue) 91, TSB (Form) -19 — you're in a significant fatigue hole. TSS has been above CTL for the past two weeks. Consider a 3–5 day recovery block to get TSB back above -5…
⚠️ Unofficial project. This tool works by simulating iGPSport web client requests. iGPSport may change their API at any time, which could break functionality. Please evaluate account risk yourself — use at your own risk. Runs entirely locally over stdio — your data never touches any third-party server.
This tool is an MCP server and requires an MCP-capable client (e.g. Claude Desktop / Claude Code / Cursor). Once you have a client ready, three steps:
1. Install uv (a standalone tool — you do not need Python pre-installed, uv handles the runtime automatically):
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
2. Install globally and run the setup wizard (interactively enter your phone/email and password — credentials stay local). The commands are the same on both systems; run them in Terminal on macOS or PowerShell on Windows:
uv tool install igpsport-mcp
igpsport-mcp --setup
If
igpsport-mcpis not found after installation, open a new terminal/PowerShell window so PATH updates take effect (uv places executables in~/.local/binon macOS,%USERPROFILE%\.local\binon Windows).
The wizard saves credentials to a config file (owner-readable only) and prints a copy-paste ready MCP configuration block. Config file locations:
~/.igpsport-mcp/config.jsonC:\Users\YourName\.igpsport-mcp\config.json3. Paste the printed config into your client, then restart the client (see "Connect to Claude" below).
Want to verify your credentials before pasting? Run
igpsport-mcp --check— it performs a real login and prints ✅ success or ❌ the reason for failure, so you don't add it to your client only to find it broken.
Need to print the config snippet again later?
igpsport-mcp --mcp-configanytime.
Developers / users with an existing Python environment: use
uvx igpsport-mcpfor one-shot runs, or configure via environment variables below instead of the wizard.
Running with no arguments starts the MCP server in stdio mode (this is what your MCP client invokes — you normally don't run it manually). Other subcommands:
| Command | Purpose | |
|---|---|---|
igpsport-mcp --setup | Interactive setup wizard: enter phone/email + password, saved to local config.json | |
igpsport-mcp --mcp-config | Print a copy-paste ready MCP client configuration block | |
igpsport-mcp --check | Perform a real login to verify credentials (account is shown masked) | |
| `igpsport-mcp --lang en\ | zh` | Set output language (also settable via IGPSPORT_LANG env var; default zh) |
igpsport-mcp --version | Print version number | |
igpsport-mcp --help | Show help |
Users who ran the
--setupwizard can skip this section — credentials are already stored. The section below is for users who prefer environment variables, or need to manage credentials across CI / multiple environments. Env vars take priority over config.json.
| Variable | Required | Description |
|---|---|---|
IGPSPORT_USERNAME | ✅ | iGPSport account (phone number for CN / email for international) |
IGPSPORT_PASSWORD | ✅ | Password |
IGPSPORT_REGION | Optional | Region, default cn (China server app.igpsport.cn); international users set intl (app.igpsport.com) |
IGPSPORT_FTP | Optional | Functional Threshold Power in watts. Leave blank to auto-read from your iGPSport profile; set to override |
IGPSPORT_LTHR | Optional | Lactate Threshold Heart Rate in bpm, used for HR zones and hrTSS fallback. Also auto-read from iGPSport; set to override |
IGPSPORT_LANG | Optional | Output language, zh (default) or en |
IGPSPORT_CACHE_DIR | Optional | Cache directory; defaults to ~/.cache/igpsport-mcp (macOS) / C:\Users\You\.cache\igpsport-mcp (Windows) |
IGPSPORT_LOG_LEVEL | Optional | Default INFO |
FTP / LTHR are now auto-read from your iGPSport athlete profile by default (along with body weight and max HR), so you normally don't need to set them manually. Only set the env vars when you want to use thresholds different from what's in the app. If your iGPSport profile also has no FTP set, IF / TSS / CTL / ATL / TSB cannot be computed — either add FTP in iGPSport or set
IGPSPORT_FTP.
Switch to the international edition (app.igpsport.com) by setting IGPSPORT_REGION=intl. The international and China servers use separate accounts — you must register separately at app.igpsport.com.
Differences from the China server:
Example configuration:
# via env vars
export IGPSPORT_REGION=intl export IGPSPORT_USERNAME=your_email@example.com export IGPSPORT_PASSWORD=your_password
Or select "2. International" in the first step of the --setup wizard.
International edition FIT files are stored on OSS in the US (
oss-us-west-1). Downloads may be slightly slower for users in China.
Open the config file claude_desktop_config.json (create it if it doesn't exist), paste the content below, then fully quit and reopen Claude Desktop. File locations:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json (i.e. C:\Users\You\AppData\Roaming\Claude\claude_desktop_config.json)You can also open this file directly from Claude Desktop via Settings → Developer → Edit Config.
After running `--setup` (credentials in config.json, leave env empty — this is what --mcp-config prints):
{
"mcpServers": { "igpsport": { "command": "igpsport-mcp", "args": [], "env": {} } } }
Or skip the wizard and use uvx with environment variables:
{
"mcpServers": { "igpsport": { "command": "uvx", "args": ["igpsport-mcp"], "env": { "IGPSPORT_USERNAME": "your_phone_or_email", "IGPSPORT_PASSWORD": "your_password" } } } }
FTP / LTHR are auto-read from your iGPSport profile by default — no need to set them. Only add
"IGPSPORT_FTP": "250"or"IGPSPORT_LTHR": "160"inenvif you want to override what's in the app.
After the wizard (credentials stored):
claude mcp add igpsport --scope user -- igpsport-mcp
Or with uvx + env vars:
claude mcp add igpsport --scope user \
--env IGPSPORT_USERNAME=your_phone_or_email \ --env IGPSPORT_PASSWORD=your_password \ -- uvx igpsport-mcp
Verify with /mcp or claude mcp list — status should be connected.
OpenClaw uses stdio for MCP, the same protocol as Claude Desktop / Claude Code, so the configuration above works directly.
Method 1: Ask OpenClaw in natural language (recommended)
First install with uv tool install igpsport-mcp and run igpsport-mcp --setup. Then, in your connected chat channel, simply tell OpenClaw:
I installed igpsport-mcp. Help me configure it in OpenClaw.
It will locate the binary path, verify credentials with igpsport-mcp --check, write the config via openclaw mcp add, and probe it — all without you touching a command line or JSON.
Method 2: One-liner
# After the wizard (credentials stored)
openclaw mcp add igpsport --command igpsport-mcp
openclaw mcp add igpsport --command uvx --args igpsport-mcp \ --env IGPSPORT_USERNAME=your_phone_or_email \ --env IGPSPORT_PASSWORD=your_password
This writes to ~/.openclaw/openclaw.json under mcp.servers.igpsport. You can also edit the file manually:
{
mcp: { servers: { igpsport: { command: "igpsport-mcp", args: [], env: {} } } } }
Verification:
openclaw mcp list # should show igpsport
openclaw mcp status # igpsport: stdio openclaw mcp probe # igpsport: 17 tools, resources, prompts
The mcp field is hot-reloaded — no gateway restart needed; it takes effect in the next conversation turn. Use openclaw mcp reload to force-refresh the runtime cache if needed. Then ask questions in natural language from any connected channel (Discord, Telegram, Slack, etc.).
Not connecting? Run
igpsport-mcp --checkin a terminal first to isolate the problem:
- ❌ Login failed → credential issue; re-run
igpsport-mcp --setup.
- ✅ Success but the client still can't connect → likely
igpsport-mcp/uvxisn't in the client's PATH (Claude Desktop in particular often can't see the login shell's PATH). Replacecommandin the config with the absolute path:
- macOS: run
which igpsport-mcp(orwhich uvx) in Terminal, e.g./Users/You/.local/bin/igpsport-mcp.
- Windows: run
where.exe igpsport-mcp(orwhere.exe uvx) in PowerShell, e.g.C:\Users\You\.local\bin\igpsport-mcp.exe. In JSON, backslashes must be doubled, e.g."command": "C:\\Users\\You\\.local\\bin\\igpsport-mcp.exe".
For `uv tool install` installations (both systems), upgrade to the latest:
uv tool upgrade igpsport-mcp
Restart your client after upgrading (fully quit and reopen Claude Desktop; reconnect for Claude Code). Check current version: igpsport-mcp --version.
For `uvx igpsport-mcp` one-shot users, no manual upgrade is needed — uvx uses the latest version by default. If a stale version is cached locally, use
uvx igpsport-mcp@latestor clear the cache withuv cache cleanfirst.
1. Remove the program (same for both systems):
uv tool uninstall igpsport-mcp
2. Remove local credentials and cache (optional, for a complete cleanup):
# macOS / Linux (Terminal)
rm -rf ~/.igpsport-mcp # credentials (config.json) rm -rf ~/.cache/igpsport-mcp # tokens, SQLite, FIT file cache
# Windows (PowerShell)
Remove-Item -Recurse -Force "$env:USERPROFILE\.igpsport-mcp" Remove-Item -Recurse -Force "$env:USERPROFILE\.cache\igpsport-mcp"
3. Remove `igpsport` from your client config: Claude Desktop — delete the igpsport b
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요