Register a tool (any protocol)
const url = 'http://localhost:8693/v1/tools';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"tool_id":"example","name":"example","resource_uri":"example","required_capabilities":["example"],"max_blast_radius":"example","requires_execution":true,"allowed_operations":["example"],"allowed_targets":["example"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://localhost:8693/v1/tools \ --header 'Content-Type: application/json' \ --data '{ "tool_id": "example", "name": "example", "resource_uri": "example", "required_capabilities": [ "example" ], "max_blast_radius": "example", "requires_execution": true, "allowed_operations": [ "example" ], "allowed_targets": [ "example" ] }'Register a tool with its security requirements and supported protocols.
If protocols is omitted or empty, the tool defaults to ["mcp"]
for backwards compatibility.
Request Body required
Section titled “Request Body required ”Tool registration entry for the universal tool-call layer (ADR-0022 / UTC-008).
Extends ToolEntry with protocol declarations and adapter metadata.
Backwards-compatible: omitting protocols defaults to ["mcp"].
object
Protocols this tool accepts. Verifier rejects calls arriving via an unlisted protocol. Supported values: “mcp”, “http”, “a2a/2025-draft-01”. Omit to default to [“mcp”].
Example
[ "mcp", "http"]Human-readable tool description (shown in tool listings)
Tool schema version (semver)
Unique identifier for the tool
Human-readable name
RFC 8707 resource indicator. Token aud must match this.
Capabilities the token must include
Maximum blast radius scope (e.g., “namespace:analytics”)
Whether execution binding checks (exec_act, inp_hash, target) are enforced
Valid exec_act values (when requires_execution is true)
Valid target URIs (when requires_execution is true)
Responses
Section titled “ Responses ”Tool registered
Invalid request
object
Error code (RFC 8693 compatible)
Human-readable error detail
Example
{ "error": "invalid_request"}Tool registry not initialised