Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Ask AI apps about your own Garmin data via Garmin's official Personal API. Unofficial.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
GARMIN_PERSONAL_API_KEYค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"ownmetrics": {
"command": "uvx",
"args": [
"ownmetrics-mcp"
],
"env": {
"GARMIN_PERSONAL_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add ownmetrics --env GARMIN_PERSONAL_API_KEY='ใส่ค่าของคุณ' -- uvx ownmetrics-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"ownmetrics": {
"command": "uvx",
"args": [
"ownmetrics-mcp"
],
"env": {
"GARMIN_PERSONAL_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"ownmetrics": {
"type": "stdio",
"command": "uvx",
"args": [
"ownmetrics-mcp"
],
"env": {
"GARMIN_PERSONAL_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub badisbenhamida ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: GARMIN_PERSONAL_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.3.1) เข้า registry 10 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Tethered Trust
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Fit, compatibility and recall checks for AI agents before they buy: verdicts, evidence, receipts.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Ask Claude, ChatGPT or any MCP-capable AI app about your own Garmin data: sleep, HRV, stress, Body Battery, heart rate, activities and more. It uses Garmin's official Personal API, runs on your own computer, and is read-only.
Unofficial project. Not affiliated with, endorsed by or supported by Garmin.
"Garmin" and "Garmin Connect" are trademarks of Garmin Ltd. or its subsidiaries.
Results are informational, not medical advice.
Status: v0.3 (preview). Nine data tools and five insight tools (training summaries, period comparisons, trends, training vs sleep, weekly review). FIT-file analysis is next.
ownmetrics-mcp- .mcpb from the latest release.ownmetrics-mcp auth? Leave the field blank.)The bundle isn't signed yet, so Claude Desktop may show a warning before installing. The first start downloads a few Python packages, so it needs internet and can take a moment.
For Claude Code, ChatGPT desktop, Cursor and other apps that support MCP servers, or if you prefer Claude Desktop's config file:
uv runs Python tools without any manual setup.
curl -LsSf https://astral.sh/uv/install.sh | shpowershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"uvx ownmetrics-mcp auth
Paste the key when asked (it stays hidden). It is checked with Garmin, then saved to ~/.config/garmin/connect-personal-api-key in your home folder. On macOS and Linux the file is readable only by you; on Windows it sits in your user profile folder, protected by your Windows account.
Claude Desktop: Settings → Developer → Edit Config, then add:
{
"mcpServers": { "ownmetrics": { "command": "uvx", "args": ["ownmetrics-mcp"] } } }
Restart Claude Desktop.
Claude Code:
claude mcp add ownmetrics -- uvx ownmetrics-mcp
Other apps: use command uvx with the argument ownmetrics-mcp.
uvx keeps the version it first downloaded. To move to the latest release, run uvx ownmetrics-mcp@latest --version, then restart your AI app.
Then ask: *"Check my Garmin connection, then summarize my sleep and HRV for the last week."*
| Tool | What it returns |
|---|---|
get_daily_overview | One day: steps, distance, floors, heart rate, stress, Body Battery, calories, intensity minutes, sleep |
get_sleep | Per night: hours, deep/light/REM/awake, score, Garmin's feedback, heart rate, respiration |
get_hrv | Per night: HRV last-night and weekly average, 5-minute high, status, baseline |
get_stress_and_body_battery | Per day: stress level, time in each stress band, Body Battery high/low/charged/drained |
get_heart_rate | One day: resting, min, max, 7-day resting average; your heart rate zones |
list_activities | Activities in a date range, optionally by type, with duration, distance, heart rate |
get_activity | One activity: pace, speed, power, cadence, training effect and load, splits |
get_body_metrics | Weigh-ins, BMI, body fat, hydration; Pulse Ox and fitness age |
get_account_status | Whether your key works, a warning in its final day, which of the data areas above respond |
Insight tools do the fetching and the math in one call, over up to a year:
| Tool | What it answers |
|---|---|
training_summary | Training by week or month: sessions, hours, hours per week, evening sessions, per-sport breakdown |
compare_periods | Two periods side by side: sleep, HRV, resting heart rate, stress, Body Battery, steps, training, with change and % change |
recovery_correlations | Whether training goes with better or worse sleep and HRV the night after, with sample size and strength. Correlation, not cause. |
trend | One metric by day, week or month, with direction (up, down or flat) and change per 30 days |
weekly_review | The same review every time: this week (so far) against the same days last week and your previous 28 days, best and worst nights, and highlights from fixed rules |
Sleep and HRV are dated by the morning the night ended (woke_up_on), as Garmin does. Pace is shown for running, walking and hiking; speed for other sports; distance says "not applicable" for sports like strength training or pilates.
Every field name carries its unit (resting_hr_bpm, distance_km, sleep_score_0_100). Where Garmin has no value, the field says "not recorded", never zero.
Details: PRIVACY.md · THREAT_MODEL.md · Report vulnerabilities: SECURITY.md
Use of Garmin's API is subject to Garmin's terms: your key is personal to you and must not be shared.
uvx isn't found, use its full path (run which uvx in Terminal) as the command.uvx ownmetrics-mcp statusThis project is built with spec-driven development. SPEC.md holds numbered requirements and the non-negotiable rules; every requirement traces to tests in TRACEABILITY.md, which CI regenerates and checks on every change. Contributions follow the same path: see CONTRIBUTING.md.
Built on Garmin's official connect-personal-api-python client and the Model Context Protocol Python SDK.
MIT