Connect an AI assistant (MCP)
Use the Mouve MCP server to let your AI assistant read and log workouts, nutrition, and posts with your consent.
Mouve runs a Model Context Protocol server, so MCP-capable assistants (Claude, and any client speaking MCP over streamable HTTP) can work with your Mouve account — after you approve exactly what they may do.
https://api.mouve.it/mcpThis is the one part of the developer platform you can use today: unlike the REST API, the MCP server is live for personal assistant use.
Connecting
Add a custom MCP connector in your client and point it at
https://api.mouve.it/mcp (streamable HTTP). The client registers itself
automatically (OAuth dynamic client registration) and sends you through the
Mouve consent screen in your browser:
- Sign in to Mouve (if not already).
- Review the requested scopes — each is listed in plain language, and health-data scopes require a separate explicit acknowledgement.
- Approve. The assistant now holds a token limited to those scopes.
Disconnect at any time from your Mouve settings — access ends immediately, including any token minted seconds before.
What the tools can do
Tools are grouped by the scope that gates them; the assistant can only call tools whose scopes you approved. Health-data domains are marked.
| Domain | Tools | Scope(s) |
|---|---|---|
| Profile | read your (or a public) profile, update your profile | profile.read, profile.write |
| Body — health | read and log height, weight, body fat | body.read, body.write |
| Social graph | follow and unfollow | follows.write |
| Feed | read your feed and post details; create, like, comment, delete | posts.read, posts.write |
| Workouts — health | list and inspect workouts and history, search exercises; create workouts, log sessions | workouts.read, workouts.write |
| Nutrition — health | food search (by name or barcode), AI food analysis, meal suggestions and plans, a day of your diary with what is left of your goals; log meals, correct or delete a logged food | nutrition.read, nutrition.write |
| Notifications | read recent notifications | notifications.read |
| Weekly progress — health | a Monday–Sunday summary of training and eating | workouts.read and nutrition.read (both) |
| Assistant memory | read and save per-user assistant memories | memory.read, memory.write |
| World (rolling out) | find_outdoor_gyms (outdoor gyms near coordinates or a gym, up to 10 km), plan_route (walk, run or bike route with time, estimated calories and steps, turn list), send_route_to_app (puts a planned route in the Mouve app, kept 7 days) | world.read, world.write |
World tools take coordinates or an outdoor gym, not street addresses (address search is planned). The coordinates you pass are used to answer the call and are not stored or logged; only a route you send to the app is saved, for 7 days, and you can delete it in the app. World is available to accounts it has been enabled for; others get "World isn't available on your account yet". Reconnect an existing connection to approve the two World scopes.
Cross-user reads stay visibility-checked: another user's profile through MCP never includes their date of birth, sex, or body measurements — those fields exist only on your own profile through the body tools you consented to.
Write tools act only on what the account may touch: a post can attach only your own workout sessions, and your own or published workouts and programs; a workout can be logged only from a template you can see.
Operational notes
- Rate limits apply — MCP traffic shares your per-user request budget, and each tool also has its own limit of 60 calls per minute per user. A runaway agent loop is throttled like any other client.
- Account standing applies — tools require a fully onboarded account in good standing.
- Errors are tool results — a failed call comes back as a tool error with a readable reason (not found, not allowed, invalid input). Internal error detail is never returned.
- Retrying a meal log is safe — pass a
client_request_id(a UUID you generate once per meal) tolog_meal; a retry with the same id never logs the meal twice. - Legacy scope names (
mcp:tools:*) from connections made before the public-API launch are honored as aliases for the matching canonical scope during the transition (a legacy write scope keeps write access); reconnect to move to the canonical scopes. Legacy profile scopes never grant body measurements: health-scoped legacy connections are asked to re-consent once — the explicit health-consent record is the point.
Terms
Assistant connections are third-party access like any other: the Connected Apps terms apply, and each grant is recorded with its scopes and consent version.