Zulip MCP服务器

一个基于MCP协议的Zulip REST API封装服务器,提供通过SSE传输的工具,用于获取和管理Zulip消息、频道和草稿。

  • by VanBarbascu
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 VanBarbascu/zulip-mcp

使用说明

Zulip MCP服务器

一 主控程序 包装Zulip REST API的服务器,将其公开为SSE传输上的工具。使用TypeScript和官方MCP SDK构建。

可用工具

工具 说明
get_messages 从Zulip获取消息。支持窄过滤器(按流、主题、发件人)、锚定和分页 num_before/num_after.
get_message 按ID获取单个消息
get_streams 列出经过身份验证的用户可见的频道(流)。
get_topics 按频道ID列出频道中的主题
get_drafts 检索已验证用户的所有草稿。
create_drafts 创建一个或多个消息草稿(流式或私有)。
edit_draft 按ID(类型、收件人、主题、内容)编辑现有草稿。
delete_draft 按ID删除草稿
send_notification 向配置的通知用户发送直接消息(ZULIP_NOTIFICATION_USER).

设置

先决条件

  • Node.js 22+ 或 码头工人

配置

复制示例env文件并填写您的Zulip凭据:

cp .env.example .env

您需要:

  • ZULIP_URL --您的Zulip服务器URL(例如。 https://your-org.zulipchat.com)
  • ZULIP_EMAIL --机器人的电子邮件地址
  • ZULIP_API_KEY -机器人程序的API密钥(见下文)
  • ZULIP_NOTIFICATION_USER --用户通过电子邮件接收通知 send_notification

获取Zulip API密钥

  1. 登录您的Zulip组织
  2. 首选 个人设置 > 帐户和隐私
  3. 向下滚动到 API密钥 部分
  4. 点击 管理您的API密钥 并输入密码以显示它

或者,如果您使用的是机器人帐户:

  1. 首选 组织设置 > 机器人
  2. 创建一个新的机器人或选择一个现有的机器人
  3. API密钥显示在机器人的卡上-点击复制

请参阅 Zulip API密钥文档 了解更多详情。

使用Docker运行(推荐)

docker compose up -d

在本地运行

npm install
npm run build
npm start

服务器正在监听 http://localhost:3000/sse.

Claude代码集成

将此添加到您的 .mcp.json:

{
  "mcpServers": {
    "zulip": {
      "url": "http://localhost:3000/sse"
    }
  }
}