Skip to content

v3.1.0 - MCP Apps: inline fitness charts

Choose a tag to compare

@JamsusMaximus JamsusMaximus released this 30 Jul 17:56
· 4 commits to main since this release
fec9563

Three MCP Apps

tp-mcp now ships the official MCP Apps extension (io.modelcontextprotocol/ui): on Apps-capable clients, three tools render interactive UI inline in the conversation alongside their normal text output.

Tool App
tp_get_fitness Interactive CTL/ATL/TSB performance-management chart
tp_get_weekly_summary Week card: per-day load bars, planned vs completed, totals
tp_get_workout Interval-profile viewer for structured workouts (summary fallback otherwise)

PMC chart

Client support status (July 2026)

Claude clients currently connect to local stdio servers over the pre-2026 protocol (verified against Claude Code 2.1.220: legacy initialize, protocolVersion 2025-11-25), and the Apps extension is only visible via the 2026-07-28 server/discover path - so the apps will not render in Claude yet. They ship wired and ready; the moment your client adopts the 2026-07-28 spec for local servers they light up. Tool text output is complete and unchanged either way.

Security

App HTML is fully self-contained (no external requests) and renders every API-derived string - workout titles, coach/athlete comments, step names - via textContent. Each app is tested in headless Chromium against a hostile-string fixture (script/onerror payloads render as inert text). Guard tests enforce no-external-request and no-innerHTML on every registered app.

Also

  • Every tool's text behaviour is identical to 3.0.0 (apps only add _meta and ui:// resources)
  • README: pip install -e ".[browser]" corrected (the old bare form could someday resolve against PyPI)

Full plan and verification trail: docs/mcp-2026-07-28-adoption-prd.md.