Pierre Fitness Platform MCP Server

Pierre Fitness Platform MCP Server

Connects AI assistants to fitness data from over 150 wearables including Strava, Garmin, and Fitbit through the Model Context Protocol. It provides 47 tools for sports science-based analysis, training load management, recovery tracking, and personalized nutrition planning.

Category
Visit Server

README

<div align="center"> <img src="templates/pierre-logo.svg" width="150" height="150" alt="Pierre Fitness Platform Logo"> <h1>Pierre Fitness Platform</h1> </div>

Backend CI Cross-Platform Frontend Tests SDK Tests MCP Compliance Mobile Tests

Pierre Fitness Platform connects AI assistants to fitness data from Strava, Garmin, Fitbit, WHOOP, COROS, and Terra (150+ wearables). Implements Model Context Protocol (MCP), A2A protocol, OAuth 2.0, and REST APIs for Claude, ChatGPT, and other AI assistants.

Intelligence System

Sports science-based fitness analysis including training load management, race predictions, sleep and recovery scoring, nutrition planning, and pattern detection.

See Intelligence Methodology and Nutrition Methodology for details.

Features

  • MCP Protocol: JSON-RPC 2.0 for AI assistant integration
  • A2A Protocol: Agent-to-agent communication
  • OAuth 2.0 Server: RFC 7591 dynamic client registration
  • 47 MCP Tools: Activities, goals, analysis, sleep, recovery, nutrition, recipes, configuration
  • TypeScript SDK: pierre-mcp-client npm package
  • Pluggable Providers: Compile-time provider selection
  • TOON Format: Token-Oriented Object Notation output for ~40% LLM token reduction (spec)

Provider Support

Provider Feature Flag Capabilities
Strava provider-strava Activities, Stats, Routes
Garmin provider-garmin Activities, Sleep, Health
WHOOP provider-whoop Sleep, Recovery, Strain
Fitbit provider-fitbit Activities, Sleep, Health
COROS provider-coros Activities, Sleep, Recovery
Terra provider-terra 150+ wearables, Activities, Sleep, Health
Synthetic provider-synthetic Development/Testing

Build with specific providers:

cargo build --release                                                    # all providers
cargo build --release --no-default-features --features "sqlite,provider-strava"  # strava only

See Pluggable Provider Architecture.

What You Can Ask

  • "Calculate my daily nutrition needs for marathon training"
  • "Analyze my training load - do I need a recovery day?"
  • "Compare my three longest runs this month"
  • "Analyze this meal: 150g chicken, 200g rice, 100g broccoli"
  • "What's my predicted marathon time based on recent runs?"

See Tools Reference for the 47 available MCP tools.

Quick Start

git clone https://github.com/Async-IO/pierre_mcp_server.git
cd pierre_mcp_server
cp .envrc.example .envrc  # edit with your settings
direnv allow              # or: source .envrc
./bin/setup-and-start.sh  # complete setup: fresh DB, admin user, server start

Server starts on http://localhost:8081. See Getting Started for detailed setup.

MCP Client Configuration

Add to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "pierre-fitness": {
      "command": "npx",
      "args": ["-y", "pierre-mcp-client@next", "--server", "http://localhost:8081"]
    }
  }
}

The SDK handles OAuth 2.0 authentication automatically. See SDK Documentation.

Available MCP Tools

47 tools organized in 8 categories:

Category Tools Description
Core Fitness 6 Activities, athlete profile, provider connections
Goals 4 Goal setting, suggestions, feasibility, progress
Analysis 10 Metrics, trends, patterns, predictions, recommendations
Sleep & Recovery 5 Sleep quality, recovery score, rest recommendations
Nutrition 5 BMR/TDEE, macros, USDA food search, meal analysis
Recipes 7 Training-aware meal planning and recipe storage
Configuration 6 User settings, training zones, profiles
Fitness Config 4 Fitness parameters, thresholds

Full tool reference: docs/tools-reference.md

Server Management

./bin/setup-and-start.sh  # complete setup: fresh DB, admin user, server start
./bin/start-server.sh     # start backend only (loads .envrc)
./bin/stop-server.sh      # stop backend
./bin/start-frontend.sh   # start dashboard (http://localhost:5173)

Options for setup-and-start.sh:

  • --skip-fresh-start - preserve existing database
  • --run-tests - run workflow tests after startup
  • --admin-email EMAIL - custom admin email
  • --admin-password PWD - custom admin password

User Portal Dashboard

Web-based dashboard for users and administrators at http://localhost:5173.

Features

  • Role-Based Access: super_admin, admin, user roles with permission hierarchy
  • User Registration: Self-registration with admin approval workflow
  • API Key Management: Create, view, deactivate API keys
  • MCP Tokens: Generate tokens for Claude Desktop and AI assistants
  • Usage Analytics: Request patterns, tool usage charts
  • Super Admin Impersonation: View dashboard as any user for support

User Roles

Role Capabilities
User Own API keys, MCP tokens, analytics
Admin + User approval, all users analytics
Super Admin + Impersonation, admin tokens, system config

First Admin Setup

cargo run --bin admin-setup -- create-admin-user \
  --email admin@example.com \
  --password SecurePassword123 \
  --super-admin

See Frontend Documentation for detailed dashboard documentation.

Mobile App

React Native mobile app for iOS and Android with conversational AI interface.

Features

  • AI Chat Interface: Conversational UI with markdown rendering and real-time streaming
  • Fitness Provider Integration: Connect to Strava, Garmin, Fitbit, WHOOP, COROS via OAuth
  • Activity Tracking: View and analyze your fitness activities
  • Training Insights: Get AI-powered training recommendations

Quick Start

cd frontend-mobile
bun install
bun start   # Start Expo development server
bun run ios # Run on iOS Simulator

See Mobile App README and Mobile Development Guide.

AI Coaches

Pierre includes an AI coaching system with 9 default coaching personas and support for user-created personalized coaches.

Default Coaches

The system includes 9 AI coaching personas across 5 categories:

Category Icon Coaches
Training 🏃 Endurance Coach, Speed Coach
Nutrition 🥗 Sports Nutritionist, Hydration Specialist
Recovery 😴 Recovery Specialist, Sleep Coach
Recipes 👨‍🍳 Performance Chef, Meal Prep Expert
Analysis 📊 Data Analyst

Default coaches are seeded automatically by ./bin/setup-and-start.sh and are visible to all users.

Personalized Coaches

Users can create their own AI coaches with custom:

  • Name and personality
  • System prompts and behavior
  • Category assignment
  • Avatar customization

User-created coaches appear in a "Personalized" section above system coaches and are private to each user.

Coach Seeder

To seed or refresh the default coaches:

cargo run --bin seed-coaches

This creates the 9 default AI coaching personas if they don't already exist.

Documentation

Reference

Development

Components

Methodology

Testing

cargo test                        # all tests
./scripts/lint-and-test.sh        # full CI suite
./scripts/smoke-test.sh           # quick validation (~3 min)

See Testing Documentation.

Contributing

See Contributing Guide.

License

Dual-licensed under Apache 2.0 or MIT.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured