Skip to main content
Glama

discord_delete_webhook

Delete an existing Discord webhook to remove automated message delivery from a channel. This tool removes webhooks by ID and token, with optional audit log reason.

Instructions

Deletes an existing webhook for a Discord channel

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
webhookIdYes
webhookTokenNo
reasonNo

Implementation Reference

  • The core handler function that implements the discord_delete_webhook tool logic: validates input, fetches the webhook, deletes it, and handles errors.
    export async function deleteWebhookHandler(
      args: unknown,
      context: ToolContext
    ): Promise<ToolResponse> {
      const { webhookId, webhookToken, reason } = DeleteWebhookSchema.parse(args);
      try {
        if (!context.client.isReady()) {
          return {
            content: [{ type: 'text', text: 'Discord client not logged in.' }],
            isError: true,
          };
        }
    
        const webhook = await context.client.fetchWebhook(webhookId, webhookToken);
        if (!webhook) {
          return {
            content: [
              { type: 'text', text: `Cannot find webhook with ID: ${webhookId}` },
            ],
            isError: true,
          };
        }
    
        // Delete the webhook
        await webhook.delete(reason || 'Webhook deleted via API');
    
        return {
          content: [
            {
              type: 'text',
              text: `Successfully deleted webhook with ID: ${webhook.id}`,
            },
          ],
        };
      } catch (error) {
        return handleDiscordError(error);
      }
    }
  • Tool metadata and input schema definition used for MCP tools/list response.
    {
      name: 'discord_delete_webhook',
      description: 'Deletes an existing webhook for a Discord channel',
      inputSchema: {
        type: 'object',
        properties: {
          webhookId: { type: 'string' },
          webhookToken: { type: 'string' },
          reason: { type: 'string' },
        },
        required: ['webhookId'],
      },
    },
  • Zod validation schema parsed in the handler for input parameters.
    export const DeleteWebhookSchema = z.object({
      webhookId: z.string(),
      webhookToken: z.string().optional(),
      reason: z.string().optional(),
    });
  • src/server.ts:204-207 (registration)
    Dispatch registration in the main MCP server CallToolRequestSchema handler switch statement.
    case 'discord_delete_webhook':
      this.logClientState('before discord_delete_webhook handler');
      toolResponse = await deleteWebhookHandler(args, this.toolContext);
      return toolResponse;
  • Dispatch case in the HTTP transport handler for direct method calls.
    case 'discord_delete_webhook':
      result = await deleteWebhookHandler(params, this.toolContext!);

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/IQAIcom/mcp-discord'

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