Model Context Protocol

Set up MCP

Point any MCP client at the endpoint below to use Sorted's class, registration, and queue tools. Authenticate with OAuth or an API token.

MCP endpoint
https://sorted.fast/mcp
Easiest for Claude Code users

Claude Code plugin — zero config

Install the plugin and you get all Sorted MCP tools plus five skills (/sorted:create-event, /sorted:register-student, etc.) pre-wired to sorted.fast/mcp.

claude plugin install josefrichter/sorted-claude-plugin

Then set SORTED_API_KEY=your_key in your shell. View on GitHub →

Two ways to authenticate

Both reach the same tools — choose what fits your client.

Easiest

OAuth “click to connect”

For hosted clients that onboard with a browser. The client discovers the protected-resource metadata, sends you through a browser login + consent, and gets an OAuth 2.1 access token — no key to copy or store.

/.well-known/oauth-protected-resource

For headless agents

API token (Bearer)

For programmatic or self-hosted clients. Mint a key and present it as a bearer token — the same key works for the REST API too.

Authorization: Bearer <api_key>

Connect your client

Copy-paste for the most common clients. Replace YOUR_KEY with a key from your dashboard, or omit it to use the OAuth browser flow.

Claude Code claude mcp add
# OAuth (recommended) — then run /mcp to sign in
claude mcp add --transport http sorted https://sorted.fast/mcp
# …or with an API key
claude mcp add --transport http sorted https://sorted.fast/mcp \
  --header "Authorization: Bearer YOUR_KEY"
Codex CLI codex mcp add
# with an API key from $SORTED_API_KEY
codex mcp add sorted --url https://sorted.fast/mcp \
  --bearer-token-env-var SORTED_API_KEY

# …or OAuth
codex mcp add sorted --url https://sorted.fast/mcp
codex mcp login sorted
Cursor & native-HTTP clients mcp.json
{
  "mcpServers": {
    "sorted": {
      "type": "http",
      "url": "https://sorted.fast/mcp",
      "headers": { "Authorization": "Bearer YOUR_KEY" }
    }
  }
}
Claude Desktop & stdio-only clients mcp.json · mcp-remote
{
  "mcpServers": {
    "sorted": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote", "https://sorted.fast/mcp",
        "--header", "Authorization: Bearer ${SORTED_API_KEY}"
      ]
    }
  }
}

mcp-remote bridges this HTTP server to stdio-only clients. Drop the --header line to use OAuth — it opens a browser to sign in.

Verify with a raw request

A JSON-RPC tools/list call lists every available tool:

curl -s https://sorted.fast/mcp \
  -H "Authorization: Bearer $SORTED_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Tools are grouped into classes, registrations, and queues. See the full surface on the API reference or the agents overview.