Skip to main content
MCP endpoints are in beta.
MCP endpoints are deliberately small. Every request and response is bounded, so one agent can’t exhaust your deployment, and every refusal has a stable code that clients can act on.

Limits

A query result that exceeds the tool result limit fails with result_too_large. Return a smaller projection or paginate instead. An operation whose result is too large still succeeds: the tool returns accepted_result_omitted with the invocation ID, and the client can recover the full result later. After 14 days an operation’s result expires and recovery returns OperationResultExpired. The request key still refuses to run the operation again. For hosts using bijection/mcp/node, a request journal record is at most 256 KiB, a call ID at most 2,048 characters, and each discovery, recovery or status attempt has a 10-second deadline.

Supported methods

The endpoint accepts only HTTP POST and answers with fixed JSON responses. It handles these MCP methods:
  • initialize and notifications/initialized
  • server/discover
  • ping
  • tools/list
  • tools/call
Any other method, including resources, prompts and subscriptions, is refused with 400 unsupported_method. The endpoint doesn’t stream responses.

Errors

HTTP errors

When the endpoint refuses a request, it responds with a JSON body of the form { "error": "<code>" } and Cache-Control: no-store.

Tool errors

A tool call that is admitted but fails returns a normal MCP result with isError: true and structuredContent of the form { "error": "<code>" }. Messages thrown by your own functions are never passed to the agent. If the data behind a read changes while its result is being released, the endpoint retries that read up to three times in total, rechecking the grant each time. Writes are never retried by the endpoint.