Hanzo AI

projects

projects: 48 operations.

projects: 48 operations. Name one in "op" and pass that operation's own arguments in "input". describe returns an operation's input schema.

Toolprojects
Addresshttps://api.hanzo.ai/v1/mcp
Methodtools/call (JSON-RPC 2.0)
Arguments2, 1 required
Operationnone in the OpenAPI document
Product

Arguments

FieldTypeRequiredDefaultValuesDescription
inputobjectarguments for the chosen op
opstringyesone of the operations below

op — what each one does:

  • delete_project — Deletes a project and takes its site off the internet.
  • delete_project_domain — Gives a custom hostname back, so the name is free to reuse.
  • list_projects — Returns every project your org owns.
  • get_project — Returns one project of yours by slug — its settings, its live URL and the deployment currently serving it.
  • list_project_deployments — Returns a project's deploy history, newest version first.
  • get_project_deployment — Returns one deployment of a project by id.
  • list_project_domains — Returns every custom hostname this site holds: the live ones, plus any pending claim with the DNS records it still owes.
  • update_project — Changes a project's settings, and only the settings you send.
  • create_project — Creates a project — the handle a site is deployed and served under — and answers 201 with it in draft.
  • deploy_project — Takes a built site live at https://<slug>.hanzo.app in one call.
  • create_project_deployment — Opens a deployment and hands back a short-lived, prefix-scoped grant to write its bytes straight to object storage.
  • complete_project_deployment — CompleteDeployment is the CI completion hook that flips a queued git deployment to live (or error) once CI has synced…
  • create_project_domain — Attaches one or more CUSTOM public hostnames to this org's site.
  • verify_project_domain — Checks the DNS challenge for a pending custom hostname and, when it passes, promotes the host so it begins routing at…
  • purge_project — Flushes the site's edge cache without redeploying anything.
  • create_project_fork — Creates a project seeded from a PUBLISHED EXAMPLE — either a starter-kit template from the ONE embedded gallery…

tools/list declares a type, a description, which fields are required and an enumerated value set for each field and nothing further, and the OpenAPI document describes no operation for this tool. A above means neither source constrains the field, not that it is unconstrained in practice.

Call it

A tools/call carries every argument in one flat object — nothing binds to a path or a query string. This call carries exactly the arguments the operation requires, so it is the smallest one that can run.

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "projects",
         "arguments": {
           "op": "list_projects"
         }
       }
     }'

Values are the operation's own defaults and enumerated values where it declares them, and a <placeholder> where neither source declares one. tools/list needs no credential; tools/call does — called without one MCP answers HTTP 200 with a JSON-RPC result whose isError is set and whose text says what was missing. How to get a key →

The operation behind it

MCP exposes projects, but the copy of the OpenAPI document this build holds (pinned at 529be4ccb) describes no operation for it — neither under that name nor at the route the name implies. That is either a route the document has yet to declare, or one MCP has renamed since the pin. Everything on this page comes from tools/list; there is no REST reference to link to until the two agree.


All 121 tools · MCP · API reference

Generated from tools/list on https://api.hanzo.ai/v1/mcp — 121 tools captured 2026-08-16.

How is this guide?