ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Futureweb Intervals MCP

โดย futurewebรุ่น 1.0.0b2i★ –iรันบนเครื่อง
ชื่อใน registryio.github.futureweb/intervals-mcp-server

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Self-hosted Intervals.icu MCP server: training analytics, Garmin data, wellness, workout planning

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: การตลาดและโซเชียล
  • ต้องใส่ค่าเหล่านี้: API_KEY, ATHLETE_ID

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "intervals": {
      "command": "uvx",
      "args": [
        "futureweb-intervals-mcp"
      ],
      "env": {
        "API_KEY": "ใส่ค่าของคุณ",
        "ATHLETE_ID": "ใส่ค่าของคุณ",
        "MCP_PERMISSIONS": "ใส่ค่าของคุณ",
        "MCP_TOOLSET": "ใส่ค่าของคุณ",
        "ATHLETE_TIMEZONE": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add intervals --env API_KEY='ใส่ค่าของคุณ' --env ATHLETE_ID='ใส่ค่าของคุณ' --env MCP_PERMISSIONS='ใส่ค่าของคุณ' --env MCP_TOOLSET='ใส่ค่าของคุณ' --env ATHLETE_TIMEZONE='ใส่ค่าของคุณ' -- uvx futureweb-intervals-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "intervals": {
      "command": "uvx",
      "args": [
        "futureweb-intervals-mcp"
      ],
      "env": {
        "API_KEY": "ใส่ค่าของคุณ",
        "ATHLETE_ID": "ใส่ค่าของคุณ",
        "MCP_PERMISSIONS": "ใส่ค่าของคุณ",
        "MCP_TOOLSET": "ใส่ค่าของคุณ",
        "ATHLETE_TIMEZONE": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "intervals": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "futureweb-intervals-mcp"
      ],
      "env": {
        "API_KEY": "ใส่ค่าของคุณ",
        "ATHLETE_ID": "ใส่ค่าของคุณ",
        "MCP_PERMISSIONS": "ใส่ค่าของคุณ",
        "MCP_TOOLSET": "ใส่ค่าของคุณ",
        "ATHLETE_TIMEZONE": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • API_KEY ความลับ จำเป็น env
    Intervals.icu API key (Settings > Developer Settings)
  • ATHLETE_ID จำเป็น env
    Intervals.icu athlete ID
  • MCP_PERMISSIONS env
    Enabled tool classes: read (default, read-only), read,write, or all (adds destructive and admin tools)
  • MCP_TOOLSET env
    full (every tool of the enabled classes) or core (curated coaching set)
  • ATHLETE_TIMEZONE env
    Time zone for 'today' and default date ranges, e.g. Europe/Vienna; default: the Intervals.icu athlete profile

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub futureweb ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด การตลาดและโซเชียลi

  • ดาวมากกว่า 0% ของอีก 2954 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 58% ของอีก 2954 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 2954 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Futureweb Intervals MCP ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: API_KEY, ATHLETE_ID

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.0b2) เข้า registry 22 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv), Docker ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

MCP YouTube Transcript

โดย jkawamoto

An MCP server retrieving transcripts of YouTube videos

รันบนเครื่อง★ 495MITอัปเดต 9 วันที่ผ่านมา
ติดตั้ง

Google Analytics MCP

โดย surendranb

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

รันบนเครื่อง★ 244MITอัปเดต 9 วันที่ผ่านมา
ติดตั้ง

AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.

รันบนคลาวด์★ 137MITอัปเดต 9 วันที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

Futureweb Intervals MCP

Advanced Intervals.icu MCP server for ChatGPT, Claude and every MCP client: Garmin-enriched metrics, every custom field and stream, recovery insights and endurance performance analysis.

A Model Context Protocol server that lets AI assistants read and analyse your Intervals.icu training data the way a coach would: activities with every custom field and stream, intervals, wellness against personal baselines, thresholds and zones, planned-versus-executed workouts, climbs, dual power meters, best efforts, efficiency and fatigue resistance, nutrition and weight, training summaries and the calendar. It runs where you run it, talks only to the Intervals.icu API and exposes nothing that writes unless you enable it.

Continuation of [mvilanova/intervals-mcp-server](https://github.com/mvilanova/intervals-mcp-server).

The original project is no longer actively developed (last commit on 2 August 2026, 29

pull requests left open). This community-maintained fork carries it on: the useful

open pull requests were reviewed and merged with their authors credited, the bugs fixed, and the

server rebuilt around coaching analysis, Garmin data and safe remote access. Not affiliated with

Intervals.icu or Garmin.

Companion project: the Garmin Intervals Bridge puts back the metrics Garmin strips from the files it sends to Intervals.icu (stamina, training effect, recovery time, VO₂max, running dynamics, sleep and HRV details …). This MCP is built to read all of it, but works just as well without the bridge.

For the mountains: intervals-summits writes the summits, huts and passes of your activities into custom fields (Summits, SummitCount). This MCP reads them like any other field, so your assistant knows which summits a tour reached: ask which ones you climbed this year, or how often.

Contents

Highlights

  • Every custom item, resolved dynamically. Custom activity fields, interval fields, streams and wellness fields are read from your own definitions and reported with name, code, value and units. Nothing device-specific is hard-coded; null, NaN, zero and absent stay distinct, fields that do not belong to the sport are kept apart, and device loads are never mixed with the Intervals.icu load.
  • Streams at full resolution. Any stream as summary, CSV or JSON, sliced by index or time, downsampled and paged, plus per-interval statistics of any stream (for example the stamina drop of each interval).
  • Coaching analysis instead of raw dumps. One-call activity report, planned versus executed per step (also for deleted events and rides extended beyond the plan), climbs and descents, second power meter check, best efforts, similar intervals, repeated workouts over time, power-to-heart-rate efficiency, fatigue resistance, training load (acute:chronic ratio, monotony, strain), three-zone intensity distribution with polarization index, aerobic durability, load projection over the plan, recovery snapshot with 42-day baselines, wellness trends and correlations, nutrition and weight trends, weekly and monthly summaries. Statistics with their sample sizes; the interpretation stays with the coach.
  • Token-efficient. detail_level (compact, standard, full) and output_format="json" on the heavy tools, a compact tool catalogue (about 23k tokens for read and write, an optional core set of about 10k), 13 ready-made coaching prompts and method guides as MCP resources and through get_guide.
  • Safe remote access. Built-in OAuth 2.1 server with "Continue with Intervals.icu" sign-in, a consent page with per-connection permissions, client metadata documents with private_key_jwt (ChatGPT), PKCE and RFC 9207. Streamable HTTP (/mcp) and SSE from one process.
  • Safe, verifiable writes. Workouts are validated before they are written, dry_run shows the exact request, a second identical event on the same day is refused, and every write reads back what Intervals.icu stored and parsed.
  • Route-aware outdoor workouts. Steps that end on the lap button (until_lap_press) let you start the next interval where the road suits it, e.g. at the foot of a climb, while the work steps stay timed. Confirmed on a Garmin Edge 1040 on the bike (see below).
  • Read-only by default. Tools are grouped into permission classes (read, write, destructive, admin) enforced on the server; only read is active unless you enable more.
  • Tested. More than 1,100 tests on synthetic data, ruff, mypy, CodeQL, pinned GitHub Actions, build and Docker smoke tests on every pull request.

Works with the Garmin Intervals Bridge

Garmin device ──► Garmin Connect ──► official sync ──► Intervals.icu activity (filtered FIT)

│ ▲ └── Garmin Intervals Bridge ──────────┘ restores custom fields, streams, wellness │ Futureweb Intervals MCP (this project) │ ChatGPT / Claude / any MCP client

The Garmin Intervals Bridge writes the metrics Garmin filters out into the custom activity fields, custom streams and wellness fields you defined in Intervals.icu. The MCP reads those definitions at run time, so every restored value shows up in the tools automatically:

Restored by the bridgeWhere the MCP shows it
Training effect, EPOC, Garmin training load, recovery time, VO₂max, performance condition, stamina start/end, sweat loss, temperaturesget_activity_details, get_activity_report, get_training_summary, get_training_load (device loads apart from the Intervals.icu load), get_fueling_analysis (sweat loss per hour), get_activity_data_audit (which fields still hold a zero placeholder or no value)
Stamina and potential stamina, second power meter, grade-adjusted speed, gear selection, running dynamics streamsget_activity_streams, get_activity_intervals, analyze_workout_execution, analyze_climbs, compare_power_streams
Night SpO₂, respiration, sleeping HR, HRV details, Body Battery, sleep stages and stress, readiness, nutritionget_wellness_data, get_recovery_snapshot, get_wellness_trends, get_nutrition_summary

The MCP never contacts Garmin; the bridge is optional and other devices or sync tools that fill custom items get the same treatment. Worked examples and notes on reading the device metrics correctly: docs/GARMIN_BRIDGE.md.

Tools

67 tools; 52 of them only read. Write tools are marked ✎ (write), ✖ (destructive) or ⚙ (admin) and are hidden unless their class is enabled. Most tools accept output_format="json" and detail_level (compact first). Tools never take an API key: credentials come only from the server environment.

The catalogue is kept small for the AI client: short descriptions that say when to use a tool, a description and (where the values are fixed) an enum for every parameter, and text results without a duplicate structured copy. Method details and the workout format live in MCP resources (intervals://methods/ , intervals://workout-syntax) and in get_guide(topic) for clients that only call tools. tools/list is about 22.7k tokens at MCP_PERMISSIONS=read,write (was 42.0k; cl100k); see Tool sets for a smaller set.

Activity analysis

ToolWhat it does
get_activity_reportComplete analysis in one call: overview with fueling (carbs used/ingested per hour, sweat loss, energy), weather (temperature, feels-like, wind, head/tailwind share) and W′ balance (max depletion, time below 75/50/25 % of W′), plan vs execution or intervals, second power meter check, climbs, data-quality notes (source, upload and analysis times, recording stops, zero placeholders); include_route_history compares earlier activities on the same Intervals.icu route (time, power, W/kg, HR, weather, stamina); detail_level compact (core numbers, one context line and key findings, about 2-2.5k characters), standard or full
get_activity_data_auditProvenance and data quality of one activity: source and file (Garmin sync, Garmin export or bridge upload, Strava stub), upload and analysis times, filtered duplicates, recording stops and gaps, FIT laps vs intervals and manual edits, device and sensor identity, streams usual for the sport but missing, per-stream coverage, custom fields with value / zero placeholder / none and what the Garmin Intervals Bridge could fill; without an activity, the per-sport data coverage of a period

| analyze_workout_execution | Planned vs executed per step (duration, target adherence, time in range, HR response, fade, Pw:HR drift with the Intervals.icu decoupling sign, stamina). A step ma

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx