Build PolyAI agents without leaving your editor: introducing the Builder MCP
Create, test, and ship PolyAI dialog agents in natural language — from inside your editor.
The PolyAI Builder MCP, available today, is a Model Context Protocol server that lets you create, configure, test, and deploy dialog agents in natural language, from inside the AI coding agent you already use. It exists to kill a specific tax. Building a dialog agent has meant living in two places at once: your logic in your IDE, your configuration in the Dialog Studio dashboard. The other option was no better — hand-rolling REST calls against our API and babysitting every response. Editor, browser, editor, browser. That switching is now optional.
What is the Builder MCP?
The Model Context Protocol is an open standard, introduced by Anthropic, for connecting AI agents to external tools and data. A server exposes a set of tools , the agent reads them, and it calls the right one in response to a plain-language request. ( Anthropic’s MCP spec covers the protocol itself in depth.)
The Builder MCP wraps the full PolyAI REST API in that standard, so every capability the API exposes becomes a tool your agent can call on your behalf. Through it, your agent can:
- create, configure, duplicate, and delete agents
- manage knowledge-base topics and agent behavior rules
- version agents with branches (create, merge, sync)
- manage variants, config pages, and per-environment config
- import and manage phone numbers and telephony connectors
- publish, promote, and roll back deployments across environments
- pull conversations, audio recordings, and set alert rules
- place outbound calls, once telephony is configured for the agent
Nothing changes under the hood. It’s just a new way into the platform you already build on.
Three reasons the Builder MCP changes how you’ll work.
You stop leaving your editor. The whole build loop (list your agents, scaffold a new one, give it knowledge, open a chat session to test it, version it on a branch) happens in one place, in the language you’d use to describe it to a colleague.
It’s the full enterprise functionality, not just a starter kit. Plenty of voice platforms now ship an MCP for the basics. The Builder MCP exposes what enterprise teams actually need to go to production: branch-based versioning, configuration variants, deployment promotion and rollback across environments, observability, telephony, and outbound calling once telephony is set up.
It compounds. Because the Builder MCP wraps the REST API rather than reimplementing a slice of it, capability coherence is automatic. Anything Dialog Studio and the API can do, the MCP can do, and as the PolyAI’s capability grows, so does the MCP, with no new integration work on your side.
What does the Builder MCP look like in practice?
Here’s an example sequence, handed to Claude Code as one set of instructions. Each plain-language step maps to a real Builder MCP tool.
⚠ Tool names below are the live server’s real names. Response payloads are representative, reconstructed from each tool’s input schema — capture real responses from a live run before publishing. IDs (agt_…, cnv_…) are illustrative.
Start from an empty account.
“List the agents in my account.”
→ list-agents(accountId: "acct_7b3e...")
← [] // no agents yet Create an agent.
“Create a dialog agent for a dental office, greeting callers by name of the practice.”
→ create-agent(accountId: "acct_7b3e...", body: {
name: "Bright Smile Dental",
responseSettings: { greeting: "Thanks for calling Bright Smile Dental. How can I help?" },
voiceSettings: { voiceId: "vox_en_us_1" }
})
← { "agentId": "agt_3f9a...", "name": "Bright Smile Dental" } // representative Test it in a chat session.
“Open a debug chat session and send it a message.”
→ create-a-new-debug-chat-session(agentId: "agt_3f9a...", body: { clientEnv: "draft" })
← { "conversationId": "cnv_5c2d..." }
→ send-a-message-to-a-debug-chat-session(agentId: "agt_3f9a...",
conversationId: "cnv_5c2d...", body: { message: "Hi", clientEnv: "draft" })
← { "reply": "Thanks for calling Bright Smile Dental. How can I help?" } Version it on a branch and add knowledge.
“Create a branch, then add a knowledge-base topic for our hours and services.”
→ create-branch(agentId: "agt_3f9a...", body: { branchName: "add-hours-kb" })
← { "branchId": "brn_9a1c..." }
→ create-knowledge-base-topic(agentId: "agt_3f9a...", branchId: "brn_9a1c...", body: {
name: "Hours & Services",
content: "Open Mon-Fri 8am-5pm. Services: cleanings, fillings, whitening."
})
← { "topicId": "tpc_b21c...", "isActive": true } Tear it down when you’re done.
“Delete the agent.”
→ delete-agent(agentId: "agt_3f9a...")
← { "deleted": true } List, create, test, version, delete — the full lifecycle, without opening the dashboard or writing a single HTTP request by hand. The full walkthrough is here on Loom .
How do I get started with the Builder MCP?
The Builder MCP is available in all regions, and connecting it takes a single command. Because it's built on our REST API, you authenticate with a workspace-scoped PolyAI API key . Create one from the API Keys tab on your workspace homepage in Dialog Studio: name it, choose which agents it can access, set its permissions, and copy it — the full key is shown only once. Scope it to the least access it needs, and store it in your client's secret settings rather than pasting it into a prompt. (OAuth is coming; today, API-key auth is the self-serve method.)
In Claude Code:
claude mcp add --transport http polyai https://api.us.poly.ai/builder-mcp \
--header "X-API-KEY: $POLY_API_KEY_US" \
--header "Accept: application/json, text/event-stream" That command targets the US region. Pick the server name, endpoint, and key for your own region — or, if you signed up through the poly.ai website, the studio (self-serve) endpoint — and substitute them into the template above:
| Region | Server name | Endpoint | API key variable |
|---|---|---|---|
| US | polyai | https://api.us.poly.ai/builder-mcp | $POLY_API_KEY_US |
| UK | polyai-prod-uk | https://api.uk.poly.ai/builder-mcp | $POLY_API_KEY_UK |
| EU (West) | polyai-prod-euw | https://api.eu.poly.ai/builder-mcp | $POLY_API_KEY_EUW |
| Website (self-serve) | polyai-plg | https://api.studio.poly.ai/builder-mcp | $POLY_API_KEY_PLG |
Your key's region must match your workspace. Any MCP-compatible agent works the same way — Cursor, Claude Desktop, and Codex each take the same URL and headers in their own config format (the quickstart has copy-paste snippets for each). Then open a session, describe what you want to build, and let the agent make the calls.
The quickstart connects your client in one command, the end-to-end walkthrough builds your first agent step by step, and the capabilities reference lists every tool grouped by domain.
What’s next?
Our work here is just beginning. Connect the Builder MCP, build something with it, and tell us where it gets in your way. The field signal is what shapes where we take it next. Let us know what you think: developers@poly-ai.com