← All servers

Phorme Training

warnings

phor.me

Gym workouts with demos, sport gym weeks, coach programs and your training log, saved to Phorme.

https://phor.me/api/mcpWebsiteOAuthMCP 2025-06-18v1.4.1last checked 7 Oct 2026spoke MCP on 1 of 1 check (30 days)initialize in 352 ms

Will my client connect?

Decided from what the probe found at the endpoint, and from what each client's own documentation says it can complete. Every row carries the day that documentation was read.

✓Claude CodeConnects with setup

The registration flow this server advertises is not one Claude Code documents, so register a client with the issuer yourself and give Claude Code the client ID.

claude mcp add --transport http --client-id <your-client-id> --client-secret --callback-port 8080 phorme-training https://phor.me/api/mcp

Claude Code docs · read on 2026-08-30

✓Claude (claude.ai & Desktop)Connects with setup

The registration flow this server advertises is not one Claude (claude.ai & Desktop) documents, so register a client with the issuer yourself and give Claude (claude.ai & Desktop) the client ID.

Settings → Connectors → Add custom connector, then paste https://phor.me/api/mcp. Under Advanced settings, enter the OAuth Client ID and Secret the issuer gave you.

Claude (claude.ai & Desktop) docs · read on 2026-08-30

✓ChatGPTConnects

The authorization server supports Client ID Metadata Documents, so ChatGPT identifies itself by URL with no registration step.

Settings → Apps → Advanced settings → Developer mode, then create a connector pointing at https://phor.me/api/mcp.

ChatGPT docs · read on 2026-08-30

✓CursorConnects with setup

The registration flow this server advertises is not one Cursor documents, so register a client with the issuer yourself and give Cursor the client ID.

{
  "mcpServers": {
    "phorme-training": {
      "url": "https://phor.me/api/mcp"
    }
  }
}

Cursor docs · read on 2026-08-30

✓VS Code (Copilot)Connects with setup

The registration flow this server advertises is not one VS Code (Copilot) documents, so register a client with the issuer yourself and give VS Code (Copilot) the client ID.

{
  "servers": {
    "phorme-training": {
      "oauth": {
        "clientId": "<your-client-id>"
      },
      "type": "http",
      "url": "https://phor.me/api/mcp"
    }
  }
}

VS Code (Copilot) docs · read on 2026-08-30

How to authenticate

Checked against the endpoint by our probe on 7 Oct 2026. These are the capabilities the server advertises, not a prediction about any particular client.

Scheme
OAuth
Issuer
https://phor.me
Dynamic client registration
✕Not advertised
Client ID Metadata Document
✓Supported

A client identifies itself by a URL to its own metadata, so no registration step is required.

PKCE
✓S256
Grant types
authorization_code, refresh_token
Scopes
profile, training:read, training:write
Protected-resource metadata
✓Published (RFC 9728)
Anonymous access
Handshake succeeds; 13 tools listable
Credentials demanded in prose
✕save_workout_to_phorme, save_program_to_phorme, get_training_history, get_lift_progress, get_planned_sessions

These tools are listed anonymously and their own descriptions ask for an account or key, but no challenge is issued — so a client has nothing to act on and the refusal arrives as a tool error.

Documentation
https://phor.me/training/chatgpt-workout-tracking

What the probe found

warningTools needing credentials are listed without a challenge

5 of the 13 tools listed anonymously say in their own descriptions that they need an account or a key (save_workout_to_phorme, save_program_to_phorme, get_training_history, get_lift_progress, get_planned_sessions), but the endpoint issued no WWW-Authenticate challenge. The requirement is stated only in prose, so a call reaches the tool and comes back as a tool error instead of an authorization step.

No CORS headers for browser-based clients

A cross-origin preflight came back without Access-Control-Allow-Origin, so the endpoint is reachable from native clients only — code running in a web page is stopped by the browser before a request is ever sent.

13 tools usable without signing in

The server exposes a public surface before authorization: preview_workout_import, save_workout_to_phorme, preview_program_import, save_program_to_phorme, get_saved_training, render_training_import, preview_sport_week, find_exercise_swap, get_training_history, get_lift_progress, get_planned_sessions, search_phorme_programs, get_phorme_program.

Tools

find_exercise_swapget_lift_progressget_phorme_programget_planned_sessionsget_saved_trainingget_training_historypreview_program_importpreview_sport_weekpreview_workout_importrender_training_importsave_program_to_phormesave_workout_to_phormesearch_phorme_programs

Contract history

7 Oct 2026v1.4.1first recorded contract

Watch this server

Save its public contract as a baseline and manage breaking-change email alerts.

Set up a watch

Own this server?

Sign in to claim this listing by proving control of its host.

Status badge

Status for a README, from the last probe — cached an hour, so up to seven hours behind the endpoint. Links back to this page.

MCP status badge for Phorme Training
[![MCP status](https://mcpi.app/servers/phorme-training/badge.svg)](https://mcpi.app/servers/phorme-training)