The Indus Labs MCP server lets you build, test and improve your voice agents from the AI assistant you already use: Claude, ChatGPT, Cursor or any client that supports the Model Context Protocol. Describe the agent you want, and the assistant creates it, writes drafts, checks them, reads your call transcripts and, with your approval, publishes the changes.
https://mcp.induslabs.io/mcp
You need an Indus Labs account. Sign up or log in at playground.induslabs.io. The assistant can only see and change agents in your own workspace.
Claude and ChatGPT sign you in with your Indus Labs account (OAuth). Developer tools such as Claude Code and Cursor use a personal access token, which you create in the MCP console.
https://mcp.induslabs.io/mcp.On Team and Enterprise plans, an Owner may need to add the connector for the organization first.
https://mcp.induslabs.io/mcp and choose OAuth.claude mcp add --transport http indus https://mcp.induslabs.io/mcp \
--header "Authorization: Bearer indus_pat_..."
Create a personal access token in the MCP console, then add the server to ~/.cursor/mcp.json (or your client's MCP settings):
{
"mcpServers": {
"indus": {
"url": "https://mcp.induslabs.io/mcp",
"headers": { "Authorization": "Bearer indus_pat_..." }
}
}
}
"Create a Hindi and English voice agent for Sharma Dental that books, moves and cancels appointments. Use a warm female voice."
Claude checks the available voices and languages, creates the agent and a draft, validates it, and gives you a link to test it in your browser.
"Read the last 10 calls of my collections agent and tell me where callers got confused. Then fix the prompt in a draft."
Claude reads the transcripts, summarises the problems, and writes the fixes into a new draft. Your live agent is not changed.
"Show me what changed in the draft and publish it if it looks right." or "Undo the last publish."
Claude shows the differences and any warnings, asks you to approve, and only then publishes. Reverting uses the same approval step.
Read tools change nothing. Write tools create agents, drafts or Gem sessions but never change a live agent. Overwrite tools replace a draft or brief in place, and Destructive means it changes what your callers hear. Your assistant asks you before either.
| Tool | What it does | Type |
|---|---|---|
| Discover | ||
List agent optionslist_options | Voices, languages, LLM, STT and guardrail choices you can use. | Read |
List agentslist_agents | Agents in your workspace. | Read |
Get agentget_agent | One agent and its live configuration. | Read |
List config versionslist_config_versions | Published and draft versions of an agent. | Read |
Get config versionget_config_version | One configuration version in full. | Read |
Compare config versionsdiff_config_versions | What changed between two versions. | Read |
| Build | ||
Create agentcreate_agent | A new agent (it gets no phone numbers or traffic). | Write |
Create config draftcreate_config_draft | A draft version; the live version is untouched. | Write |
Update config draftupdate_config_draft | Change a draft: prompt, voice, language, models. Overwrites the draft's current values. | Overwrite |
Validate configvalidate_config | Check a version for problems. | Read |
Preview rendered promptrender_preview | The prompt the agent will use, with variables filled in. | Read |
Suggest prompt improvementsenhance_prompt | Suggested prompt changes for a version. | Read |
| Publish | ||
Prepare publishprepare_publish | The changes and warnings, and a confirmation for publishing. | Read |
Prepare revert of last publishprepare_revert_last_publish | Same, for going back to the previous version. | Read |
Publish agent versionpublish | Make a prepared version live. Needs your approval. | Destructive |
| Gem builder | ||
Start Gem buildergem_start | Start a guided agent-building session. | Write |
Answer Gem questiongem_answer | Answer the builder's next question. | Write |
Update Gem briefgem_update_brief | Replace the agent brief with an edited copy. | Overwrite |
Answer Gem build gapsgem_gaps | Answer the details a build is missing; starts a rebuild. | Write |
Build agent with Gemgem_build | Generate the agent from the brief. | Write |
Get Gem session statusgem_status | Progress of a Gem session. | Read |
Create agent from Gemgem_create_agent | Save the generated agent to your workspace. | Write |
| Calls | ||
List recent callslist_recent_calls | Recent calls for an agent. | Read |
Get call transcriptget_transcript | A call's transcript, with phone numbers and emails masked. | Read |
Get test call linkget_test_call_link | A dashboard link to talk to the agent in your browser. | Read |
When you connect, you approve these permissions for that app:
| Permission | Allows |
|---|---|
agents:read | See your agents, versions and options. |
agents:write | Create agents and drafts. |
agents:publish | Publish a version or undo a publish, after your approval. |
gem:use | Use the Gem agent builder. |
calls:read | Read your recent calls and transcripts. |
Open the MCP console. Under Connected apps, revoke the app or token. It stops working at once. You can also remove the connector in your assistant's settings.
Need help? Email hello@induslabs.io. To build agents with code instead, see the Agent Management APIs.