@chamade/mcp-server 1.1.1 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -6
- package/dist/index.js +22 -11
- package/package.json +1 -8
package/README.md
CHANGED
|
@@ -54,7 +54,7 @@ Requires `CHAMADE_API_KEY` env var. Get one at https://chamade.io/dashboard.
|
|
|
54
54
|
}
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
### Claude Code
|
|
57
|
+
### Claude Code (with channels — recommended)
|
|
58
58
|
|
|
59
59
|
`.mcp.json` at the root of your project:
|
|
60
60
|
|
|
@@ -63,7 +63,7 @@ Requires `CHAMADE_API_KEY` env var. Get one at https://chamade.io/dashboard.
|
|
|
63
63
|
"mcpServers": {
|
|
64
64
|
"chamade": {
|
|
65
65
|
"command": "npx",
|
|
66
|
-
"args": ["-y", "@chamade/mcp-server"],
|
|
66
|
+
"args": ["-y", "@chamade/mcp-server", "--channel"],
|
|
67
67
|
"env": {
|
|
68
68
|
"CHAMADE_API_KEY": "chmd_..."
|
|
69
69
|
}
|
|
@@ -72,14 +72,16 @@ Requires `CHAMADE_API_KEY` env var. Get one at https://chamade.io/dashboard.
|
|
|
72
72
|
}
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
Claude Code
|
|
76
|
-
|
|
77
|
-
Channel mode currently requires starting Claude Code with development channels enabled:
|
|
75
|
+
Then launch Claude Code with channels enabled:
|
|
78
76
|
|
|
79
77
|
```bash
|
|
80
|
-
claude --dangerously-
|
|
78
|
+
claude --dangerously-load-development-channels server:chamade --continue
|
|
81
79
|
```
|
|
82
80
|
|
|
81
|
+
This is required every session. The `--dangerously-load-development-channels` flag is standard Claude Code naming for loading third-party channels not yet on the official allowlist — it is not dangerous. `--continue` resumes the current conversation.
|
|
82
|
+
|
|
83
|
+
With channel mode, transcripts, messages, and incoming calls are pushed to the agent in real-time — no polling needed.
|
|
84
|
+
|
|
83
85
|
### Cursor / Windsurf
|
|
84
86
|
|
|
85
87
|
`.cursor/mcp.json` or `.windsurf/mcp.json` — same format as Claude Desktop.
|
package/dist/index.js
CHANGED
|
@@ -135,28 +135,35 @@ const BASE_INSTRUCTIONS = [
|
|
|
135
135
|
"",
|
|
136
136
|
"Per-platform defaults:",
|
|
137
137
|
"- discord/teams: listen, speak, read, write, typing, files (full voice + chat)",
|
|
138
|
-
"- meet: listen, read, write (no TTS — use chamade_chat instead). Note: chat (read/write) only works for calendar-scheduled meetings. Ad-hoc Meet links have no chat API access.",
|
|
138
|
+
"- meet: listen, read, write (no TTS — use chamade_chat instead). Note: chat (read/write) only works for calendar-scheduled meetings. Ad-hoc Meet links have no chat API access. IMPORTANT: when the bot joins a Meet call, a participant in the meeting must manually accept it (Google shows a 'Someone wants to join' popup). Tell the user to accept the bot in the Meet UI.",
|
|
139
139
|
"- zoom: listen, speak, read, write, files",
|
|
140
140
|
"- telegram: read, write, typing, files (text DM only, no voice join)",
|
|
141
|
-
"- whatsapp: read, write
|
|
141
|
+
"- whatsapp: read, write (text DM only, no voice join, no typing indicator)",
|
|
142
142
|
"- sip: listen, speak (voice only, no chat)",
|
|
143
143
|
"- nctalk: listen, speak, read, write, typing",
|
|
144
|
+
"- slack: read, write, files (text only, no voice — Huddles have no API)",
|
|
144
145
|
"",
|
|
145
146
|
"If 'speak' is not in capabilities, use chamade_chat to send text instead of chamade_say.",
|
|
146
147
|
"",
|
|
147
148
|
"## Platform requirements",
|
|
148
|
-
"Each platform requires specific setup
|
|
149
|
-
"- teams: Microsoft OAuth connection (
|
|
150
|
-
"- meet: Google OAuth connection (
|
|
151
|
-
"- discord:
|
|
152
|
-
"- telegram: a
|
|
153
|
-
"- sip outbound: a SIP trunk connected
|
|
154
|
-
"- sip inbound: a phone number (DID) activated
|
|
155
|
-
"-
|
|
149
|
+
"Each platform requires specific setup. Use chamade_account to check what is already configured.",
|
|
150
|
+
"- teams: Microsoft OAuth connection (POST /api/oauth/start/microsoft)",
|
|
151
|
+
"- meet: Google OAuth connection (POST /api/oauth/start/google)",
|
|
152
|
+
"- discord: shared bot available by default. For DMs, user must connect via POST /api/oauth/start/discord. For voice, invite the shared bot to the server or register own bot via POST /api/bot-tokens.",
|
|
153
|
+
"- telegram: shared bot available by default. User must connect via POST /api/telegram/connect (returns a deeplink the user opens in Telegram).",
|
|
154
|
+
"- sip outbound: a SIP trunk connected via POST /api/sip/trunk (Pro plan required)",
|
|
155
|
+
"- sip inbound: a phone number (DID) activated via POST /api/sip/activate — either répondeur (pool) or BYOT (own trunk)",
|
|
156
|
+
"- slack: install shared app via POST /api/slack/install, or register own bot via POST /api/bot-tokens",
|
|
157
|
+
"- nctalk: Chamade Talk addon installed on the Nextcloud instance + connection via POST /api/nctalk/connect. Only the connected NC user can DM the bot; group rooms require /activate by the owner.",
|
|
158
|
+
"- zoom/whatsapp: just a meeting_url, no setup needed",
|
|
156
159
|
"",
|
|
157
160
|
"## Account status",
|
|
158
161
|
"Use chamade_account to check platform readiness and remaining credit/quota before making calls.",
|
|
159
|
-
"
|
|
162
|
+
"Platform statuses:",
|
|
163
|
+
"- 'ok (connected)' or 'ok (own bot)': fully set up, ready to use",
|
|
164
|
+
"- 'available (shared bot, user account not connected)': works via shared bot but user hasn't linked their account yet — ask if they want to connect",
|
|
165
|
+
"- 'not_configured': needs setup — tell the user what to do",
|
|
166
|
+
"- 'not_available': requires a plan upgrade",
|
|
160
167
|
"",
|
|
161
168
|
"## Common errors and what to tell the user",
|
|
162
169
|
"- \"No discord bot registered\" → user needs to add a Discord bot token in the dashboard",
|
|
@@ -167,6 +174,10 @@ const BASE_INSTRUCTIONS = [
|
|
|
167
174
|
"- \"SIP not available on free plan\" → user needs to upgrade to Pro for SIP calls",
|
|
168
175
|
"- \"No SIP trunk configured\" → user needs to connect a SIP trunk in the dashboard for outbound SIP",
|
|
169
176
|
"- \"Direct audio requires a Pro plan\" → direct audio streaming (raw PCM via WebSocket) is Pro only. Free users can still use chamade_say (TTS) within their voice quota",
|
|
177
|
+
"- \"Slack does not support voice calls\" → use chamade_inbox/chamade_send for Slack messaging instead",
|
|
178
|
+
"",
|
|
179
|
+
"## Account management",
|
|
180
|
+
`Chamade is fully bot-friendly. All account management (API keys, bot tokens, platform connections, SIP, billing) is available via the REST API at the same endpoints the dashboard uses. See ${CHAMADE_URL}/llms.txt for the full machine-readable documentation. This MCP server focuses on runtime operations (calls + messaging); use the REST API directly for account setup and configuration.`,
|
|
170
181
|
"",
|
|
171
182
|
"## Speech style",
|
|
172
183
|
"- Speak naturally and concisely — your text is converted to speech.",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chamade/mcp-server",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"description": "MCP server for Chamade — voice gateway for AI agents. Join Discord, Teams, Meet, Telegram, SIP, Zoom meetings and interact via speech and text. Supports Claude Code channel mode for push events.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -13,14 +13,7 @@
|
|
|
13
13
|
"dev": "tsx src/index.ts",
|
|
14
14
|
"test": "tsx test/run.ts"
|
|
15
15
|
},
|
|
16
|
-
"repository": {
|
|
17
|
-
"type": "git",
|
|
18
|
-
"url": "https://github.com/chamade/mcp-server.git"
|
|
19
|
-
},
|
|
20
16
|
"homepage": "https://chamade.io",
|
|
21
|
-
"bugs": {
|
|
22
|
-
"url": "https://codeberg.org/skilpa/chamade/issues"
|
|
23
|
-
},
|
|
24
17
|
"author": "Nafis <contact@nafis.io>",
|
|
25
18
|
"dependencies": {
|
|
26
19
|
"@modelcontextprotocol/sdk": "^1.25.0",
|