Discord MCP服务器

一个集成Discord并提供模型上下文协议(MCP)接口的FastAPI服务器,用于机器人交互。

  • by dhruvsahu007
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 dhruvsahu007/discord-mcp-server

使用说明

断开MCP服务器

一个与Discord集成的FastAPI服务器,为机器人交互提供模型上下文协议(MCP)接口。

特性

  • Discord机器人与消息、渠道和审核功能的集成
  • API密钥认证和基于JWT令牌的安全
  • MCP检查器集成调试
  • 速率限制和错误处理
  • 全面的测试套件

设置

  1. 克隆存储库

  2. 创建虚拟环境:

    python -m venv myenv
    source myenv/bin/activate  # Linux/Mac
    myenv\Scripts\activate     # Windows
    
  3. 安装依赖项:

    pip install -r requirements.txt
    
  4. 创建一个 .env 文件基于 .env.example 并填写您的凭据:

    • 从Discord开发者门户获取Discord凭据:
      • Bot令牌:在“Bot”选项卡中找到
      • 客户端ID:在“一般信息”中找到
      • 客户端密码:在“OAuth2”部分找到
    • 为API_KEY_SALT和JWT_SECRET_KEY生成安全随机字符串
  5. 启动服务器:

    python -m src.main
    

API终点

消息

  • POST /api/v1/messages/send -向频道发送消息
  • GET /api/v1/messages/{channel_id} -从频道获取消息

频道

  • GET /api/v1/channels/list -列出所有可访问的频道
  • GET /api/v1/channels/{channel_id} -获取频道信息

节制

  • POST /api/v1/moderation/ban -禁止用户
  • POST /api/v1/moderation/kick -踢用户

认证

  1. 使用 X-API-Key 头球
  2. 服务器将验证API密钥并返回JWT令牌
  3. 在后续请求中使用JWT令牌

发展

  1. 在中启用调试模式 .env 用于自动重新加载
  2. 运行覆盖率测试:
    pytest --cov=src tests/
    

MCP检查员

  1. 在中启用MCP检查器 .env 用于调试
  2. 访问检查器UI http://localhost:9000

错误处理

服务器包括全面的错误处理:

  • 无效的API密钥返回401
  • 缺少权限返回403
  • 未找到资源返回404
  • 服务器错误返回500,其中包含错误详细信息

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求