@chinchillaenterprises/mcp-discord
Version:
Modular Discord MCP server with 45+ tools for comprehensive server management, featuring clean architecture and discord_ prefixed tools
33 lines • 2.72 kB
JavaScript
import { z } from "zod";
export const toolDefinition = {
name: "discord_get_webhooks",
description: "Get all webhooks in the server",
inputSchema: {
type: "object",
properties: {},
},
};
// No schema needed for this tool as it has no parameters
export const schema = z.object({});
export const handler = async (_args, services) => {
const guild = await services.getGuild();
try {
const webhooks = await guild.fetchWebhooks();
const webhookList = webhooks.map(webhook => {
return `**${webhook.name}**\n• ID: ${webhook.id}\n• Channel: ${webhook.channel?.name}\n• Owner: ${webhook.owner?.username}\n• URL: ${webhook.url}`;
});
return {
content: [
{
type: "text",
text: `Server Webhooks (${webhooks.size} total):\n\n${webhookList.join('\n\n---\n\n') || 'No webhooks'}`,
},
],
};
}
catch (error) {
console.error(`[GetWebhooks] Error getting webhooks:`, error);
throw new Error(`Failed to get webhooks: ${error.message}`);
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXdlYmhvb2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rvb2xzL2NvbnRlbnQvZ2V0LXdlYmhvb2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFHeEIsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFTO0lBQ2xDLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsV0FBVyxFQUFFLGdDQUFnQztJQUM3QyxXQUFXLEVBQUU7UUFDWCxJQUFJLEVBQUUsUUFBUTtRQUNkLFVBQVUsRUFBRSxFQUFFO0tBQ2Y7Q0FDRixDQUFDO0FBRUYseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRW5DLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsS0FBYyxFQUFFLFFBQTBCLEVBQUUsRUFBRTtJQUMxRSxNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUV4QyxJQUFJLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3QyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pDLE9BQU8sS0FBSyxPQUFPLENBQUMsSUFBSSxhQUFhLE9BQU8sQ0FBQyxFQUFFLGdCQUFnQixPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksY0FBYyxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsWUFBWSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDckosQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPO1lBQ0wsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxNQUFNO29CQUNaLElBQUksRUFBRSxvQkFBb0IsUUFBUSxDQUFDLElBQUksZUFBZSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLGFBQWEsRUFBRTtpQkFDekc7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlELE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7QUFDSCxDQUFDLENBQUMifQ==