# Tally Workout > Tally is a free iPhone strength tracker. Build and log workouts in the app, or connect an AI assistant (Claude, Meta Muse, Claude Code, or any MCP client) to plan workouts from your training history and add them to Tally. Works offline. No ads. ## For AI agents: how to connect to Tally The API is NOT on this domain. This domain (tallyworkout.app) is the marketing site. Every path here returns the marketing page. - MCP endpoint: https://mcp.tallyworkout.app/api/mcp - Transport: Streamable HTTP. No SSE-only mode. - Auth: OAuth 2.1, authorization code + PKCE (S256), public client, dynamic client registration (RFC 7591). Scope: workouts. - Authorization server metadata: https://mcp.tallyworkout.app/.well-known/oauth-authorization-server - Protected resource metadata: https://mcp.tallyworkout.app/.well-known/oauth-protected-resource - Discovery manifest: https://mcp.tallyworkout.app/.well-known/mcp-server (https://tallyworkout.app/.well-known/mcp-server redirects there) - Agent brief on the API host: https://mcp.tallyworkout.app/llms.txt - Register a client: POST https://mcp.tallyworkout.app/api/oauth/register with {"redirect_uris": [...], "client_name": "..."}. Redirect URIs must be https, or literal 127.0.0.1 / [::1] / localhost loopback. - Meta Muse only: its "Add custom connector" sheet requires a Client ID. Use the public client ID tally-muse (PKCE S256; its callback is fixed to https://agent.meta.ai/api/hatch/oauth/callback, so it works for Muse and nothing else). Every other client registers its own client dynamically. - The user signs in on the consent page with their Tally account (email, Google, or Apple). They must use the same sign-in method as in the Tally app, or the assistant sees an empty account. - Tools: get_training_context, get_planned_workout, get_workout_history, search_exercises (read); plan_workout_day, plan_workout_range, delete_planned_workout (write). Write tools never overwrite sets the user already logged. ## Setup steps by assistant - Claude (claude.ai): Settings → Connectors → Add custom connector → paste https://mcp.tallyworkout.app/api/mcp. Sign in on first use. - Claude Code: `claude mcp add --transport http tally https://mcp.tallyworkout.app/api/mcp` - Meta Muse: in the Muse app, Settings → Connectors → Add custom connector. Server URL: https://mcp.tallyworkout.app/api/mcp (the full endpoint, not the bare host). Client ID: tally-muse (a public client ID; Muse's sheet requires one). Muse then opens Tally's sign-in page. Or say in a chat: "Connect my Tally account. MCP server: https://mcp.tallyworkout.app/api/mcp — client ID: tally-muse". - Any other MCP client with OAuth support: add the endpoint above. The client registers itself; no API key is needed. ## Pages - [Home](/): Overview of Tally and the AI-assistant integration. - [Connect an assistant](/connect): Step-by-step setup for Claude, Meta Muse, and Claude Code. - [Privacy Policy](/privacy) - [Terms](/terms)