musette-mcp

musette-mcp

AI soigneur for cyclists: turns your Strava ride into an Ien-Vitse-validated nutrition plan (carbs/hour, hydration, timing) and assembles a ready-to-order musette. Works alongside the Strava MCP in Claude and ChatGPT.

Category
Visit Server

README

<div align="center">

<picture> <source media="(prefers-color-scheme: dark)" srcset="./assets/icon-white.svg" /> <img src="./assets/icon-black.svg" alt="" width="72" /> </picture>

<picture> <source media="(prefers-color-scheme: dark)" srcset="./assets/wordmark-white.svg" /> <img src="./assets/wordmark-black.svg" alt="Musette" width="240" /> </picture>

Musette MCP — the AI soigneur for Claude

The first cycling nutrition you order from inside Claude — built on your real Strava data, validated by WorldTour soigneur Ien Vitse.

Real premium brands — Amacx and Maurten — delivered straight to your door. No white-label, no own-brand lock-in.

MCP Built for Claude Registry License: MIT

Connect to Claude → · What it does · Works with the Strava MCP · Validated by Ien Vitse · Nederlands

</div>


<!-- DEMO ASSET (deliverable C): replace this line with the 30s hero GIF --> <!-- Ask Claude what to eat on La Marmotte → validated plan → order -->

🎬 30-second demo: "Claude, analyse my last 6 weeks and tell me what to eat on La Marmotte this Saturday." → Strava pulls your real rides → Musette returns an Ien-Vitse-validated plan → "build my musette" → products, price and a one-click order link. Watch it on musette.cc/mcp.


⚡ Add to Claude (30 seconds)

Musette is a Model Context Protocol server. Add it as a custom connector — no account, no login, free to use. You only pay if you decide to order the products.

  1. Open Claude → Settings → Connectors → "Add custom connector"

  2. Name it Musette and paste this URL:

    https://mcp.musette.cc
    
  3. Done. The Musette tools now appear in your conversation. Ask: "Wat moet ik eten op La Marmotte?"

💡 Even stronger with Strava. Add Strava's own MCP connector too, and Claude reads your real rides — so the plan is built on your actual form, not a guess. See the killer combo.


🚴 What it does

Claude can already estimate carbs-per-hour. The gap Musette closes is the one between a number and the right products, in the right amounts, in your bidon on Saturday morning — validated by a real sports dietitian, and orderable in one click.

Tool What it does
bereken_voedingsplan The Ien-Vitse-validated plan for one ride: carbs/hour, total, hydration, a timed feeding schedule, drink/gel/bar split and safety advice.
stel_musette_samen Turns the plan into a ready-to-go musette: concrete products + quantities from real premium brands (Amacx & Maurten), which Musette ships directly — plus a direct order link with the cart pre-filled.
zoek_evenement Looks up a cycling event or sportive by name and returns date, location and distances (km + elevation) to feed into the plan.
musette_info · ping What Musette is, and a connectivity check.

Example prompts

"Strava aan Claude gekoppeld? Analyseer m'n vorm en zeg wat ik moet eten op La Marmotte."
"160 km, 3000 hoogtemeters, tempo, 25 graden — wat neem ik mee?"
"Stel m'n musette samen voor de Amstel Gold Race toertocht."

Each output carries the moat: the validated plan, the source references, the concrete products — and a link you click yourself. You stay in control.


🔗 The killer combo: Strava + Musette

Two connectors, one Claude conversation, zero context-switching.

 You (in Claude, both connectors on)
   │
   │  "What should I eat on La Marmotte based on my training?"
   ▼
 ┌─────────────┐   real rides, FTP, volume   ┌──────────────────────────────┐
 │  Strava MCP │ ──────────────────────────► │  Claude summarises your form  │
 │ (data layer)│                             └───────────────┬──────────────┘
 └─────────────┘                                             │ distance / elevation / intensity
                                                             ▼
                                          ┌──────────────────────────────────┐
                                          │  Musette MCP  (action layer)      │
                                          │   bereken_voedingsplan  → plan     │
                                          │   stel_musette_samen    → products │
                                          └───────────────┬───────────────────┘
                                                          │ pre-filled cart link
                                                          ▼
                                          musette.cc checkout  →  delivered

Strava gives you the data. Musette gives you the food. Both inside Claude.

🔒 Privacy by design. The Musette tools only take plain numbers (distance, elevation, intensity, temperature). We never touch your Strava account — that stays between you and Strava's own connector. No PII and no payment ever pass through the chat; the order link lands you on musette.cc where the proven checkout takes over.


✅ Validated by a WorldTour soigneur

Every plan this server returns is built on a carbohydrate protocol validated by Ien Vitse — sports dietitian (UZ Gent) and former performance nutritionist at Jumbo-Visma (2018–2023).

This is the difference between a generic AI guess (which can be wrong — too little fuel, hyponatremia, low energy availability) and advice you can trust for your A-goal. It is the same engine that powers musette.cc — one source of truth, grounded in the Jeukendrup protocol and Ien's WorldTour practice.

More on the science and the validation: musette.cc/ien-vitse.


🧱 How it's built

A small, stateless MCP server on the edge — cheap to run, nothing to break.

  • Transport: Streamable HTTP via mcp-lite (Deno/edge-native, zero-dep)
  • Runtime: Supabase Edge Function (Deno), stateless, verify_jwt = false
  • Engine: the Ien-Vitse-validated getCarbPlan() carb engine (Jeukendrup protocol + Ien's corrections)
  • Cart hand-off: stateless — the order link carries only product ids + quantities (base64url); real prices are looked up server-side and re-validated at checkout. No PII in the chat.

The carbohydrate math is public sports science — the moat is the validation, the product catalogue and the checkout, not the formula. That's why this is open: openness is the authority play.

Claude (connector) ──Streamable HTTP──► mcp-server (Supabase Edge, mcp-lite)
                                          ├─ bereken_voedingsplan → getCarbPlan()
                                          ├─ stel_musette_samen   → assembleMusette() → /m?c=<cart>
                                          └─ zoek_evenement       → lookup-cycling-event

🇳🇱 Nederlands

De eerste sportvoeding die je vanuit Claude bestelt — op je échte Strava-data, gevalideerd door WorldTour-soigneur Ien Vitse.

Musette is een MCP-connector voor Claude. Koppel 'm (Settings → Connectors → "Add custom connector", plak de URL hierboven) en vraag in gewone taal wat je moet eten op je volgende rit of toertocht. Claude rekent het Ien-gevalideerde plan uit, stelt je musette samen met concrete producten en geeft je een bestel-link met de winkelwagen al gevuld. Echte premiummerken — Amacx en Maurten — die wij direct leveren (geen white-label, geen eigen-merk). Geen account, geen inlog, gratis — je betaalt alleen als je daadwerkelijk bestelt.

Sterker mét de Strava-connector: dan leest Claude je werkelijke ritten en wordt je plan persoonlijk in plaats van algemeen. Strava levert je data, Musette levert je voeding — allebei in Claude.

Stappenplan en demo: musette.cc/mcp


📦 Publishing & directories

This repo is the source of truth for every MCP directory listing.

  • Anthropic MCP Registry — published from server.json via the mcp-publisher CLI under the namespace io.github.musette-cc/musette-mcp (GitHub-auth, verified via the musette-cc org).
  • Also listed on: mcp.so · Smithery · PulseMCP · Glama · awesome-mcp-servers.

🔗 Links


<div align="center">

Musette · Experts in fueling · Est. 2026 Jouw rit. Jouw data. Jouw voeding.

</div>

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