FitTrack MCP Server
Allows querying user fitness data stored in Supabase, enabling retrieval of workouts and nutrition information.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@FitTrack MCP Servershow my recent workouts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
FitTrack MCP Server
This project contains a Model Context Protocol (MCP) server for FitTrack. The server will let an AI assistant, such as Claude, answer questions about a user's FitTrack data after the user provides a short-lived personal access token generated inside the FitTrack app.
The detailed build plan lives in plan.txt.
Purpose
The MCP server is a separate service from the FitTrack web app. It will:
receive requests from an MCP-compatible AI assistant;
validate the user's FitTrack access token on every request;
resolve that token to exactly one FitTrack user;
read only that user's data from Supabase;
expose safe, focused tools for fitness questions and logging.
The FitTrack web app is not called directly by this server. Both the web app and this server read from the same Supabase database.
Related MCP server: garmin-mcp
Current Status
Phase 0 is implemented as a local Python MCP server over Streamable HTTP, with fake data and hardcoded token validation.
Planned Phases
Phase | Goal | Status |
0 | Local Streamable HTTP MCP server with fake responses and token checking | Implemented |
1 | Public deployment with fake responses | Ready to deploy |
2 | Online testing with MCP Inspector and a real assistant | Not started |
3 | Supabase-backed token lookup and real FitTrack data | Not started |
4 | Safety review for expiry, revocation, isolation, and rate limits | Not started |
5 | Everyday Claude usage | Not started |
Phase 0 Scope
Phase 0 creates the smallest useful server:
Python project setup;
local Streamable HTTP MCP server entry point;
one shared token-checking checkpoint;
one known hardcoded token fingerprint;
fake tools such as recent workouts or today's nutrition;
clear rejection when the token is missing or invalid.
Phase 0 should not include Supabase, hosting, real user data, Google login, or production secrets.
Running Locally
Install dependencies:
uv sync --extra devThis project requires Python 3.10 or newer.
Run tests:
uv run pytestStart the local MCP server over Streamable HTTP:
uv run fittrack-mcpKeep that command running while an MCP client connects.
The local MCP endpoint is:
http://127.0.0.1:8000/mcpFor clients that specifically need stdio instead of HTTP, use:
uv run fittrack-mcp-stdioThe Phase 0 MCP tools are:
recent_workoutstoday_nutrition
Both tools require the token argument. Wrong or missing tokens return:
{
"ok": false,
"error": "authentication failed"
}Deploying Phase 1
Phase 1 deploys the same fake-data MCP server to a public HTTPS URL.
Deploy with Vercel:
vercelAfter deployment, the MCP endpoint should be:
https://<your-vercel-project>.vercel.app/mcpUse the local Phase 0 development token while testing Phase 1. Keep that token outside Git.
The deployment entrypoint is app.py, which exposes the MCP server as an ASGI app for Vercel.
Security Principles
The token is the identity.
The assistant never gets to claim which user it is acting for.
Every request is authenticated independently.
Token checking happens in one shared place.
Real tokens should never be stored directly, only their one-way fingerprints.
Once Supabase is connected, every data query must be scoped to the user resolved from the token.
Notes
The intended implementation language is Python, using the standard MCP toolkit. Hosting is expected to start with Vercel, with Railway or Render as fallback options if the server shape fits those platforms better.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/taimoorahmed91/MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server