pierre_mcp_server

Async-IO/pierre_mcp_server

3.4

If you are the rightful owner of pierre_mcp_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

Pierre Fitness API is an open-source multi-protocol server that provides secure access to fitness data from multiple providers using the Model Context Protocol (MCP), A2A Protocol, and REST APIs.

Tools
2
Resources
0
Prompts
0
Pierre Fitness Platform Logo

Pierre Fitness Platform

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:

  • Training Load: TSS, CTL (42-day fitness), ATL (7-day fatigue), TSB (form)
  • Race Predictions: VDOT (Jack Daniels), Riegel formula
  • Sleep & Recovery: NSF/AASM scoring, HRV-based recovery, TSB normalization
  • Nutrition: Mifflin-St Jeor BMR, TDEE, macros, USDA FoodData Central (350k+ foods)
  • Pattern Detection: Training consistency, hard/easy alternation, volume progression
  • Configurable Algorithms: Runtime selection via environment variables

See and .

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

ProviderFeature FlagCapabilities
Stravaprovider-stravaActivities, Stats, Routes
Garminprovider-garminActivities, Sleep, Health
WHOOPprovider-whoopSleep, Recovery, Strain
Fitbitprovider-fitbitActivities, Sleep, Health
COROSprovider-corosActivities, Sleep, Recovery
Terraprovider-terra150+ wearables, Activities, Sleep, Health
Syntheticprovider-syntheticDevelopment/Testing

Build with specific providers:

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

See .

LLM Interaction

AI assistants query fitness data through natural language:

RequestTools Used
"Calculate my daily nutrition needs for marathon training"calculate_daily_nutrition, get_nutrient_timing, search_food
"Get my last 10 activities and analyze training load"get_activities, analyze_training_load, calculate_daily_nutrition
"Compare my three longest runs this month"get_activities, compare_activities, analyze_performance_trends
"Analyze this meal: 150g chicken, 200g rice, 100g broccoli"analyze_meal_nutrition, get_food_details
"Do I need a recovery day based on my training load?"analyze_training_load, get_activities, generate_recommendations

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 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 .

Available MCP Tools

47 tools organized in 8 categories:

CategoryToolsDescription
Core Fitness6Activities, athlete profile, provider connections
Goals4Goal setting, suggestions, feasibility, progress
Analysis10Metrics, trends, patterns, predictions, recommendations
Sleep & Recovery5Sleep quality, recovery score, rest recommendations
Nutrition5BMR/TDEE, macros, USDA food search, meal analysis
Recipes7Training-aware meal planning and recipe storage
Configuration6User settings, training zones, profiles
Fitness Config4Fitness parameters, thresholds

Full tool reference:

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

RoleCapabilities
UserOwn 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 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
npm install --legacy-peer-deps
npm start   # Start Expo development server
npm run ios # Run on iOS Simulator

See and .

Documentation

Reference

  • - installation, configuration, first run
  • - system design, components, request flow
  • - MCP, OAuth2, A2A, REST
  • - JWT, API keys, OAuth2 flows
  • - environment variables, algorithms

Development

  • - workflow, dashboard, testing
  • - 30+ development scripts
  • - GitHub Actions, pipelines
  • - code standards, PR workflow

Components

  • - TypeScript client for MCP integration
  • - React dashboard
  • - React Native mobile app
  • - mobile dev setup guide

Methodology

  • - sports science formulas
  • - dietary calculations

Testing

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

See .

Contributing

See .

License

Dual-licensed under or .