Lifestyle MCP Gym
Lifestyle MCP Gym
Lifestyle MCP Gym ist eine agentenbereite Datenschicht für Fitnessstudio und Personaltrainer: Menschen verwalten Ernährung, benutzereingegebene Lebensmittel, Workouts, Körpermetriken und deterministische Wellness-Schätzwerte über ein responsives Dashboard und eingeschränkte JSON-RPC-MCP-Tools.
Funktionen
Registrierung und Anmeldung von Menschen mit Passwort-Hashing, sicheren HTTP-only-Sitzungscookies, Zielen, Erfahrung, Zeitzone und Einwilligung.
Agentenregistrierung mit eingeschränkten Fähigkeiten, optionalem HTTPS-Webhook, Besitzer-Metadaten und einer Antwort mit einem einmaligen Geheimnis. Es wird nur ein Hash gespeichert.
Workout-Tracking: Übungen, Sätze, Wiederholungen, Gewicht, Dauer, Notizen und letzte Aktivitäten.
Körpermetriken: Gewicht, Körperfett, Taillenumfang, Datum und Notizen.
Ernährungsprofile und begrenzte Lebensmittelprotokolle. Nährwerte werden immer vom Benutzer eingegeben und niemals erfunden.
Deterministischer Mifflin-St Jeor BMR, aktivitätsfaktor-neutrale Erhaltungskalorien, explizite zielangepasste Kalorien und gewichtsbasierte Makro-Schätzungen mit versionierten Annahmen, Warnungen bei Vorzeichenkonflikten, Hinweisen bei fehlenden Eingaben, Sicherheitsuntergrenzen und Wellness-Haftungsausschlüssen.
Coaching-Kontext mit einem einzigen Aufruf mit Ernährungsprofil, berechneten Zielen, heutiger Ernährung, letzten Trainingsstatistiken, neuesten Körpermetriken und expliziten nächsten Schritten.
MCP-JSON-RPC-Endpunkt unter
/api/mcpmitinitialize,tools/listundtools/call.Eingeschränkte MCP-Tools für Workouts, Metriken, Ernährung, Coaching-Kontext, Agentenregistrierung und Dashboard-Zugriffslinks.
Related MCP server: wger MCP Server
Lokal ausführen
Voraussetzungen: Node.js 20+ und npm.
npm install
cp .env.example .env.local
npm run devÖffnen Sie http://localhost:3000.
Der standardmäßige lokale Speichertreiber ist eine JSON-Datei unter .data/lifestyle-gym.json. Sie ist für die lokale Entwicklung nützlich und wird von Git ignoriert. Um stattdessen einen expliziten Demo-Speicher zu verwenden:
LIFESTYLE_STORAGE_DRIVER=memory npm run devDer In-Memory-Speicher wird beim Neustart des Serverprozesses zurückgesetzt.
Umgebung
Siehe .env.example:
SUPABASE_URL: Projekt-URL aus den Supabase-API-Einstellungen.SUPABASE_SERVICE_ROLE_KEY: Service-Role-Geheimnis aus den Supabase-API-Einstellungen.LIFESTYLE_STORAGE_DRIVER: Lokaler Fallback, entwederfileodermemory.LIFESTYLE_DATA_FILE: Optionaler Pfad für lokalen JSON-Speicher.
Wenn beide Supabase-Variablen vorhanden sind, wählt der Server automatisch SupabaseStorage; andernfalls bleibt das bestehende Datei-/Speicherverhalten erhalten. Auf Vercel ist der Fallback ein prozesslokaler Speicher, sofern nicht explizit der Datei-Treiber ausgewählt wird.
Sicherheit: SUPABASE_SERVICE_ROLE_KEY ist nur für den Server bestimmt. Stellen Sie ihm niemals NEXT_PUBLIC_ voran, importieren Sie den Speicheradapter nicht in Client-Code, geben Sie den Schlüssel nicht aus und committen Sie ihn nicht. Die App speichert Passwort-Hashes, Sitzungs-Token-Hashes und Agent-Geheimnis-Hashes; rohe Agent-Geheimnisse werden nur einmal zurückgegeben.
Supabase-Setup
Erstellen Sie ein Supabase-Projekt.
Verbinden Sie die Supabase-CLI mit dem Projekt und wenden Sie die eingecheckte Migration an:
npx supabase@latest link --project-ref YOUR_PROJECT_REF npx supabase@latest db pushDie eingecheckten Migrationen sind idempotent und können bedenkenlos erneut ausgeführt werden.
Kopieren Sie die Projekt-URL und den Service-Role-Schlüssel in
.env.localfür einen lokalen Server mit Supabase-Backend.Starten Sie den Next.js-Server neu und bestätigen Sie, dass
/api/statusden Speichermodussupabasemeldet.
Die Migrationen erstellen normalisierte Menschen, Sitzungen, Agenten, Workouts, Workout-Übungen/-Sätze, Körpermetriken, Ernährungsprofile und Ernährungseinträge. Row Level Security ist auf jeder Tabelle aktiviert. Es gibt bewusst keine öffentlichen Richtlinien: Der gesamte Datenzugriff erfolgt über den serverseitigen Service-Role-Client.
MCP-Schnellstart
Registrieren Sie einen Menschen im Dashboard und erstellen Sie dann einen Agenten. Das Agent-Geheimnis wird einmal angezeigt. Senden Sie es als Bearer-Token:
curl -s https://YOUR_DEPLOYMENT/api/mcp \
-H 'content-type: application/json' \
-H 'authorization: Bearer YOUR_AGENT_SECRET' \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
curl -s https://YOUR_DEPLOYMENT/api/mcp \
-H 'content-type: application/json' \
-H 'authorization: Bearer YOUR_AGENT_SECRET' \
--data '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'Browser-Sitzungen von Menschen können den Endpunkt vom selben Ursprung aus aufrufen. Agent-Tool-Aufrufe erfordern die entsprechenden Scopes. Die vorhandenen Workout- und Metrik-Scopes bleiben unverändert. Ernährungstools verwenden nutrition:read oder nutrition:write; get_coaching_context verwendet nur coaching:read, das den aggregierten Lesezugriff autorisiert, ohne separate Ernährungs-, Workout- oder Metrik-Tools zu gewähren.
LLM-fähiger Coaching-Kontext
Ein Agent mit coaching:read kann alle fundierten Coaching-Eingaben in einem einzigen Aufruf abrufen:
curl -s https://YOUR_DEPLOYMENT/api/mcp \
-H 'content-type: application/json' \
-H 'authorization: Bearer YOUR_AGENT_SECRET' \
--data '{
"jsonrpc":"2.0",
"id":"coach-context",
"method":"tools/call",
"params":{"name":"get_coaching_context","arguments":{}}
}'Die Antwort enthält prägnanten Text in result.content und maschinenlesbares JSON in result.structuredContent. Die berechneten Ziele umfassen die Formelversion, exakte Eingaben und Annahmen, fehlende Eingaben, Erläuterungen zum Clamping, einen Sicherheitshinweis und die folgenden expliziten Zielfelder:
Feld | Bedeutung |
| Neutrale TDEE-Basislinie vor jeder Zielanpassung. |
| Kalorienziel nach Anwendung des ausgewählten Ziels „Abnehmen“, „Halten“ oder „Zunehmen“. |
| Vorzeichenbehaftete Differenz zwischen |
| Ausgewählte Richtung: |
| Für Menschen lesbarer Satz, der Richtung und Anpassung angibt. |
| Zielspezifische Coaching- und Nächste-Schritte-Vorschläge. |
| Abwärtskompatibler Alias von |
lose liegt standardmäßig unter den Erhaltungskalorien, gain darüber und maintain entspricht den Erhaltungskalorien. Ein benutzerdefiniertes targetRateKgPerWeek ist vorzeichenbehaftet: negativ für Gewichtsverlust und positiv für Gewichtszunahme. Wenn sein Vorzeichen dem ausgewählten Ziel widerspricht, normalisiert die Berechnung das Vorzeichen, meldet diese Annahme und verwendet die normalisierte Rate. Der Coaching-Kontext wiederholt sowohl die neutrale Basislinie als auch das zielangepasste Ziel in seinem für Menschen lesbaren Text.
Benutzereingegebene Lebensmittel protokollieren
log_food sucht niemals Nährwerte nach und erfindet keine. Geben Sie die Gesamtwerte für den vollständigen Protokolleintrag an, einschließlich aller Portionen:
curl -s https://YOUR_DEPLOYMENT/api/mcp \
-H 'content-type: application/json' \
-H 'authorization: Bearer YOUR_AGENT_SECRET' \
--data '{
"jsonrpc":"2.0",
"id":"food-1",
"method":"tools/call",
"params":{
"name":"log_food",
"arguments":{
"eatenAt":"2026-08-20T12:30:00Z",
"mealType":"lunch",
"foodName":"Tofu rice bowl",
"servingSize":"1 bowl",
"servings":1,
"caloriesKcal":640,
"proteinG":31,
"carbohydratesG":82,
"fatG":19,
"fiberG":11,
"notes":"Totals entered from the recipe"
}
}
}'Validieren
npm test
npm run lint
npm run buildAuf Vercel bereitstellen
Legen Sie diese Vercel-Umgebungsvariablen für jede Umgebung fest, die persistenten Speicher verwenden soll:
SUPABASE_URLSUPABASE_SERVICE_ROLE_KEY
Verwenden Sie das Vercel-Dashboard oder vercel env add; halten Sie den Service-Role-Wert aus dem Befehlsverlauf und den Deployment-Protokollen heraus. Erstellen Sie keine NEXT_PUBLIC_-Kopie.
Stellen Sie dann eine Vorschau bereit:
npx vercel@latest --token "$VERCEL_TOKEN" --yesVerwenden Sie --prod nur für eine beabsichtigte Produktionsbereitstellung. Überprüfen Sie das zurückgegebene Deployment mit npx vercel@latest inspect <deployment-url> --token "$VERCEL_TOKEN".
Architektur
src/components/: Client-Dashboard, Authentifizierung, Formulare und API-Leitfaden.src/app/api/: Next.js-Route-Handler für Authentifizierung, Workouts, Metriken, Statistiken, Agenten, Status und MCP.src/lib/domain.ts: Validierte Domäneneingabe-Schemas und Statistikberechnungen.src/lib/service.ts: Authentifizierung, Autorisierung und Anwendungsoperationen.src/lib/storage/: Speicherschnittstelle plus Adapter für Supabase, lokales JSON und In-Memory.src/lib/mcp.ts: JSON-RPC/MCP-Anfragevalidierung, Tools, Authentifizierung und Durchsetzung der Scopes.
LifestyleStorage hält Domäne, Service, UI und MCP-Verhalten unabhängig vom gewählten Persistenzadapter.
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.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceConnect Pelaris to any MCP-compatible AI assistant for personalised fitness coaching. Plan training programs, log workouts, track benchmarks, manage goals, and get data-driven coaching insights. Supports science-based methodologies including 5/3/1, Pfitzinger, polarised training, and more. OAuth 2.0 authentication with Streamable HTTP transport. Documentation: https://pelaris.io/integrations Web
- FlicenseNot gradedqualityBmaintenanceMCP server that wraps wger fitness/nutrition management platform, providing 15 tools for exercise search, ingredient nutrition lookup, weight tracking, and more, accessible to any MCP-compatible AI agent.
- FlicenseAqualityBmaintenancePersonal workout coach MCP server that logs exercises in natural language, tracks progress with SQLite, and provides coaching signals like estimated 1RM and volume trends.6
- FlicenseNot gradedqualityCmaintenanceA personal health and fitness MCP server that provides tools for managing profile data, goals, body measurements, nutrition, workouts, sleep, check-ins, life events, analytics, and coach memories via Supabase Postgres.1
Related MCP Connectors
A paid remote MCP for AI SDK benchmark dashboard, built to return verdicts, receipts, usage logs, an
A paid remote MCP for AI SDK eval dashboard, built to return verdicts, receipts, usage logs, and aud
A paid remote MCP for AI SDK data query MCP, built to return verdicts, receipts, usage logs, and aud
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/YingsHermes/lifestyle-mcp-gym'
If you have feedback or need assistance with the MCP directory API, please join our Discord server