Create Group
create_groupCreate a new WhatsApp group by specifying a subject and participant phone numbers. Optionally add a group description.
Instructions
Create a new WhatsApp group via the pinned instance.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| subject | Yes | Group name/subject | |
| description | No | Optional group description | |
| participants | Yes | Array of participant phone numbers or JIDs |
Implementation Reference
- src/tools/create-group.ts:6-10 (schema)Input schema for create_group: subject (string), description (optional string), participants (array of strings, min 1).
const schema = { subject: z.string().min(1).describe("Group name/subject"), description: z.string().optional().describe("Optional group description"), participants: z.array(z.string().min(1)).min(1).describe("Array of participant phone numbers or JIDs"), }; - src/tools/create-group.ts:12-35 (handler)Handler function registerCreateGroup: registers the 'create_group' tool on the MCP server. It POSTs to /group/create/{instanceName} with subject, participants, and optionally description, then returns the JSON response.
export function registerCreateGroup(server: McpServer, client: EvolutionClient): void { server.registerTool( "create_group", { title: "Create Group", description: "Create a new WhatsApp group via the pinned instance.", inputSchema: schema, }, async (args) => { try { const payload: Record<string, unknown> = { subject: args.subject, participants: args.participants, }; if (args.description) payload["description"] = args.description; const data = await client.post(`/group/create/${client.instanceName}`, payload); return { content: [{ type: "text" as const, text: JSON.stringify(data, null, 2) }] }; } catch (e) { if (e instanceof McpError) return { isError: true, content: [{ type: "text" as const, text: e.message }] }; throw e; } } ); } - src/tools/create-group.ts:12-35 (registration)Registration: server.registerTool('create_group', ...) with input schema and handler.
export function registerCreateGroup(server: McpServer, client: EvolutionClient): void { server.registerTool( "create_group", { title: "Create Group", description: "Create a new WhatsApp group via the pinned instance.", inputSchema: schema, }, async (args) => { try { const payload: Record<string, unknown> = { subject: args.subject, participants: args.participants, }; if (args.description) payload["description"] = args.description; const data = await client.post(`/group/create/${client.instanceName}`, payload); return { content: [{ type: "text" as const, text: JSON.stringify(data, null, 2) }] }; } catch (e) { if (e instanceof McpError) return { isError: true, content: [{ type: "text" as const, text: e.message }] }; throw e; } } ); } - src/tools/index.ts:44-44 (registration)Import of registerCreateGroup from create-group.ts
import { registerCreateGroup } from "./create-group.js"; - src/tools/index.ts:117-117 (registration)Call to registerCreateGroup(server, client) to wire up the tool during startup.
registerCreateGroup(server, client);