list_servers
Retrieve all Discord servers (guilds) accessible to the bot, providing a comprehensive overview of available server connections.
Instructions
List all Discord servers (guilds) the bot has access to
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/server-tools.ts:8-38 (registration)Registration of the 'list_servers' tool using server.tool(). Includes tool name, description, empty input schema ({}), and inline handler function that lists Discord guilds the bot can access.server.tool( 'list_servers', 'List all Discord servers (guilds) the bot has access to', {}, async () => { const result = await withErrorHandling(async () => { const client = await getDiscordClient(); const guilds = client.guilds.cache.map((guild) => ({ id: guild.id, name: guild.name, memberCount: guild.memberCount, ownerId: guild.ownerId, icon: guild.iconURL(), })); return guilds; }); if (!result.success) { return { content: [{ type: 'text', text: result.error }], isError: true }; } return { content: [ { type: 'text', text: JSON.stringify(result.data, null, 2), }, ], }; } );
- src/tools/server-tools.ts:12-37 (handler)The handler logic for list_servers: Uses getDiscordClient to fetch guilds from cache, maps to structured data, handles errors with withErrorHandling, returns JSON-formatted list or error message.async () => { const result = await withErrorHandling(async () => { const client = await getDiscordClient(); const guilds = client.guilds.cache.map((guild) => ({ id: guild.id, name: guild.name, memberCount: guild.memberCount, ownerId: guild.ownerId, icon: guild.iconURL(), })); return guilds; }); if (!result.success) { return { content: [{ type: 'text', text: result.error }], isError: true }; } return { content: [ { type: 'text', text: JSON.stringify(result.data, null, 2), }, ], }; }
- src/index.ts:11-53 (registration)Imports and calls registerServerTools in the MCP server setup, which registers the list_servers tool along with other server tools.import { registerServerTools } from './tools/server-tools.js'; import { registerChannelTools } from './tools/channel-tools.js'; import { registerMemberTools } from './tools/member-tools.js'; import { registerRoleTools } from './tools/role-tools.js'; import { registerPermissionTools } from './tools/permission-tools.js'; import { registerMessageTools } from './tools/message-tools.js'; import { registerEmojiTools } from './tools/emoji-tools.js'; import { registerWebhookTools } from './tools/webhook-tools.js'; import { registerInviteTools } from './tools/invite-tools.js'; import { registerEventTools } from './tools/event-tools.js'; import { registerThreadTools } from './tools/thread-tools.js'; import { registerAuditTools } from './tools/audit-tools.js'; /** * Discord MCP Server * * This MCP server provides comprehensive tools for managing Discord servers. * It requires the DISCORD_BOT_TOKEN environment variable to be set. * * Available tool categories: * - Server Management: list_servers, get_server_info, modify_server * - Channel Management: list_channels, get_channel_info, create_channel, delete_channel, modify_channel * - Member Management: list_members, get_member_info, modify_member, kick_member, ban_member, unban_member, list_bans * - Role Management: list_roles, get_role_info, create_role, delete_role, modify_role, assign_role, remove_role * - Permission Management: get_channel_permissions, set_channel_permission, delete_channel_permission, list_permissions, sync_channel_permissions * - Message Management: send_message, get_messages, edit_message, delete_message, bulk_delete_messages, pin/unpin, reactions * - Emoji & Sticker Management: list_emojis, create_emoji, delete_emoji, modify_emoji, sticker operations * - Webhook Management: list_channel_webhooks, list_guild_webhooks, create_webhook, delete_webhook, modify_webhook, send_webhook_message * - Invite Management: list_invites, get_invite_info, create_invite, delete_invite * - Event Management: list_events, get_event_info, create_event, modify_event, delete_event, get_event_subscribers * - Thread Management: list_threads, create_thread, create_forum_post, modify_thread, delete_thread, join/leave, member management * - Audit & Moderation: get_audit_logs, list_audit_log_types, list_automod_rules, get_automod_rule, delete_automod_rule, toggle_automod_rule */ // Create a configured MCP server instance function createMcpServer(): McpServer { const server = new McpServer({ name: 'discord-mcp', version: '1.0.5', }); // Register all tool categories registerServerTools(server);