Discord MCP Bot - Server Component

Discord MCP Bot - Server Component

mastra-ai

通信
访问服务器

README

Discord MCP Bot - 服务器组件

一个 Discord 机器人服务器,与 Mastra 的 MCP Bot 组件 集成,以提供智能辅助并回答有关 Mastra.ai 的问题。

概述

此 Discord 机器人服务器与 Mastra MCP 组件协同工作,以:

  • 处理 Discord 交互和消息路由
  • 管理机器人命令和权限
  • 提供特定于 Discord 的功能,如线程和私信
  • 与 Mastra 组件交互以获得智能响应

前提条件

快速开始

  1. 克隆存储库:

    git clone https://github.com/mastra-ai/discord-mcp-server
    cd discord-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 创建一个包含您的 Discord 凭据的 .env 文件:

    DISCORD_BOT_TOKEN=your_discord_bot_token
    DISCORD_CLIENT_ID=your_discord_client_id
    DISCORD_PUBLIC_KEY=your_discord_public_key
    MASTRA_URL=your_mastra_url
    
  4. 运行服务器:

    npm start
    

设置 Discord 机器人

  1. 创建一个 Discord 应用程序:

    • 转到 Discord 开发者门户
    • 点击“新建应用程序”并为其命名
    • 导航到“机器人”选项卡,然后点击“添加机器人”
  2. 配置机器人权限:

    • 在“特权网关 Intents”下,启用:
      • 消息内容 Intent
      • 服务器成员 Intent
      • 私信 Intent
  3. 获取您的机器人令牌:

    • 在“机器人”选项卡中,点击“重置令牌”或“复制”以获取您的机器人令牌
    • 将此令牌添加到您的 .env 文件中,作为 DISCORD_BOT_TOKEN
  4. 邀请机器人到您的服务器:

    • 转到“OAuth2”选项卡,然后转到“URL 生成器”
    • 在 scopes 下选择“bot”
    • 选择所需的权限:
      • 读取消息/查看频道
      • 发送消息
      • 读取消息历史
    • 复制生成的 URL 并在您的浏览器中打开它
    • 选择您的服务器并授权机器人

功能

  • 私信支持:用户可以通过私信向机器人提问
  • 斜杠命令:使用 Discord 的斜杠命令与机器人交互
    • /ask:向机器人提问
    • /cleardm:清除用户私信中的机器人消息
  • 线程:使用 Discord 的线程来提供更好的用户体验
  • 集成:与 Mastra MCP 组件无缝集成

项目结构

  • api/index.ts:主要的机器人实现和 Discord 客户端设置
  • scripts/register-commands.ts:注册机器人命令
  • scripts/delete-commands.ts:删除机器人命令
  • scripts/list-commands.ts:列出机器人命令

实现说明

该服务器使用以下技术构建:

  • Discord.js 用于 Discord 集成
  • TypeScript 用于类型安全和更好的开发体验
  • 与 Mastra MCP 组件集成以获得智能响应

对于生产部署,请考虑:

  • 设置适当的日志记录
  • 实施速率限制
  • 添加监控和错误跟踪
  • 设置进程管理器(PM2 等)

相关项目

推荐服务器

graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Apple MCP Server

Apple MCP Server

通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。

精选
本地
TypeScript
MCP Server Trello

MCP Server Trello

通过 Trello API 促进与 Trello 看板的交互,提供速率限制、类型安全、输入验证和错误处理等功能,以实现对卡片、列表和看板活动的无缝管理。

精选
TypeScript
@kazuph/mcp-gmail-gas

@kazuph/mcp-gmail-gas

用于 Gmail 集成的模型上下文协议 (Model Context Protocol, MCP) 服务器。它允许 Claude Desktop(或任何 MCP 客户端)通过 Google Apps Script 与您的 Gmail 帐户进行交互。

精选
JavaScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Composio MCP Server

Composio MCP Server

一个服务器实现,提供与 MCP 兼容的 Composio 应用(如 Gmail 和 Linear)的访问,允许通过结构化的接口与语言模型进行交互。

官方
TypeScript
Folderr

Folderr

一个模型上下文协议 (MCP) 服务器,它提供与 Folderr API 交互的工具,专门用于管理 Folderr 助手并与之通信。

官方
JavaScript
mcp-google

mcp-google

一个专门的模型上下文协议(MCP)服务器,它将 Google 服务(Gmail、日历等)集成到您的 AI 工作流程中。该服务器通过 MCP 实现对 Google 服务的无缝访问,从而允许 AI 代理与 Gmail、Google 日历和其他 Google 服务进行交互。

本地
TypeScript
MCP-JIRA-Python Server

MCP-JIRA-Python Server

一个基于 Python 的服务器,允许与 JIRA 无缝集成,通过自定义 API 管理和交互项目。

本地
Python
Email sending MCP 💌

Email sending MCP 💌

使用此电子邮件发送 MCP 服务器,直接从 Cursor 发送电子邮件

本地
TypeScript