Skip to content

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

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

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

Base scope for private athlete data:

profile

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

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.

Once the client is connected, run the tool:

hello

Expected response:

Hello from WODira MCP

If hello works, transport, authentication, and basic tool discovery are working.

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.

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.

  • Connect to https://api.wodira.app/mcp unless 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 hello as a smoke test, then choose tools by intent rather than by name.