Skip to main content
Glama

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
NameRequiredDescriptionDefault
server_idYesServer ID or UUID
webhook_typeYesWebhook type, e.g. 'Discord'
nameYesWebhook name
urlYesWebhook URL
bot_nameNoBot display name
triggerYesTrigger event: server_start, server_stop, server_backup, player_join, player_leave, etc.
bodyNoCustom webhook body template
enabledNoWhether webhook is active

Implementation Reference

  • 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 };
        }
      }
    );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HadiCherkaoui/crafty-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server