使用说明
断开MCP服务器
模型上下文协议(MCP)服务器,使人工智能代理能够通过Discord API与Discord交互。此服务器提供了一套全面的工具来管理Discord服务器、频道、消息和用户。
特性
可用工具
- send_message -向Discord频道发送消息
- 获取消息 -从频道检索最近的消息
- get_channel_info -获取有关频道的详细信息
- get_server_info -获取有关Discord服务器的详细信息
- list_server -列出机器人连接的所有服务器
- list_channels -列出特定服务器中的所有频道
可用资源
- discord://servers -包含所有连接的Discord服务器的JSON资源
先决条件
- Node.js (版本18或更高)
- Discord Bot令牌 -在以下位置创建机器人应用程序 Discord开发者门户
设置
1.安装依赖项
npm install
2.配置Discord Bot
- 转到 Discord开发者门户
- 创建新应用程序或选择现有应用程序
- 转到“Bot”部分并创建一个Bot
- 复制机器人令牌
- 创建一个
.env项目根目录中的文件:
cp .env.example .env
- 编辑
.env并添加您的Discord机器人令牌:
DISCORD_TOKEN=your_discord_bot_token_here
3.机器人权限
您的Discord机器人需要以下权限:
Send MessagesRead Message HistoryView ChannelsUse Slash Commands(可选)
使用这些权限将机器人邀请到您的Discord服务器。
4.建设项目
npm run build
用法
运行服务器
npm start
对于自动重建的开发:
npm run watch
与MCP客户端一起使用
此服务器实现了模型上下文协议,可以与任何兼容MCP的客户端一起使用。配置您的客户端以使用stdio传输连接到此服务器。
MCP配置示例:
{
"servers": {
"discord-mcp-server": {
"type": "stdio",
"command": "node",
"args": ["dist/index.js"]
}
}
}
环境变量
DISCORD_TOKEN(必填)-您的Discord机器人令牌
工具示例
发送信息
{
"name": "send_message",
"arguments": {
"channelId": "123456789012345678",
"content": "Hello from the MCP Discord server!"
}
}
获取最新消息
{
"name": "get_messages",
"arguments": {
"channelId": "123456789012345678",
"limit": 5
}
}
列出服务器
{
"name": "list_servers",
"arguments": {}
}
发展
项目结构
src/
├── index.ts # Main MCP server implementation
├── types/ # TypeScript type definitions
└── utils/ # Utility functions
.vscode/
├── mcp.json # MCP server configuration
└── tasks.json # VS Code build tasks
.github/
└── copilot-instructions.md # GitHub Copilot instructions
添加新工具
- 使用Zod定义输入模式
- 在中添加工具定义
setupToolHandlers() - 实现处理程序方法
- 用文档更新此README
测试
设置您的 .env 文件并运行:
npm run dev
使用MCP客户端或通过检查日志来测试服务器。
安全考虑
- 永远不要将您的Discord机器人令牌提交给版本控制
- 对所有敏感配置使用环境变量
- 使用Zod模式验证所有输入
- 为Discord API调用实现正确的错误处理
- 考虑生产使用的速率限制
故障排除
常见问题
-
Bot没有响应
- 验证Discord令牌是否正确
- 检查机器人在服务器中是否具有适当的权限
- 确保机器人在Discord服务器中联机
-
未找到通道错误
- 验证通道ID是否正确
- 检查机器人是否可以访问该频道
- 确保频道存在且未被删除
-
权限错误
- 查看Discord服务器中的机器人权限
- 检查机器人角色在层次结构中是否足够高
- 验证特定频道的权限
贡献
- 复刻仓库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
ISC许可证-有关详细信息,请参阅许可证文件
资源
- 模型上下文协议文档
- Discord.js指南
- Discord开发者门户
- 用法.md -详细的使用示例和客户端配置
- GOOGLE_ADK_集成.md -Web应用程序集成指南
- GOOGLE_ADK_JAVA_INTEGRATION.md -Java应用程序集成指南