Hanzo
Start

Tools

List the MCP tools this key can reach.

List the MCP tools this key can reach.

Send method=tools/list, assert the count is greater than zero, print three names. POST /v1/mcp is the fleet's one MCP door — it composes the typed product operations with the external MCP servers the caller's org has enabled — and it is now IN hanzo.yaml, which is what this flow was waiting for: an example built on an undeclared route is a hand-rolled HTTP call inside a generated client, the exact drift these SDKs exist to prevent. JSON-RPC reports failure INSIDE a 200, so an example reads error before result and result.isError before result.content. The same operation with method=tools/call runs one. cloud_get_v1_tools is the REST view of the same catalogue and stays available; the door is what an MCP client speaks. The automations door (/v1/automations/mcp — automations_mcp) is retired: it replies 405 to POST, the method it documents.

JSON-RPC call

POST /v1/mcp · reference →

One request, one response, three methods. initialize reports the protocol version and server capabilities; tools/list returns every tool this credential can reach; tools/call runs one by name.

Read error before result, and result.isError before result.content: both failure channels live inside a 200.

id is declared a string. The wire accepts a number too — JSON-RPC 2.0 allows either and this door echoes back the type it was given — but a scalar oneOf generates an empty carrier class in every typed language, so the document declares the one form all of them can send.

ParameterInRequiredDescription
jsonrpcbodyyesAlways 2.0.
idbodyEchoed back on the response; a request without one is a notification. JSON-RPC 2.0 allows a string OR a numbe
methodbodyyesAnything else answers -32601 method not found.
paramsbody

hanzo has no subcommand for this operation — the CLI serves only what cloud's live route table confirms. Use HTTP or an SDK.


Every command, call and tool above is generated from the same OpenAPI document that generates the SDKs themselves — the four surfaces are projections of one doc comment, so they cannot disagree.

How is this guide?

On this page