Chamade — Claude Code MCP server: voice and chat in calls
Lets an AI agent sit in voice meetings and direct messages: it joins a call, speaks out loud and posts to the chat. A CHAMADE_API_KEY is required.
claude mcp add server -- npx -y @chamade/mcp-serverWhat Chamade does
Chamade is a gateway that puts your agent into calls and conversations on Discord, Microsoft Teams, Google Meet, Telegram, SIP, Zoom, Nextcloud Talk, Slack and WhatsApp. The MCP server exposes the control tools: chamade_call_join brings the agent into a meeting by URL, chamade_call_say reads text aloud, chamade_call_chat posts a message into the meeting chat, and chamade_call_status returns call state plus fresh transcript lines. A ringing inbound call is answered with chamade_call_accept or turned down with chamade_call_refuse.
The server itself lives at https://mcp.chamade.io/mcp/ over Streamable HTTP. If your client speaks HTTP, skip the npm package and point it at that endpoint. Clients limited to stdio can install @chamade/mcp-server, a thin wrapper that spawns mcp-remote and bridges stdio to the same hosted endpoint. Tools and events match, because there is no separate stdio implementation.
Speech works like this: you store your own ElevenLabs, Deepgram, OpenAI or Cartesia key in the dashboard, and Chamade runs the speech pipeline on its side. Transcripts arrive as call_transcript events. If you already have a voice pipeline, the server hands you the call's raw PCM audio over a bidirectional WebSocket — Chamade carries it, you run the speech layer. Without CHAMADE_API_KEY the wrapper refuses to start: an empty value or a placeholder such as chmd_... is rejected, and it does not fall back to OAuth.
What it helps with
- get an agent into a voice meeting from a URL
- speak a reply out loud during a call
- send a file into a meeting chat or a DM
- read new transcript lines without polling by hand
- answer or decline a ringing inbound call
Example prompts for the agent
- Join the meeting at this link and say we're starting
- Post the file with this
file_idinto the call chat and caption it - Show me the new transcript lines from this call
How to install Chamade
1Platform CLI
claude mcp add server -- npx -y @chamade/mcp-server2Platform CLI: remote server
claude mcp add --transport http chamade https://mcp.chamade.io/mcp/1Platform CLI: remote server
codex mcp add chamade --url https://mcp.chamade.io/mcp/2Platform CLI
codex mcp add chamade -- npx -y @chamade/mcp-serverConfig file
{
"mcpServers": {
"chamade": {
"url": "https://mcp.chamade.io/mcp/"
}
}
}{
"mcpServers": {
"chamade": {
"command": "npx",
"args": [
"-y",
"@chamade/mcp-server"
]
}
}
}Config file
{
"servers": {
"chamade": {
"type": "http",
"url": "https://mcp.chamade.io/mcp/"
}
}
}{
"servers": {
"chamade": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@chamade/mcp-server"
]
}
}
}1Platform CLI: remote server
gemini mcp add -t http chamade https://mcp.chamade.io/mcp/2Platform CLI
gemini mcp add chamade npx -y @chamade/mcp-serverStep by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Chamade
How do I install Chamade in Claude Code?
For HTTP: claude mcp add --transport http chamade https://mcp.chamade.io/mcp/. For the stdio route: claude mcp add chamade -- npx -y @chamade/mcp-server.
What does Chamade do?
It gives an agent tools for calls and messaging: joining a meeting, speaking aloud, posting to chat, handling inbound calls and reading transcripts.
What does the server need to run?
A CHAMADE_API_KEY value in the chmd_… form. The stdio wrapper will not start without it.