Endpoint and transport
This page is for developers building or debugging an MCP client. If you only want to connect an existing client, see Connect a client.
The endpoint
There is one endpoint for everything:
https://namebeta.com/api/mcp
| Property | Value |
|---|---|
| Transport | Streamable HTTP, stateless. Send JSON-RPC 2.0 requests with POST |
| Other methods | GET and DELETE return 405 Method Not Allowed; there is no SSE stream |
| Authentication | Required. OAuth 2.1 with the user's NameBeta account — see Authorization |
| Client registration | See Client registration |
Requests
Send one JSON-RPC request per POST, with the access token from Authorization:
POST /api/mcp HTTP/1.1
Host: namebeta.com
Authorization: Bearer eyJhbGciOi...
Content-Type: application/json
Accept: application/json, text/event-stream
{"jsonrpc":"2.0","id":1,"method":"tools/list"}
Acceptlists bothapplication/jsonandtext/event-stream, as the Streamable HTTP transport requires.- One request per
POST. The body is a single JSON-RPC object, not an array. - No sessions. There is no
Mcp-Session-Id, and each request stands alone.initializeis accepted but sets up nothing that later requests depend on.
A request that breaks one of these rules is rejected before any tool runs; Malformed requests lists the status codes.
Responses
The server answers every request with a plain JSON body (Content-Type: application/json), never an SSE stream: nothing is streamed, and there are no notifications or progress messages. Errors describes the shapes a failure can take.