@chamade/mcp-server 2.0.3 → 2.0.4

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.
Files changed (2) hide show
  1. package/dist/index.js +13 -12
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -216,29 +216,30 @@ const server = new McpServer({
216
216
  // CALL TOOLS
217
217
  // ===========================================================================
218
218
  // -- Tool: call_join ----------------------------------------------------------
219
- server.tool("chamade_call_join", "Join a voice meeting on any platform (Discord, Teams, Meet, Telegram, SIP, WhatsApp). Returns a call_id. After joining, poll chamade_call_status regularly to read new transcript lines. Use chamade_call_say to speak (TTS) and chamade_call_leave to hang up. Keep the call active — do NOT leave between exchanges.", {
220
- platform: z
221
- .enum(["discord", "teams", "meet", "telegram", "sip", "nctalk", "zoom", "whatsapp"])
222
- .describe("Meeting platform"),
219
+ server.tool("chamade_call_join", "Join a voice meeting. The platform is auto-detected from the URL (Discord, Teams, Meet, Telegram, SIP, NC Talk, Zoom, WhatsApp). Returns a call_id. After joining, poll chamade_call_status regularly to read new transcript lines. Use chamade_call_say to speak (TTS) and chamade_call_leave to hang up. Keep the call active — do NOT leave between exchanges.", {
223
220
  meeting_url: z
224
221
  .string()
225
- .describe("Meeting URL (e.g. Discord channel link, Teams join link, phone number for SIP)"),
222
+ .describe("Meeting URL (e.g. Discord channel link, Teams join link, Nextcloud Talk URL, phone number for SIP)"),
223
+ platform: z
224
+ .enum(["discord", "teams", "meet", "telegram", "sip", "nctalk", "zoom", "whatsapp"])
225
+ .optional()
226
+ .describe("Meeting platform (auto-detected from URL if omitted)"),
226
227
  agent_name: z
227
228
  .string()
228
229
  .default("AI Agent")
229
230
  .describe("Display name in the meeting"),
230
- }, async ({ platform, meeting_url, agent_name }) => {
231
- const data = (await chamadePost("/api/call", {
232
- platform,
233
- meeting_url,
234
- agent_name,
235
- }));
231
+ }, async ({ meeting_url, platform, agent_name }) => {
232
+ const body = { meeting_url, agent_name };
233
+ if (platform)
234
+ body.platform = platform;
235
+ const data = (await chamadePost("/api/call", body));
236
236
  const callId = data.call_id;
237
+ const detectedPlatform = data.platform || platform || "";
237
238
  const capabilities = data.capabilities ?? [];
238
239
  const audio = data.audio;
239
240
  calls.set(callId, {
240
241
  callId,
241
- platform,
242
+ platform: detectedPlatform,
242
243
  meetingUrl: meeting_url,
243
244
  capabilities,
244
245
  lastTranscriptLength: 0,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chamade/mcp-server",
3
- "version": "2.0.3",
3
+ "version": "2.0.4",
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": {