article
README
🚀 模型上下文协议(MCP)Discord服务器
这是一个模型上下文协议(MCP)服务器,借助Discord的API实现消息的收发功能,允许像Claude这样的大语言模型(LLM)直接与Discord频道进行交互,同时保障用户的控制权和安全性。
🚀 快速开始
此MCP服务器可让LLM与Discord频道交互。使用前,需确保已完成先决条件设置,再按安装步骤操作,最后配置Claude桌面版即可使用。
✨ 主要特性
- 💬 向Discord频道发送消息。
- 👀 读取Discord频道的最新消息。
- 🔍 自动发现服务器和频道。
- 🆔 支持使用频道名称和ID。
- ❌ 具备正确的错误处理和验证机制。
📦 安装指南
先决条件
- Node.js 16.x或更高版本。
- Discord机器人令牌。
- 机器人必须以适当的权限邀请到您的服务器:
- 阅读消息/查看频道
- 发送消息
- 阅读消息历史
安装步骤
- 克隆此仓库:
git clone https://github.com/yourusername/discordmcp.git
cd discordmcp
- 安装依赖项:
npm install
- 在根目录创建一个
.env文件,包含您的Discord机器人令牌:
DISCORD_TOKEN=your_discord_bot_token_here
- 构建服务器:
npm run build
💻 使用示例
使用Claude桌面版
-
打开您的Claude桌面版配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
添加Discord MCP服务器配置:
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["path/to/discordmcp/build/index.js"],
"env": {
"DISCORD_TOKEN": "your_discord_bot_token_here"
}
}
}
}
- 重启Claude桌面版
可用工具
send - message
向指定的Discord频道发送消息。 参数:
server(可选):服务器名称或ID(如果机器人在多个服务器中,则必需)channel:频道名称(例如,“general”)或IDmessage:要发送的消息内容
示例:
{
"channel": "general",
"message": "来自MCP的问候!"
}
read - messages
读取指定Discord频道的最新消息。 参数:
server(可选):服务器名称或ID(如果机器人在多个服务器中,则必需)channel:频道名称(例如,“general”)或IDlimit(可选):要获取的消息数量(默认:50,最大:100)
示例:
{
"channel": "general",
"limit": 10
}
与Claude互动示例
以下是设置好Discord MCP服务器后可以尝试与Claude互动的一些示例:
- “你能读取通用频道的最后5条消息吗?”
- “请向公告频道发送一条消息,内容为‘会议将在10分钟后开始’”
- “开发频道关于最新版本的消息中最 recent的是什么?”
Claude将使用适当的工具与Discord交互,并在发送任何消息之前征求您的批准。
🔧 技术细节
开发
- 安装开发依赖项:
npm install --save-dev typescript @types/node
- 在开发模式下启动服务器:
npm run dev
测试
您可以通过MCP Inspector测试服务器:
npx @modelcontextprotocol/inspector node build/index.js
⚠️ 安全注意事项
- 机器人需要适当的Discord权限才能运行。
- 所有消息发送操作都需要明确的用户批准。
- 环境变量应妥善保管。
- 令牌绝不能提交到版本控制。
- 频道访问仅限于机器人已获得访问权限的频道。
🤝 贡献
- 叉仓库。
- 创建功能分支(
git checkout -b feature/amazing-feature)。 - 提交更改(
git commit -m '添加一些惊人的功能')。 - 推送到分支(
git push origin feature/amazing-feature)。 - 打开Pull Request。
📄 许可证
此项目根据MIT许可证发布,详细信息请参阅LICENSE文件。
🛠️ 支持
如果您遇到任何问题或有疑问:
- 检查GitHub Issues部分。
- 咨询MCP文档https://modelcontextprotocol.io。
- 使用详细的重现步骤打开新问题。
微信扫一扫