Connect a client, step by step
Point Claude, ChatGPT or any MCP client at Elixir and sign in once. Connecting an AI is optional.
Connect
Connect a client if you want an AI agent to ask Elixir about your record. You can do this while recording is pending, or keep using Ladder and Clan in your browser. A connection authorizes access; it does not prove that a successful data read has happened. Each connection's row under Settings › Connections & agents shows its last call and its calls in the last seven days.
The endpoint is the same for every client:
https://elixir.poapkings.com/mcp
The door speaks Streamable HTTP over JSON and authenticates with OAuth 2.1
(dynamic client registration, PKCE S256, a resource parameter naming the
endpoint). A client that names no scope asks for cr:read alone, and the
consent page offers every other capability as a checkbox, unticked on your
own connection: tick what you want to allow, and change it later under
Settings › Connections & agents. Details are on the Protocol reference.
Claude.ai
- Settings → Connectors → Add custom connector.
- Name it (say,
Elixir) and pastehttps://elixir.poapkings.com/mcp. Leave the OAuth client id and secret empty: the door registers the client itself. - Click Connect. A sign-in page opens: enter your account email, then the six-digit code from the mail, and approve the listed capabilities.
- In a chat, enable the connector under the tools menu and ask something.
The connector caches the tool list. When elixir_changelog or a response's
contract_version shows the contract moved, disconnect and reconnect the
connector to refresh it.
Claude Desktop
Claude Desktop uses the same connector list as Claude.ai: Settings →
Connectors → Add custom connector, then the steps above. Remote connectors
need a plan that supports them; the desktop app's claude_desktop_config.json
stdio servers are a different mechanism and are not needed.
Claude Code
claude mcp add --transport http elixir https://elixir.poapkings.com/mcp
Then run /mcp inside Claude Code and choose Authenticate for elixir;
the browser flow is the same email-and-code page. Use --scope user on the
add command if you want the connection in every project.
Any MCP client
Your client needs: Streamable HTTP transport (POST only, JSON responses, no
SSE required), OAuth 2.1 with dynamic client registration and PKCE S256, and
RFC 8707 resource support. The sequence is:
POST /mcpwithout a token → 401 withWWW-Authenticate: Bearer resource_metadata="https://elixir.poapkings.com/.well-known/oauth-protected-resource", scope="<every standard capability>".- Read that document, then the authorization-server metadata it points to.
POST /oauth/registerwith yourredirect_uris(https, or http on localhost / 127.0.0.1 / [::1]).- Send the user to
/oauth/authorizewithclient_id,redirect_uri,code_challenge(S256),scope=cr:read,resource=https://elixir.poapkings.com/mcp, andstate. - Exchange the code at
/oauth/tokenwithcode_verifierand the sameresource. Access tokens last an hour; refresh tokens rotate on every use. POST /mcpwithAuthorization: Bearer <access_token>and aninitializerequest. ReadserverInfo.versionand_meta.
The official MCP SDKs implement steps 1 to 5; mcp-remote bridges a
stdio-only client to this flow.
ChatGPT
ChatGPT's connector support is scoped to its own connector catalogue and to
developer-mode custom connectors whose availability depends on your plan and
region, and its expectations of a server (specific search and fetch
tools for deep research) differ from a general MCP tool surface. Elixir
does not test against ChatGPT and makes no claim that it works there. If you
try it and it does, or does not, elixir_send_feedback is the place to say so.