WODira MCP server
WODira MCP lets clients such as Codex, Claude Code, Cursor, Gemini CLI, and ChatGPT apps query and operate on events, boxes, bookings, tickets, and organizer tools using the Model Context Protocol.
Canonical endpoint:
https://api.wodira.app/mcpUse this endpoint for remote MCP over Streamable HTTP. The server accepts MCP requests through HTTP POST; GET and DELETE return 405 Method Not Allowed. Legacy SSE endpoints are not available.
Discovery and OAuth
Section titled “Discovery and OAuth”WODira publishes OAuth 2.1 metadata so clients do not need to assume internal endpoints:
| Resource | URL |
|---|---|
| Protected resource metadata | https://api.wodira.app/.well-known/oauth-protected-resource/mcp |
| Authorization server metadata | https://api.wodira.app/.well-known/oauth-authorization-server |
| OpenID configuration | https://api.wodira.app/.well-known/openid-configuration |
The expected access token resource/audience is:
https://api.wodira.app/mcpBase scope for private athlete data:
profileinitialize, MCP discovery, and the hello, search_events, and athlete_search_upcoming_events tools may work without OAuth. Other athlete tools require profile; organizer_* tools also require organizer:ai. Compatible clients should use discovery and open WODira login/consent during the OAuth flow. A valid Better Auth browser session is also accepted by the public profile when the client starts the connection from an authenticated browser.
Transports
Section titled “Transports”| Transport | Endpoint | Status | Recommended use |
|---|---|---|---|
| Streamable HTTP | https://api.wodira.app/mcp |
Active | Modern remote MCP clients |
The initial connection creates an MCP session. Subsequent calls use the mcp-session-id header managed by the MCP client.
First test
Section titled “First test”Once the client is connected, run the tool:
helloExpected response:
Hello from WODira MCPIf hello works, transport, authentication, and basic tool discovery are working.
What you can do
Section titled “What you can do”The public server exposes tools for three types of use:
| Profile | Capabilities |
|---|---|
| Public | Search published events and get event links |
| Athlete | View boxes, today’s classes, bookings, tickets, bookmarks, and calendar data |
| Organizer | List organizations, create events, check metrics, and manage tickets without commerce operations |
For organizer flows, start with organizer_list_my_organizations and use the returned organizationId in tools that accept it.
The public /mcp profile does not publish checkout, refunds, or manual registration. The private /mcp/commerce profile requires Bearer OAuth with commerce:agentic, a preview, explicit confirmation, and idempotency; it must not be configured as a public connector.
Documentation for agents
Section titled “Documentation for agents”In addition to action tools, WODira publishes read-only Markdown resources so agents can learn and retrieve reference material over the same protocol:
| Area | Resource URI |
|---|---|
| Index | wodira://docs/index |
| Events | wodira://docs/events |
| Boxes | wodira://docs/boxes |
| Programming | wodira://docs/programming |
| MCP | wodira://docs/mcp |
These resources and static ui://wodira/v2/* interfaces can be read without private-data scopes.
Best practices
Section titled “Best practices”- Connect to
https://api.wodira.app/mcpunless you are in a controlled local environment. - Use the MCP client’s OAuth flow when available.
- Review tools before allowing write actions such as creating events or deleting registrations.
- Do not paste access tokens into prompts, issues, repositories, or public documentation.
- Use
helloas a smoke test, then choose tools by intent rather than by name.