server_create_webhook
Create webhooks for Minecraft servers to notify Discord or other services about events like server starts, stops, backups, and player activity.
Instructions
Create a new webhook for a Minecraft server. Supports Discord and other webhook types. Trigger events: server_start, server_stop, server_backup, player_join, player_leave, etc.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| server_id | Yes | Server ID or UUID | |
| webhook_type | Yes | Webhook type, e.g. 'Discord' | |
| name | Yes | Webhook name | |
| url | Yes | Webhook URL | |
| bot_name | No | Bot display name | |
| trigger | Yes | Trigger event: server_start, server_stop, server_backup, player_join, player_leave, etc. | |
| body | No | Custom webhook body template | |
| enabled | No | Whether webhook is active |
Implementation Reference
- src/tools/server-webhooks.ts:41-70 (handler)The handler for 'server_create_webhook' which creates a new webhook for a Minecraft server using the provided client.
server.tool( "server_create_webhook", "Create a new webhook for a Minecraft server. Supports Discord and other webhook types. Trigger events: server_start, server_stop, server_backup, player_join, player_leave, etc.", { server_id: z.string().describe("Server ID or UUID"), webhook_type: z.string().describe("Webhook type, e.g. 'Discord'"), name: z.string().describe("Webhook name"), url: z.string().url().describe("Webhook URL"), bot_name: z.string().optional().describe("Bot display name"), trigger: z .string() .describe( "Trigger event: server_start, server_stop, server_backup, player_join, player_leave, etc." ), body: z.string().optional().describe("Custom webhook body template"), enabled: z.boolean().default(true).describe("Whether webhook is active"), }, async ({ server_id, ...webhookData }) => { try { const data = await client.post( `/servers/${server_id}/webhooks`, webhookData ); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] }; } catch (error) { const msg = error instanceof Error ? error.message : String(error); return { content: [{ type: "text", text: `Error: ${msg}` }], isError: true }; } } );