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
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.
# 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"
# 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
{
"mcpServers": {
"sorted": {
"type": "http",
"url": "https://sorted.fast/mcp",
"headers": { "Authorization": "Bearer YOUR_KEY" }
}
}
}
{
"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.
Connected? Create your first event.
Ask your agent: "Add 30 places for my next photo walk."