⚽ ConvocadosDocsllms.txtGitHub

MCP Server

Convocados exposes a Model Context Protocol server so AI assistants can read and manage games on your behalf.

Endpoint

https://convocados.cabeda.dev/api/mcp

It serves both MCP eras from the same URL: theinitialize handshake (up to 2025-11-25) used by ChatGPT, and the stateless 2026-07-28 lifecycle (server/discover, no session).

Authentication

Metadata: /.well-known/oauth-protected-resourceand /.well-known/oauth-authorization-server. A 401 carries a WWW-Authenticate challenge pointing at the metadata.

Connect it to ChatGPT (developer mode)

  1. Use ChatGPT on the web with a Plus, Pro, Business, Enterprise, or Education plan. Business/Edu admins may need to enable developer mode for the workspace first.
  2. Open Settings → Security and login (older UI: Connectors → Advanced settings) and turn on Developer mode.
  3. Go to ChatGPT Plugins, click the plus button, and create an app for a remote MCP server.
  4. Name it Convocados, set the MCP server URL to https://convocados.cabeda.dev/api/mcp, and choose OAuth authentication.
  5. Click Scan tools; complete the Convocados consent screen if prompted, then wait for the scan to finish and click Create.
  6. In a chat, pick Developer mode from the plus menu and select the Convocados app.

Read-only tools work without signing in; connecting an account (OAuth) unlocks user-scoped reads and every write action.

Tools

ToolAuthDescription
convocados_list_public_eventsAnonymousList public games looking for players
convocados_get_gameAnonymousEvent details by id (players, spots left)
convocados_list_my_gamesOAuthYour owned, admin, and followed games
convocados_list_playersOAuthRoster for a game
convocados_get_balanceOAuthPayment status and balances
convocados_get_historyOAuthRecent games and scores
convocados_get_ratingsOAuthELO ratings
convocados_add_playerOAuthAdd a player to a game
convocados_remove_playerOAuthRemove a player
convocados_randomize_teamsOAuthRandomize or balance teams
convocados_update_paymentOAuthRecord a payment
convocados_set_scoreOAuthSave a game score
convocados_create_eventOAuthCreate a new event
convocados_update_eventOAuthChange title, location, date/time, sport, capacity, visibility
convocados_cancel_eventOAuthCancel the current game
convocados_rsvpOAuthSet your own RSVP (yes / no / maybe)

Example

Handshake, then a tool call (JSON-RPC over POST):

{"jsonrpc":"2.0","id":1,"method":"initialize",
 "params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"ChatGPT","version":"1"}}}
{"jsonrpc":"2.0","id":2,"method":"tools/call",
 "params":{"name":"convocados_list_public_events","arguments":{"limit":5}}}

Writes are organizer-only

A token alone is not enough to mutate an event: write tools additionally verify you are the event owner or an admin (ADR 0022 / ADR 0035). Ownerless public events are read-only until adopted.