Run Zumu from any MCP client.
Zumu’s own MCP server puts the whole platform in your AI assistant, and it changes an agent the way your team would: on a branch, tested, then published.
Server URL
- You
When a caller says their pet is limping, Front desk should offer today’s first open slot before any other day. Change it on a branch, run the booking test, and publish if it passes.
- zumu
create_agent_branch{ "branch": { "name": "same-day-first" } }branch ready - zumu
patch_agent_prompt1 anchored edit · content hash checkedrevision saved - zumu
test_run“Limping pet books same day”passed - zumu
merge_agent_branch{ "sourceBranchId": "same-day-first" }merged - zumu
publish_agent{ "agentId": "a41f…" }live - Assistant
Done. Front desk now offers a limping pet today’s first open slot. The booking test passed on the branch before any caller heard the change.
PublishedFront desk · live
Example · Linden Animal Clinic
Connect
Add the URL, sign in, and get to work.
Your client finds Zumu’s sign-in on its own. There is no key to paste and none to rotate by hand.
- Add
- Custom connector
- Name
- Zumu
- URL
https://api.zumu.ai/ platform/ mcp - Sign-in
- Your Zumu account, over OAuth
claude mcp add --transport http \
zumu \
https:// api.zumu.ai/ platform/ mcp{
"mcpServers": {
"zumu": {
"url": "https:// api.zumu.ai/ platform/ mcp"
}
}
}{
"servers": {
"zumu": {
"type": "http",
"url": "https:// api.zumu.ai/ platform/ mcp"
}
}
}The handshake
Standard OAuth, down to the last token.
Your client signs in once and holds only tokens that expire or rotate. Disconnect it from your dashboard and its next request is refused.
- Your client sends:
POST /platform/mcpZumu answers:401 UnauthorizedWWW-Authenticate: Bearer realm="zumu", resource_metadata="…/oauth-protected-resource" - Your client sends:
GET /.well-known/ oauth-authorization-server/ platform Zumu answers:200 OK{ "registration_endpoint": "…/oauth/ register", "scopes_supported": ["mcp"], … } - Your client sends:
POST /platform/ oauth/ register { "client_name": "Your MCP client", … }Zumu answers:201 Created{ "client_id": "c7e41b0a-…", "token_endpoint_ auth_ method": "none", … } - Your client sends:
GET /platform/ oauth/ authorize ?response_type= code& code_challenge= … &client_id=c7e41b0a-… Zumu answers:302 → your Zumu dashboardsign in, choose the organization and project 302 → http://127.0.0.1:33418/callback? code= … - Your client sends:
POST /platform/ oauth/ token grant_type=authorization_code& code= … & code_verifier= …& client_id=c7e41b0a-… Zumu answers:200 OK{ "access_token": "…", "expires_in": 3600, "refresh_token": "…" } - Your client sends:
POST /platform/ oauth/ token grant_type=refresh_token& refresh_token= … Zumu answers:200 OK{ "access_token": "…", "refresh_token": "…" }
The tools
The whole platform, as tools.
Everything your dashboard does is a tool here, its schema generated from the running service, so your assistant sees what’s deployed.
Calls & records
Any conversation, down to the tool call.
list_callsget_callget_call_tool_callget_call_recording_urlget_call_cost_breakdown
Agents & prompts
Build agents and edit long prompts by anchor.
create_agentupdate_agentpatch_agent_promptlist_agent_prompt_revisions
Branches & releases
Preview a merge, and split traffic to test a change.
create_agent_branchpreview_agent_branch_mergeset_agent_traffic_splitpublish_agent
Tests & quality
Scripted conversations and the checks that judge them.
test_createtest_runevaluation_get
Automations & tools
Webhooks and their runs, imported APIs, connected servers.
agent_trigger_createget_agent_trigger_runtool_http_import_spectool_mcp_sync
Outbound
Single calls and full campaigns.
outbound_call_createoutbound_campaign_launchoutbound_dnc_add
Knowledge & contacts
What the agent knows, and who it is talking to.
resource_createretrieve_contextcontact_resolve_or_create
Numbers & voices
Buy the line, choose or clone the voice.
phone_number_searchphone_number_purchaselist_voicesvoice_clone_start
Analytics & billing
The dashboard’s numbers and the balance behind them.
analytics_overviewanalytics_time_seriesanalytics_heatmapanalytics_costbilling_overview_get
Your MCP servers, on the call.
Connect any MCP server with standard OAuth or your own headers, and choose what each of its actions may do.
- Allow
- Runs whenever the agent needs it.
- Ask
- Reads back exactly what will change, and runs once the caller confirms.
- Block
- Never reaches the model.
linden-appointmentsConnected
https://
- Sign-in
- OAuth 2.0 · RFC 7591 registration · RFC 8707 audience-bound tokens
- Discovery
- Tools synced 07:40
| Action | What it does | Permission |
|---|---|---|
find_open_slots | Open appointment slots by vet and day | Allow |
book_visit | Book a visit for a pet on file | Allow |
reschedule_visit | Move a booked visit | Allow |
update_client | Change an owner’s phone or address | Ask |
apply_credit | Credit an owner’s account | Ask |
delete_client | Remove an owner and their pets | Block |
Your team stays in control.
Can we see and undo what an assistant changed?
Yes. Every prompt edit is kept as a revision, with who made it and when, and any revision can be restored.
What can an assistant change?
The assistant acts under the role of the person who signed in: organization roles, project roles and custom permissions.
Can a script or CI job use it, with no one signing in?
Give that job the REST API. It authenticates with client credentials and needs no one at a keyboard; the MCP server is for a person working through an AI assistant, under their own sign-in.
Work on your agent from Claude or Cursor.
During the demo, your own MCP client edits a branch of the agent we build with you.
publish_agent { "agentId": "a41f…" }PublishedFront desk · live
