Agents
voice_agents_list, voice_agent_get and voice_agent_update: instructions, greeting, knowledge and model.
Follow call-answering agents, the call log and transcripts, edit the agent's instructions, and route existing phone numbers to the right agent, from any MCP client.
Routing applies from the next call
A partner key sees only its organisation's agents and numbers. The service does not buy numbers or start calls.
Reads and writes in the voice platform itself, and every change is recorded in the review log.
voice_agents_list, voice_agent_get and voice_agent_update: instructions, greeting, knowledge and model.
voice_calls_search, voice_call_get and voice_call_transcript: status, summary and transcript (personal data for the admin key only).
voice_numbers_list, voice_number_assign and voice_number_unassign: who answers each number, and whether the number is on the outbound line.
Use the service URL and your key.
“Make number +1 785 answered by the receptionist”
Routing is read on every call, so the next call goes to the new agent.
Streamable HTTPhttps://voice-mcp.marsaplatform.com/mcpBearer YOUR_API_KEYEvery request needs Authorization: Bearer YOUR_API_KEY.
https://voice-mcp.marsaplatform.com/mcpclaude mcp add --transport http voice https://voice-mcp.marsaplatform.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"~/.cursor/mcp.json{
"mcpServers": {
"voice": {
"url": "https://voice-mcp.marsaplatform.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}.vscode/mcp.json{
"servers": {
"voice": {
"type": "http",
"url": "https://voice-mcp.marsaplatform.com/mcp",
"headers": {
"Authorization": "Bearer ${input:voice-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "voice-key",
"description": "Voice MCP API key",
"password": true
}
]
}VS Code asks for the key once and stores it securely.
claude_desktop_config.json{
"mcpServers": {
"voice": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://voice-mcp.marsaplatform.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer YOUR_API_KEY"
}
}
}
}Claude Desktop reaches remote servers through mcp-remote, which needs Node.js. Restart the app after editing.
curl -s -X POST https://voice-mcp.marsaplatform.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test","version":"1"}}}'With a valid key you get the initialize result. Without a key you get 401.
The original page states: “11 MCP tools”. The full list is generated from tools/list once a read key is configured for this site; until then any MCP client shows it after you connect.
read covers status, agents and numbers; write adds editing the agent and routing numbers; admin adds call details and transcripts.
No. It manages numbers that already exist only, and never starts a call.
Request an access key from the key request page (Arabic form).
The real response for a request without a key:
WWW-Authenticate: Bearer realm="Voice Platform MCP"
authentication requiredSend the header exactly as Authorization: Bearer YOUR_API_KEY.