MCP Server
The Essere Voice API ships a built-in MCP server, so AI assistants and agent frameworks can work with your account directly — no glue code.
- Endpoint:
https://voice-public-api.essere.ai/mcp - Transport: Streamable HTTP
- Auth: the same API keys as the REST API, sent as
Authorization: Bearer $ESSERE_API_KEY
Available tools
| Tool | Needs scope |
|---|---|
list_calls, get_call, get_call_transcript, get_call_insights |
read |
list_appointments |
read |
list_agents, list_numbers |
read |
get_usage |
read |
list_contacts |
read |
create_contact, update_contact |
read_write |
Which clients work today
The server authenticates with a Bearer API key in a custom header. That means it works TODAY with any MCP client that lets you configure request headers:
- Claude Code (
--header) - Cursor (mcp.json
headers) - VS Code (mcp.json
headers) - any other client with custom-header support (generic config below)
Not yet supported: the claude.ai and ChatGPT web connectors — both require OAuth-based MCP authorization, which this server does not implement yet. OAuth support is on the roadmap; until then use a header-capable client.
Create a read-scope key for AI assistants. Least privilege: a
readkey lets the assistant analyze calls, transcripts, and appointments but can never modify your data. Grantread_writeonly if you specifically want contact-sync through the assistant.
⚠️ Never paste a live API key into an AI chat or prompt. Configure the key in the client's server settings (it is sent as a request header) — do not type it into the conversation itself, and never commit it to source control.
Connect from Claude Code
claude mcp add --transport http essere-voice https://voice-public-api.essere.ai/mcp \
--header "Authorization: Bearer $ESSERE_API_KEY"
Connect from Cursor / VS Code
Both accept an mcp.json with custom headers — use the generic config below
(Cursor: .cursor/mcp.json; VS Code: .vscode/mcp.json).
Generic JSON config
Most header-capable MCP clients accept a config like this (replace
<your API key> from your secret store — never hard-code it in a committed
file):
{
"mcpServers": {
"essere-voice": {
"type": "http",
"url": "https://voice-public-api.essere.ai/mcp",
"headers": {
"Authorization": "Bearer <your API key>"
}
}
}
}
Notes
- Rate limits are shared with your REST usage (120 req/min per key, fixed window).
- Tool results use the same schemas and IDs as the REST API — an assistant
can hand off
call_...IDs to your own code seamlessly. - Prefer a
readkey unless the assistant must create or update contacts. - Any LLM client you connect processes your call and contact data — see the Data processing note in the auth guide. Revoke the key to cut access.
- Try it: connect, then ask your assistant "Summarize yesterday's calls and list any captured leads."