routing.handlers

Live

List registered handlers per action class.

CategoryRouting
JSON-RPCtools/call
EndpointPOST /mcp
Sourcepackages/mcp-tools/src/tools/routing-handlers.ts

Description

Reads from action_handlers (per ADR-0019 §1). is_canonical is true for the 1:1 canonical handler at MVP; multi-handler routing is V1.x+ per ADR-0019 §11. Per ADR-0021 §routing-preview.

Input schema

FieldTypeRequiredDescription
action_classstringnoFilter to a single action class (canonical or namespaced).

Output shape

typescript
{
  handlers: Array<{
    handler_id: string;
    client_id: string;
    action_class: string;
    tier: 'webhook' | 'mcp_executor';
    url_or_endpoint: string;
    supported_modes: Array<'ask' | 'notify' | 'silent'>;
    registered_at: string;
    is_canonical: boolean;
  }>;
}

Example call

JSON-RPC tools/call request body (omit the JSON-RPC envelope when using an SDK; the SDK adds it for you):

jsontools/call params
{ "name": "routing.handlers", "arguments": { "action_class": "schedule" } }

Example response

Tool results are always wrapped as content[0].text with a stringified JSON body. The shape below is what you get back from JSON.parse(result.content[0].text):

jsonparsed result body
{
  "handlers": [
    { "handler_id": "hnd_01H...", "client_id": "cli_01HACME", "action_class": "schedule", "tier": "webhook", "url_or_endpoint": "https://acme.example.com/cortex/triggers", "supported_modes": ["ask", "notify"], "registered_at": "2026-06-10T10:00:00Z", "is_canonical": true }
  ]
}

Errors this tool can return

CodeMeaning
invalid_argumentsTool input failed Zod validation.
unauthorizedMissing or invalid bearer token.
quota_exceededPer-minute, daily call, or daily inference budget exceeded.

See the full error catalog for resolution steps on each code, plus the standard transport-layer responses (401, 429).