Manage clients, plans, sessions, habits, and billing on Trainzilla via one-click OAuth.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
A local MCP server that lets an MCP client
(Claude Desktop, Claude Code, Cursor, β¦) act as a Trainzilla coach. It wraps
the existing GraphQL API at api.tzilla.live β no direct DB access β so all
auth and business rules stay enforced by the backend.
Status: Local MVP β read tools, offline calculators, and confirm-gated write tools, plus a resource + a prompt. Not deployed anywhere. Runs entirely on your machine against your own coach login.
Read (live data):
whoami, list_clients, get_client_profilelist_client_habits, get_habit_compliance, recent_habit_activity, master_habitslist_workout_plans, list_diet_planslist_checkins, list_sessions, list_subscriptions, billing_summaryCalculators (offline, no network):
calc_tdee β BMR / TDEE / recommended caloriescalc_macros β macro split by strategy (Standard 40/30/30, Pro g/kg, Keto)calc_1rm β 1-rep-max (Epley) + %1RM weight suggestionsWrite (confirm-gated): every write tool returns a preview unless called
with confirm: true, so nothing changes by accident:
create_habit, create_master_habit, assign_master_habitcreate_checkin (with questions), schedule_sessioncreate_workout_plan, create_diet_planStill not exposed: deletes, payment execution/refunds, messaging, permission changes β by design.
Resource: tzilla://client/{clientId}/profile β a client's profile as JSON.
Prompt: weekly_client_review β pulls profile/habits/compliance/sessions and
writes a read-only weekly review.
Create .env (see .env.example) with a coach's tokens. Easiest source β log in
to the coach web app, then in the browser console:
The server auto-refreshes the access token via refreshAccessToken when it expires.
Local (stdio) β for Claude Desktop etc.:
npm run devnpm startnode scripts/smoke.mjsRemote (Streamable HTTP) β localhost only, multi-coach:
npm run http Β· Built: npm run start:httphttp://127.0.0.1:8787/mcp (set MCP_HTTP_PORT / MCP_HTTP_HOST).node scripts/smoke-http.mjsTZ_ACCESS_TOKEN (+ TZ_REFRESH_TOKEN) from env; auto-refreshes.TZ_API_URL wins when set.TZ_ENVIRONMENT=staging uses https://qa-be2.tzilla.live/graphql.https://api.tzilla.live/graphql.Authorization: Bearer tz_... or x-api-key). The server never stores tokens;
it forwards the caller's key to the GraphQL API, so the backend enforces scope
(multi-coach safe). API keys are minted by the backend feature below.tzilla-be, local β not deployed yet)createApiKey(name) β returns the plaintext tz_β¦ key once + infoapiKeys (list, no secret) Β· revokeApiKey(id)tz_ keys (header x-api-key or Bearer), resolves the
owning coach, and stamps lastUsedAt. Only a SHA-256 hash is stored.Add to claude_desktop_config.json (Settings β Developer β Edit Config):
Restart Claude Desktop, then try: "Use tzilla-coach: who am I, and list my clients."
tzilla-be, local β needs PR + deploy)No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/trainzilla-coach-mcp)<a href="https://allmcps.com/mcp/trainzilla-coach-mcp"><img src="https://allmcps.com/api/badge/trainzilla-coach-mcp?style=directory" alt="Trainzilla Coach MCP on AllMCPs" /></a>