Connect AI assistants, Claude Desktop, Cursor, and agentic LLMs directly to the KARAT QuarterMaster equestrian management platform.
The KARAT QuarterMaster API doubles as an official Model Context Protocol (MCP) server via fastapi-mcp. Every REST endpoint mounted under /api/v1 (except browser push notifications) is automatically exposed as a typed, structured MCP tool.
LLM agents operating through MCP execute with the exact same permissions and tenancy boundaries as the authenticated user.
Paste the endpoint above into your client. Nothing else is configured — the sign-in flow is discovered from the endpoint itself, and you log in with the same account you use for the web app.
An unauthenticated call to the endpoint answers 401 with a WWW-Authenticate header naming this server's protected-resource metadata. Your client follows that to the authorization server, registers itself, and runs authorization code with PKCE. Auth0 authenticates you; the token it issues carries your stable memberships.
POST /mcp → 401 WWW-Authenticate: Bearer resource_metadata="…" GET /.well-known/oauth-protected-resource → the authorization server GET /.well-known/oauth-authorization-server → authorize, token, register POST /mcp Authorization: Bearer … → tools
Most tools act on one stable, and you do not have to say which:
set_active_stable once, and every later tool uses it. get_profile lists yours by name.https://karat-equestrian.com/stables claim on your access token. A stable you are not a member of returns 403, and a stored choice you have since left resolves to nothing rather than to access.
48 of the API's operations are exposed, named {action}_{resource} after their OpenAPI operation_id:
list_horses / create_horse / update_horse — the stable's horseslist_shows / create_show_entry — horse shows and their entrieslist_events / create_event — vet, farrier, clinics, traininglist_tack, list_vehicles — equipment and transportlist_sensors / list_current_readings / list_sensor_stats — environmental monitoringget_stable_weather — the forecast where the stable isget_profile / list_stables / set_active_stable — who you are and where you are actingEvery tool carries a title and behaviour annotations, so a client knows which calls only read and which change something before it runs them.
Not exposed: the AI harness endpoints, system-prompt overrides, background jobs, web search, browser push, sensor provider credentials, and stable administration — machinery for the web app rather than for an assistant.