Skip to content

MCP JSON-RPC endpoint (both protocol revisions)

POST
/mcp-bot
curl --request POST \
--url https://example.com/api/mcp-bot \
--header 'Content-Type: application/json' \
--cookie sb-access-token=<sb-access-token> \
--data '{}'

The single MCP exchange endpoint. Serves protocol revision 2026-07-28 natively and answers 2025-era clients from the same tool surface via the SDK’s stateless legacy leg. Every exchange is self-contained: no session is established, and no Mcp-Session-Id is issued (one sent by a legacy client is accepted and ignored). Responses are application/json or, on the legacy leg, a text/event-stream frame carrying the same JSON-RPC message.

Media type application/json
object

JSON-RPC response. A tools/call the bearer’s scopes cannot reach is ALSO answered here (HO-6814), as a typed tool result with isError: true and structuredContent.code: "INSUFFICIENT_SCOPE" — never an RFC 6750 403 step-up, which made one connector loop refresh-then-retry until its own 1800s timeout.

object

Malformed request body (JSON-RPC parse error, code -32700).

Media type application/json
object

Not authenticated

Media type application/json
object
error
required

Human-readable error message

string
code

Stable machine-readable error code for client branching

string
fieldErrors

First validation message per field path

object
key
additional properties
string
issues

Structured validation issues (Zod)

Array<object>
object
path
required
string
message
required
string
retryAfter

Seconds until rate limit resets (429 responses)

number
reconnect

True if re-linking GitHub may fix the issue

boolean

Rate limited (domain_code RATE_LIMITED).

Media type application/json
object