
Chamade
io.chamade由 chamade.io 发布官方发布者v5.1.0更新于 Oct 24, 2026
Voice and chat for AI agents — Discord, Teams, Meet, Slack, Zoom, Telegram, WhatsApp, NC Talk, SIP
概览
Chamade 是语音与聊天网关,让 AI 助手加入 Discord、Teams、Meet、Slack、Zoom、Telegram、WhatsApp、Nextcloud Talk 和 SIP 的会议与私信。
- 可以做什么
- 加入、接听、拒接、列出和离开语音会议及来电,用 TTS 朗读文本或发送带附件的会议聊天消息,读取通话状态与增量转写,并在会议聊天中显示正在输入。查看 Discord、Telegram、Teams、WhatsApp、Slack 和 Nextcloud Talk 的私信收件箱,发送带附件的私信并显示正在输入。生成短时有效的预签名上传链接,让本地文件无需鉴权即可上传并以 file_id 引用。查看账户状态、套餐、额度及各平台可用情况。以资源形式读取实时通话转写,并可选接收新消息、来电和转写行的推送事件。
- 适用场景
- 适合需要让助手参加或在线会议中发言、接听来电,或在聊天平台上处理私信(含收发文件)的场景。尤其适合以文本驱动的助手,由 Chamade 使用自带密钥的 STT/TTS 服务商运行语音层。
- 运行要求
- 可通过 Streamable HTTP 连接 mcp.chamade.io 远程端点,或对仅支持 stdio 的客户端使用 npm 包 @chamade/mcp-server 作为 stdio 桥接(经 npx 需要 Node.js)。必须鉴权:使用 Chamade 后台生成的 Authorization Bearer API 密钥(chmd_ 前缀),支持的客户端也可用 OAuth 2.1;桥接模式需要环境变量 CHAMADE_API_KEY。可选 CHAMADE_URL 与 CHAMADE_MCP_URL 覆盖地址。Teams、Meet 等平台需在后台完成 OAuth 连接;语音需自备 STT/TTS 服务商密钥。
安装
在 SourceWeft 中
- 打开 控制台中的 Chamade,将其添加到工作区。
- 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
交给智能体安装
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.chamade%2Fserver/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。
{
"mcpServers": {
"chamade": {
"type": "http",
"url": "https://mcp.chamade.io/mcp/"
}
}
}README
@chamade/mcp-server
[npm version] [npm downloads] [License: MIT]
MCP (Model Context Protocol) server for Chamade — a voice and chat gateway that lets your AI agent join meetings and DMs on Discord, Microsoft Teams, Google Meet, Telegram, SIP, Zoom, Nextcloud Talk, Slack, and WhatsApp.
The recommended voice path is hosted STT/TTS with bring-your-own-key. Drop your own ElevenLabs / Deepgram / OpenAI / Cartesia API key in your dashboard once — Chamade runs the full speech pipeline on its side using that key. Transcripts flow in as call_transcript events, chamade_call_say speaks into the meeting. Free on Chamade's side; you only pay your provider. Your agent stays fully text-driven.
Already have a voice pipeline you want to keep (OpenAI Realtime, LiveKit Agents, Pipecat, Deepgram Voice Agent, a manual cascade)? Chamade also exposes the call's raw-PCM audio as a bidirectional WebSocket — BYO audio, Chamade transports, you run the speech layer. Either mode, same MCP tools for control.
File attachments work out of the box on DMs and meeting chat for Discord, Telegram, Slack, WhatsApp (incl. voice notes), and Nextcloud Talk. Use chamade_file_upload_url to mint a pre-signed no-auth upload URL, then pass the returned file_id in attachments on chamade_dm_chat or chamade_call_chat. Inbound files arrive on chamade_inbox as Chamade-signed URLs — your agent can curl them with no extra auth. Teams + Meet support is code-ready but gated until the respective platform certifications complete.
Chamade is currently in early access: free, no subscription, no quota.
v4: hosted MCP + thin stdio shim
The Chamade MCP server is now hosted at https://mcp.chamade.io/mcp/ and speaks the Streamable HTTP transport. That's the single source of truth — every tool, every resource, every push event lives there.
- If your MCP client supports Streamable HTTP (Claude Desktop recent, Claude Code, Cursor, Windsurf, …), configure it directly against the hosted endpoint. You don't need this npm package.
- If your MCP client is stdio-only, install this package. Since v3 it's a ~160-line wrapper that spawns
mcp-remoteunder the hood to bridge stdio to the hosted HTTP endpoint. Same tools, same push events, same latency. Zero drift because there is no parallel stdio implementation.
What changed in v4
v4 is a server-side wire-shape change picked up automatically by the shim. Headline items, full detail in docs/AGENTS.md:
- Channels are now Agents. Per-bearer scoping is unchanged; the noun is
agenteverywhere on the wire and in tool descriptions. account_idis the canonical join key. Used identically inchamade_dm_chat,chamade_call_join, event payloads, and reply XML tag attributes.- Event payload v2.
datacarriesaccount_id+from+from_name(sender_* fields removed) and a pre-stuffedagent_context.{accounts, active_calls}snapshot so the agent always knows what it's on without an extra round-trip. - Explicit-target XML tags. Reply XML can now address conversations / calls outside the current reply context (
<dm platform=…>,<call_say call_id=…>, …) for cross-target initiation. - Auto-MCP attachment. Providers with native MCP-as-tool support (OpenAI Responses, Anthropic Managed Agents, Foundry) receive the Chamade MCP server pre-injected with a per-agent bearer.
Earlier versions of this package (v2.x and below) shipped a full native stdio server that implemented the 13 tools locally in TypeScript against Chamade's REST API. v3+ replaces that with a shim — please upgrade to avoid maintaining two surfaces that slowly diverge.
Quick start
Option A — HTTP direct (preferred)
If your client speaks Streamable HTTP, skip this package entirely:
Option B — stdio shim (this package)
For stdio-only clients:
CHAMADE_API_KEY is required. Get a real one at https://chamade.io/dashboard → API keys and paste the full chmd_… value (≥ 40 chars after the prefix). If the env var is missing, empty, or still contains a placeholder like chmd_..., the shim refuses to start instead of silently falling back to OAuth — that fallback path loops on refresh-and-revoke and is not a viable auth method for this server.
Configuration
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows). Use Option A or B above.
Claude Code
.mcp.json at the root of your project. Use Option A (HTTP direct) for the best experience.
For real-time push events (transcripts, incoming DMs, ringing calls, WhatsApp dm_delivered flush), launch Claude Code with the channel flag every time:
The flag is a per-launch client-side opt-in mandated by Claude Code for MCP channels not yet on the Anthropic allowlist — it's not dangerous, it's just the standard opt-in for experimental channels during the research preview. The server name after server: must match the key in your .mcp.json. Without the flag, tools still work but push events are silently ignored — you have to poll chamade_inbox and chamade_call_status to see new activity.
Cursor / Windsurf / OpenClaw
Same format. Path varies by client: .cursor/mcp.json, ~/.codeium/windsurf/mcp_config.json, ~/.openclaw/config.json. Use Option A if the client supports HTTP, otherwise Option B.
Tools
Resources
Channel mode (push events)
Channel mode pushes DM messages, incoming SIP calls, transcript lines, call state changes, and WhatsApp dm_delivered flush events directly into the agent's context — no polling.
Server side — nothing to configure. The hosted Chamade MCP server always declares the experimental.claude/channel capability during the initialize handshake. The v2.x --channel arg / CHAMADE_CHANNEL=1 env var are gone.
Client side — Claude Code needs a per-launch flag. Claude Code only processes notifications/claude/channel from MCP servers you've explicitly opted in:
Required every launch. Without it, Chamade tools still work but push events are silently dropped client-side — the agent has to poll chamade_inbox and chamade_call_status to see new activity.
Other MCP clients (Claude Desktop, Cursor, Windsurf) currently do not have a channel receiver and will silently ignore push notifications. They still work in polling mode via chamade_inbox with last_message_cursor + optional wait for long-polling.
Environment variables (shim only)
Only the stdio shim uses these. Direct HTTP config has everything in JSON.
The v2.x --channel CLI flag is silently accepted for backwards-compat, but it's a no-op — channel mode is always on in v3.
Supported platforms
- Discord — voice channels (shared bot or bring your own), text, files (send + receive, 25 MB)
- Microsoft Teams — voice meetings + text DM, requires OAuth connection on dashboard. Files code-ready, gated behind AppSource cert.
- Google Meet — voice (audio_in) + chat text, requires OAuth connection on dashboard (see note below). Files code-ready, gated behind Google OAuth verification.
- Telegram — DM text + files (send + receive). No voice.
- Zoom — voice + meeting chat, pass meeting URL (pending Zoom Marketplace approval — tester access on request). No files.
- SIP / Phone — voice only, pass phone number or SIP URI. No files.
- Nextcloud Talk — voice + text + files (send on any addon version, receive needs addon ≥ 2.4.0)
- WhatsApp — DM text + files (send + receive, incl. voice notes as raw audio). No voice calls.
⚠️ Google Meet voice — beta limitation. Real-time audio capture on Meet relies on Google's Meet Media API, currently in Developer Preview. Every meeting participant must be individually enrolled — if anyone isn't, audio capture fails. Calendar integration and in-meeting chat work normally for everyone. For production voice use cases, prefer Teams, Discord, Nextcloud Talk, or SIP.
How it works
With Option B (stdio shim), the client doesn't speak HTTP; the shim sits in between as a transport adapter:
Development
The shim itself is tiny (see src/index.ts). Full MCP tool behavior is tested in the parent Chamade repo under tests/e2e/test_mcp_http.py, which drives the hosted server directly — that's the source of truth for tool semantics.
Documentation
- MCP server docs — setup for every major client
- Push mode docs — how real-time push events work (stateful sessions)
- Agents — bearer × platform scoping (one agent per key / OAuth client)
- Full API reference — every tool, every endpoint, LLM-formatted
- Setup guide — step-by-step onboarding for agents
Issues & feedback
- Bug or feature request: open an issue
- Direct contact: [email protected]
- In-app: every Chamade dashboard has a "Send feedback" button
License
MIT — see LICENSE.
来源:README.md,提交 8951ecc
工具
0版本历史
1- v5.1.0最新Sep 16, 2026
评分
已满足适用检查项的 85%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通必需25 分
- 已声明认证方式必需10 分
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分