Outborn Agent Platform · Technical reference
MCP protocol and tools
Use the public JSON-RPC MCP endpoint to discover visible Spaces and agents and invoke an owned agent in read-only chat mode.
Applied guidance
Best practices for mcp protocol and tools
Recommended
- Discover tools with tools/list and inspect their current input schemas and annotations.
- Use resources/list or read-only tools to inspect visible Spaces and agents before invocation.
- Present Space updates or removal for an explicit decision and read current state after an uncertain outcome.
Avoid
- Do not infer write permission from a successful read or use agents.invoke as a way to bypass connected-action approvals.
01
Endpoint and transport
The public endpoint is POST /mcp/v1 on the deployment's advertised origin. Send a JSON-RPC 2.0 object with a method and request ID. GET, PUT, PATCH, and DELETE /mcp/v1 return HTTP 405 with Allow: POST. initialize reports protocolVersion 2025-06-18, serverInfo outborn-ai 1.0.0, and tools/resources capabilities.
POST /mcp/v1Authorization: Bearer <access-token>Content-Type: application/json
{ "jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2025-06-18", "capabilities": {}, "clientInfo": { "name": "external-client", "version": "1.0.0" } }}02
Read tools
Call tools/list to discover current schemas. The source implementation advertises spaces.list and spaces.get for organization-visible Spaces, and agents.list and agents.get for visible agents. Each get tool requires a nonempty id. The agent response omits private instructions and secrets.
{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "agents.get", "arguments": { "id": "<agent-id>" } }}03
Invoke an owned agent
agents.invoke requires id and message. The message must be nonempty and at most 20,000 characters. This tool runs an agent owned by the authenticated user in governed read-only chat mode; it does not authorize external writes. The result arrives in both text content and structuredContent.item.
{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "agents.invoke", "arguments": { "id": "<agent-id>", "message": "Summarize the approved weekly review." } }}04
Space mutations
outborn_update_space and outborn_remove_space call Outborn Account, which remains authoritative for membership, visibility, hierarchy, and mutation authorization. The update tool accepts id and optional name, parent_id, category, sort_order, or visibility; removal accepts id. Read their discovered schemas and annotations before presenting either action. Removal is destructive and non-idempotent.
- — Show the Space ID and proposed changes to the user before a mutation.
- — After an uncertain response, read the Space state before retrying.
- — Do not assume an agent invocation can perform these mutations on behalf of the user.
05
Resources and response shape
resources/list advertises outbornai://spaces and outbornai://agents. resources/read returns JSON text in result.contents for one of those URIs. tools/call returns result.content plus result.structuredContent.item or .items. Inspect the JSON-RPC error object and HTTP status on failure rather than assuming every response contains result.
{ "jsonrpc": "2.0", "id": 4, "method": "resources/read", "params": { "uri": "outbornai://agents" }}Related documentation