Voice MCP

Your voice receptionist.In your agent's hands.

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.

+1 785The receptionist

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.
  • 11 MCP tools
  • Read, write or full admin
  • Isolation per organisation
  • Routing applies from the next call

Your calls and numbers.In one question.

  • Agents and their settings
  • Calls, summaries and transcripts
  • Routing current numbers to agents

A partner key sees only its organisation's agents and numbers. The service does not buy numbers or start calls.

All answering agentswithin your agent's reach.

Reads and writes in the voice platform itself, and every change is recorded in the review log.

Agents

voice_agents_list, voice_agent_get and voice_agent_update: instructions, greeting, knowledge and model.

Calls

voice_calls_search, voice_call_get and voice_call_transcript: status, summary and transcript (personal data for the admin key only).

Numbers

voice_numbers_list, voice_number_assign and voice_number_unassign: who answers each number, and whether the number is on the outbound line.

How it works.

  1. Connect an MCP client

    Use the service URL and your key.

  2. Ask or route

    “Make number +1 785 answered by the receptionist”

  3. The change works immediately

    Routing is read on every call, so the next call goes to the new agent.

Connect

Transport
Streamable HTTP
URL
https://voice-mcp.marsaplatform.com/mcp
Authorization
Bearer YOUR_API_KEY

Every request needs Authorization: Bearer YOUR_API_KEY.

URLhttps://voice-mcp.marsaplatform.com/mcp
Claude Code (CLI)
Terminal
claude mcp add --transport http voice https://voice-mcp.marsaplatform.com/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"
Cursor ~/.cursor/mcp.json
mcp.json
{
  "mcpServers": {
    "voice": {
      "url": "https://voice-mcp.marsaplatform.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
VS Code .vscode/mcp.json
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 claude_desktop_config.json
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.

Quick test with curl
Terminal
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.

Tools

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.

FAQ

What is the difference between read, write and admin keys?

read covers status, agents and numbers; write adds editing the agent and routing numbers; admin adds call details and transcripts.

Does it buy numbers or call people?

No. It manages numbers that already exist only, and never starts a call.

How do I get a key?

Request an access key from the key request page (Arabic form).

401 Unauthorized

The real response for a request without a key:

HTTP/2 401 · text/plain; charset=utf-8
WWW-Authenticate: Bearer realm="Voice Platform MCP"

authentication required

Send the header exactly as Authorization: Bearer YOUR_API_KEY.