Tally Workout

io.github.westveghPublished by GitHub account westveghv1.1.0Updated Oct 24, 2026

iPhone strength log. Any MCP agent reads your training and plans workouts in the Tally app.

The publisher's own server: Tally

VerifiedStreamable HTTPWeb executableLocation & LifestyleProductivity & Workflow

Overview

AI-generated overview

Remote MCP server for Tally, a free iPhone strength log, letting an assistant read your training history and plan or edit workouts in the app.

What you can do
  • Read training context, workout history, single workouts, planned days and saved templates
  • Check exercise progress, estimated 1RM, exercise details and weekly training summaries
  • Create or replace planned days, including ranges of up to 31 days, and update, move, skip or delete plans
  • Log, change, delete or restore finished workouts, and list restorable versions
  • Send a feedback message to the Tally team
When to use it
Useful if you log lifts in the Tally iPhone app and want an assistant to plan next week's sessions from what you actually lifted, review progress, or make requested changes to finished workouts.
Requirements
Remote Streamable HTTP endpoint; no local install. Needs the Tally iPhone app and a Tally account. Authentication is OAuth 2.1 (scope workouts) or, for clients without OAuth, an API key from the app's Settings sent as an Authorization bearer header. Write access to finished workouts requires a Full access key or an OAuth connection.
Before you install
The server can create, change, move, skip and delete planned days, and log, update, delete or restore finished workouts; changes are kept for 7 days for undo. Keys are read-only, read-and-plan, or full access, and do not expire, so revoke unused ones in the app. Days built or edited in the app are protected unless an override is requested. Version checks reject writes if data changed after reading.

Installation

In SourceWeft

  1. Open Tally Workout in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.westvegh%2Ftally-workout/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "tally-workout": {
      "type": "http",
      "url": "https://mcp.tallyworkout.app/api/mcp"
    }
  }
}

README

Tally Workout MCP server

Docs for the remote Model Context Protocol server of Tally Workout, a free iPhone strength log. Your AI agent reads your training history and plans workouts in the Tally app. You log every set at the gym. Next week, the agent plans from what you actually lifted. When you ask, the agent can also log, change or delete a finished workout, and you can undo each change for 7 days.

It works with Claude, Claude Code, Codex, ChatGPT, Muse, Hark, Perplexity, Dots and any MCP client that supports OAuth 2.1 or a bearer token.

This repo holds the public docs. The server is first-party and closed source. It runs as part of the Tally backend.

Endpoint

https://mcp.tallyworkout.app/api/mcp
  • Transport: Streamable HTTP. No SSE-only mode.
  • Auth, option 1: OAuth 2.1, authorization code + PKCE (S256), public client, dynamic client registration (RFC 7591). Scope: workouts.
  • Auth, option 2: an API key, for clients without OAuth. Create it in the Tally app under Settings → API keys. Send it as Authorization: Bearer tally_ct_…. A key is Read only, Read and plan, or Full access. Only a Full access key or an OAuth connection can change finished workouts. Keys do not expire. Revoke a key in the app.
  • Discovery: /.well-known/mcp-server, agent brief (llms.txt).

Setup by agent

You need the Tally iPhone app and a Tally account. Each link has the full steps.

AgentAuthSteps
Claude (web, desktop, phone)OAuthAdd Tally Workout from Claude's directory. Steps
Claude CodeOAuth or API keyclaude mcp add --scope user --transport http tally https://mcp.tallyworkout.app/api/mcp, then /mcp. Steps
CodexAPI keyThree lines in ~/.codex/config.toml. Steps
ChatGPTOAuthDeveloper mode. Pro reads only. Business, Enterprise and Edu can plan. Steps
MuseOAuthClient ID tally-muse. Steps
HarkAPI keySteps
PerplexityAPI keySteps
DotsAPI keyNot tested yet. Steps
Any MCP clientOAuth or API keySteps

Tools

21 tools: 10 read, 11 write.

ToolTypeWhat it does
get_training_contextreadReturns planned days from today, the weight unit and, with historyWeeks, recent workouts.
get_workout_historyreadReturns logged workouts, newest first, set by set. Each workout has a stable id.
get_workoutreadReturns one logged workout by its id, set by set.
get_exercise_progressreadReturns progress for up to 10 exercises over the last 365 days, with top sets and estimated 1RM.
get_planned_workoutreadReturns one planned day in full, with its version.
search_exercisesreadMatches exercise names to the user's recent exercises and the Tally library.
get_exercisereadReturns one exercise by its id: muscles, equipment and instructions, or the user's custom exercise.
get_training_summaryreadReturns weekly totals for up to 12 weeks: workouts, sets, volume, time, volume by muscle, and missed or skipped plans.
get_saved_workoutsreadReturns the user's saved and favorite workout templates.
get_workout_versionsreadLists the restorable versions of one finished workout, also a deleted one.
plan_workout_daywriteCreates or replaces one planned day.
plan_workout_rangewriteCreates or replaces up to 31 planned days in one call.
update_planned_workoutwriteChanges part of one planned day: add, remove or change exercises.
move_planned_workoutwriteMoves a planned day to an empty date.
skip_planned_workoutwriteMarks a planned day as skipped, or restores it. Only the status changes.
delete_planned_workoutwriteRemoves a planned day and returns it, so you can undo.
log_workoutwriteLogs a finished workout to the user's history. Full access.
update_workoutwriteChanges one finished workout at its current version: fields, exercises or sets. Full access.
delete_workoutwriteDeletes one finished workout at its current version. Full access.
restore_workoutwriteMakes an earlier version of a finished workout current again, within 7 days, also after a delete. Full access.
send_feedbackwriteSends a message from the user to the Tally team. Limit: 5 messages a day.

Rules

  • Finished workouts change only when the user asks. log_workout, update_workout, delete_workout and restore_workout need a Full access key or an OAuth connection. update_workout and delete_workout need the workout's version from get_workout as expectedVersion. Each change keeps the earlier content for 7 days: get_workout_versions lists it and restore_workout brings it back. All except restore_workout need a phone on the current Tally app.
  • Some days are protected. A day the user built in the app, or edited, is protected. The plan, update, move and delete tools skip it unless the user asks for an override.
  • Edits check the version. If a day or a finished workout changed after the agent read it, nothing is written and the result reports a conflict.
  • Each user sees only their own data. OAuth tokens and API keys are scoped to one account. The user can revoke them at any time.

Links

Source: README.md at commit 775cec5

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

2
  1. v1.1.0LatestOct 15, 2026
  2. v1.0.0Sep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Tally integrations