SuperAPI AI Directory

aim

Workout memory: logs sets, weights, estimated 1RM, per-muscle volume and recovery so the next session is planned from your training history.

Open website

About this tool

AIm is a fitness training logging tool consisting of an MCP server and a mobile web app (PWA). Users can describe a workout in natural language in Claude or ChatGPT, the AI assistant logs it via MCP, and the app displays training plans, history, personal records, estimated 1RM, and load per muscle group. The server provides the user's goals, injuries, and logged weights to the assistant as data, letting the assistant plan based on actual training history rather than giving generic advice.

Main capabilities

  • Logging and editing: log_session, update_session, update_set, delete_session, import_document (can paste export content from other trackers, or a photo of a notebook page).
  • Reading and statistics: get_sessions, get_session, get_stats (training volume, progress, 1RM estimated via the Epley formula), get_program, get_goals, get_body_metrics.
  • Exercise library: search_exercise_pool (a curated global exercise pool with illustrations), list_exercises, upsert_exercise.
  • Coaching context: get_coaching_context returns pure data, including the user's goals, experience, equipment, injuries (and the movement patterns they involve), recent working weights, planning ranges matching the goals, and intake status for the current task (next workout, new plan, weekly review), so the assistant plans based on data rather than a blank slate. How the assistant should use this data is written in the server's MCP instructions. review_program_draft, update_coach_profile, upsert_goal, log_coach_event, log_body_metric are used to keep that context up to date.

How to use MCP server exposes 20 tools via stateless streamable HTTP (FastMCP). There are two ways to connect, both on the same host and resolving to the same user_id:

  • OAuth: the method the connector currently uses. The server is an OAuth 2.1 resource server; unauthenticated calls return 401 with RFC 9728 protected resource metadata, from which the client discovers the authorization server, dynamic registrationitself, approved by the user on the consent page provided by this app. Supabase Auth acts as the authorization server, so no authorization codes or access tokens are stored here; the access token's sub is mapped to the account via users.supabase_user_id. No keys need to be pasted manually.
  • URL token: the earlier-than-OAuth method, still valid, so links already sent to users' inboxes continue to work after OAuth went live. The token-parsing middleware maps the first path segment to the user and scopes every query by user_id; the OAuth path sets the same context variables from the verified token. Two entry points, one set of scoping rules.

Use cases Suitable for users who want to record and plan strength training with an AI assistant, especially those using Claude or ChatGPT who want the assistant to create plans based on their own training history, goals, and injuries. Also suitable for lifters who need to view training volume, progress, estimated 1RM, and muscle group load.

Limitations and notes

  • The project is the source code for a hosted service, not an out-of-the-box self-hosted suite: you need to provide your own Supabase project (migrations are in backend/supabase/migrations/), a Vercel project, and the environment variables listed in .env.example. Analytics, email, and backup integrations are optional and stay dormant without keys.
  • api/index.py and requirements.txt cannot be moved: Vercel's zero-config Python builder only auto-detects functions under the root-level api/, and only installs the root-level requirements.txt alongside it. Other contents in backend/ (pyproject.toml, uv.lock, tests, scripts, supabase/) are hidden from the Vercel build by .vercelignore, so Vercel treats the repository as a static SPA plus one Python function.
  • Some code comments reference unpublished internal planning document paths (such as docs/COACHING_PLAN.md, docs/TEST_CASES.md, docs/DEPLOYMENT.md). These paths cannot be resolved, but the code does not depend on them.
  • Exercise illustrations are CC BY-SA third-party works, each credited in web/ATTRIBUTIONS.mdwith attribution, and their licenses are independent of this repository's license.
  • Tech stack: backend is Python 3.12, FastMCP (stateless HTTP), psycopg3, Supabase Postgres (transaction pool); frontend is Vite, React, Tailwind v4, shadcn/ui, recharts, React Query, vite-plugin-pwa. Hosting is a single Vercel project; vercel.json routes mcp, api, and cron to functions, and the rest to the SPA.
  • License: MIT, see LICENSE.
  • Pricing, specific billing models, etc. are not provided in the material.