Token导航 LogoToken导航TokenDH.com
W4d3 Discord MCP Server Bot logo
AI代理未说明官方级别未说明来源级核验

W4d3 Discord MCP Server Bot

MCP Server

一个基于模型上下文协议(MCP)的服务器,使AI模型能够通过安全认证的工具与Discord交互,提供完整的Discord机器人功能实现。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
安全认证TypeScriptAI交互

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Misal-Ambasta

提供方

Misal-Ambasta

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Discord MCP服务器机器人

一种模型上下文协议(MCP)服务器,使AI模型能够通过安全、经过身份验证的工具与Discord进行交互。该项目提供了通过MCP协议访问的Discord机器人功能的完整实现。

🚀 特性

  • 完成MCP服务器实施 使用官方的TypeScript SDK
  • Discord集成 具有完整的bot功能
  • 安全认证 具有基于API密钥的访问控制
  • 权限系统 具有细粒度访问控制
  • 多租户支持 用于管理多个Discord机器人
  • 审计日志 对于所有操作
  • MCP检查器集成 用于调试和监控

📋 先决条件

  • Node.js 18+和npm
  • Discord Bot令牌(请参阅下面的设置说明)
  • TypeScript知识(可选,用于开发)

🛠️ 安装

  1. 克隆存储库:
   git clone 
   cd W4D3-Discord-MCP-Server-Bot
  1. 安装依赖项:
   npm install
  1. 设置环境变量:

创建一个 .env 根目录中的文件:

   DISCORD_BOT_TOKEN=your_discord_bot_token_here
  1. 构建项目:
   npm run build

🤖 Discord Bot设置

  1. 创建Discord应用程序:

- 首选 Discord开发者门户 - 点击“新建应用程序”并为其命名 - 转到“Bot”部分,然后单击“添加Bot” - 复制机器人令牌并将其添加到您的 .env 文件

  1. 配置Bot权限:

- 在Discord开发者门户中,转到“OAuth2”>“URL生成器” - 选择“机器人”范围 - 选择这些权限: - 发送消息 - 读取消息历史记录 - 管理邮件(用于审核) - 查看频道

  1. 邀请机器人到服务器:

- 使用生成的URL邀请机器人到您的Discord服务器 - 确保机器人在您要使用的频道中具有必要的权限

🔧 用法

启动MCP服务器

npm start

服务器将启动并通过stdio传输监听MCP请求。

MCP检验员测试

npm run inspector

这将启动MCP检查器以调试和测试您的服务器。

🛡️ 认证

服务器使用API密钥身份验证。在中配置API密钥 src/mcp_auth_wrapper.ts:

export const API_KEYS: Record = {
  'your-api-key': { 
    permissions: ['send_message', 'get_messages', 'get_channel_info', 'search_messages', 'moderate_content'], 
    tenant: 'your-tenant-id' 
  },
};

🔨 可用工具

1. send_message

向Discord频道发送消息。

参数:

  • channelId (字符串):频道ID不一致
  • content (string):要发送的消息内容
  • apiKey (字符串):用于身份验证的API密钥

2. get_messages

从Discord频道检索消息历史记录。

参数:

  • channelId (字符串):频道ID不一致
  • limit (number,可选):要检索的邮件数(默认值:10)
  • apiKey (字符串):用于身份验证的API密钥

3. get_channel_info

获取有关Discord频道的信息。

参数:

  • channelId (字符串):频道ID不一致
  • apiKey (字符串):用于身份验证的API密钥

4. search_messages

在Discord频道中搜索消息。

参数:

  • channelId (字符串):频道ID不一致
  • query (string):搜索查询
  • limit (数字,可选):最大结果数(默认值:10)
  • apiKey (字符串):用于身份验证的API密钥

5. moderate_content

通过删除邮件来缓和内容。

参数:

  • channelId (字符串):频道ID不一致
  • messageId (string):消息ID为中等
  • action (string):适度操作('删除')
  • apiKey (字符串):用于身份验证的API密钥

🏗️ 发展

项目结构

src/
├── index.ts              # Main MCP server implementation
├── state.ts              # Shared Discord client state
├── mcp_auth_wrapper.ts   # Authentication and permissions
└── tools/                # Individual tool implementations (legacy)
    ├── send_message.ts
    ├── get_messages.ts
    ├── get_channel_info.ts
    ├── search_messages.ts
    └── moderate_content.ts

构建命令

  • npm run build -将TypeScript编译为JavaScript
  • npm run watch -注意更改并重新编译
  • npm start -启动已编译的服务器
  • npm run inspector -启动MCP检查器

添加新工具

要添加新工具,请在中注册 src/index.ts 使用 mcpServer.tool() 方法:

mcpServer.tool(
  'your_tool_name',
  {
    param1: z.string().describe('Parameter description'),
    apiKey: z.string().describe('API key for authentication')
  },
  async ({ param1, apiKey }) => {
    // Authentication check
    if (!apiKey || !(apiKey in API_KEYS)) {
      auditLog('AUTH_FAIL', { reason: 'Invalid or missing API key', tool: 'your_tool_name' });
      throw new Error('Unauthorized: Invalid or missing API key');
    }
    
    // Your tool logic here
    
    return {
      content: [{
        type: "text",
        text: "Your response here"
      }]
    };
  }
);

🔒 安全功能

  • API密钥验证:所有工具都需要有效的API密钥
  • 基于权限的访问控制:每个API密钥都有特定的权限
  • 审计日志:所有操作都会记录时间戳
  • 输入验证:所有参数都使用Zod模式进行验证
  • 错误处理:通过有意义的消息进行全面的错误处理

📊 监控

服务器包括内置的监控功能:

  • 请求/响应日志记录:记录所有MCP请求和响应
  • 连接跟踪:活动连接受到监控
  • 审计跟踪:记录所有操作以进行安全审计

🐛 故障排除

常见问题

  1. Bot没有响应:检查机器人令牌是否正确,机器人是否在线
  2. 权限错误:确保机器人在Discord中具有所需的权限
  3. 身份验证失败:验证API密钥是否正确配置
  4. 未找到频道:确保机器人可以访问指定的频道

调试

使用MCP检查器调试服务器:

npm run inspector

检查控制台日志以了解详细的错误消息和审计跟踪。

📝 许可证

该项目根据ISC许可证获得许可。

🤝 贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

📚 资源

目录标签

目录标签

安全认证TypeScriptAI交互Discord机器人本地部署MCP协议多租户支持

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP