mcp-discord/src/toolList.ts

256 lines
6.6 KiB
TypeScript

export const toolList = [
{
name: "discord_login",
description: "Logs in to Discord using the configured token",
inputSchema: {
type: "object",
properties: {
random_string: { type: "string" }
},
required: []
}
},
{
name: "discord_send",
description: "Sends a message to a specified Discord text channel",
inputSchema: {
type: "object",
properties: {
channelId: { type: "string" },
message: { type: "string" }
},
required: ["channelId", "message"]
}
},
{
name: "discord_get_forum_channels",
description: "Lists all forum channels in a specified Discord server (guild)",
inputSchema: {
type: "object",
properties: {
guildId: { type: "string" }
},
required: ["guildId"]
}
},
{
name: "discord_create_forum_post",
description: "Creates a new post in a Discord forum channel with optional tags",
inputSchema: {
type: "object",
properties: {
forumChannelId: { type: "string" },
title: { type: "string" },
content: { type: "string" },
tags: {
type: "array",
items: { type: "string" }
}
},
required: ["forumChannelId", "title", "content"]
}
},
{
name: "discord_get_forum_post",
description: "Retrieves details about a forum post including its messages",
inputSchema: {
type: "object",
properties: {
threadId: { type: "string" }
},
required: ["threadId"]
}
},
{
name: "discord_reply_to_forum",
description: "Adds a reply to an existing forum post or thread",
inputSchema: {
type: "object",
properties: {
threadId: { type: "string" },
message: { type: "string" }
},
required: ["threadId", "message"]
}
},
{
name: "discord_create_text_channel",
description: "Creates a new text channel in a Discord server with an optional topic",
inputSchema: {
type: "object",
properties: {
guildId: { type: "string" },
channelName: { type: "string" },
topic: { type: "string" }
},
required: ["guildId", "channelName"]
}
},
{
name: "discord_delete_channel",
description: "Deletes a Discord channel with an optional reason",
inputSchema: {
type: "object",
properties: {
channelId: { type: "string" },
reason: { type: "string" }
},
required: ["channelId"]
}
},
{
name: "discord_read_messages",
description: "Retrieves messages from a Discord text channel with a configurable limit",
inputSchema: {
type: "object",
properties: {
channelId: { type: "string" },
limit: {
type: "number",
minimum: 1,
maximum: 100,
default: 50
}
},
required: ["channelId"]
}
},
{
name: "discord_get_server_info",
description: "Retrieves detailed information about a Discord server including channels and member count",
inputSchema: {
type: "object",
properties: {
guildId: { type: "string" }
},
required: ["guildId"]
}
},
{
name: "discord_add_reaction",
description: "Adds an emoji reaction to a specific Discord message",
inputSchema: {
type: "object",
properties: {
channelId: { type: "string" },
messageId: { type: "string" },
emoji: { type: "string" }
},
required: ["channelId", "messageId", "emoji"]
}
},
{
name: "discord_add_multiple_reactions",
description: "Adds multiple emoji reactions to a Discord message at once",
inputSchema: {
type: "object",
properties: {
channelId: { type: "string" },
messageId: { type: "string" },
emojis: {
type: "array",
items: { type: "string" }
}
},
required: ["channelId", "messageId", "emojis"]
}
},
{
name: "discord_remove_reaction",
description: "Removes a specific emoji reaction from a Discord message",
inputSchema: {
type: "object",
properties: {
channelId: { type: "string" },
messageId: { type: "string" },
emoji: { type: "string" },
userId: { type: "string" }
},
required: ["channelId", "messageId", "emoji"]
}
},
{
name: "discord_delete_forum_post",
description: "Deletes a forum post or thread with an optional reason",
inputSchema: {
type: "object",
properties: {
threadId: { type: "string" },
reason: { type: "string" }
},
required: ["threadId"]
}
},
{
name: "discord_delete_message",
description: "Deletes a specific message from a Discord text channel",
inputSchema: {
type: "object",
properties: {
channelId: { type: "string" },
messageId: { type: "string" },
reason: { type: "string" }
},
required: ["channelId", "messageId"]
}
},
{
name: "discord_create_webhook",
description: "Creates a new webhook for a Discord channel",
inputSchema: {
type: "object",
properties: {
channelId: { type: "string" },
name: { type: "string" },
avatar: { type: "string" },
reason: { type: "string" }
},
required: ["channelId", "name"]
}
},
{
name: "discord_send_webhook_message",
description: "Sends a message to a Discord channel using a webhook",
inputSchema: {
type: "object",
properties: {
webhookId: { type: "string" },
webhookToken: { type: "string" },
content: { type: "string" },
username: { type: "string" },
avatarURL: { type: "string" },
threadId: { type: "string" }
},
required: ["webhookId", "webhookToken", "content"]
}
},
{
name: "discord_edit_webhook",
description: "Edits an existing webhook for a Discord channel",
inputSchema: {
type: "object",
properties: {
webhookId: { type: "string" },
webhookToken: { type: "string" },
name: { type: "string" },
avatar: { type: "string" },
channelId: { type: "string" },
reason: { type: "string" }
},
required: ["webhookId"]
}
},
{
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"]
}
}
];