MCP over streamable HTTP
The served runtime (bobby serve) exposes the same MCP tool surface over streamable HTTP at POST /v1/mcp with bearer-only auth. Each tenant needs a URL and its scoped token.
One JSON-RPC message per POST; GET is unsupported. Server state is isolated per principal. A rotated or replaced bearer resets that principal's MCP lifecycle — clients must initialize again.
Client config example
Use the bootstrap (or issued) bearer in Authorization. The TypeScript SDK convention AUTOMATION_RUNTIME_TOKEN is the same plaintext value.
{
"mcpServers": {
"bobby-browser": {
"url": "http://127.0.0.1:7777/v1/mcp",
"transport": "streamable-http",
"headers": {
"Authorization": "Bearer ${AUTOMATION_RUNTIME_TOKEN}"
}
}
}
}MCP over HTTP still requires the broker interface context headers on the underlying HTTP transport when your client sends them; the browser-runtime broker path uses Authorization, x-interface-version, x-correlation-id, and x-deadline (see Authentication). Prefer an MCP client that can attach those headers, or use the TypeScript SDK / stdio gateway.
Lifecycle
Rotating or replacing the bearer resets that principal's MCP session state. Clients must initialize again before tools. Tool catalog and capability gates: MCP tools.
Next
- Tool list and capabilities: MCP tools
- Single-process local agent: MCP stdio
- End-to-end loop: First browser session
- Troubleshooting: Troubleshooting