Zulip MCP 服务器
使用说明(简明易懂,便于快速上手):
-
项目简介
- Zulip MCP 服务器是一套后端实现,基于 MCP 协议与客户端进行通信,核心功能包括对 Zulip 资源的访问、工具调用、以及对话上下文的格式化渲染,旨在为大语言模型提供高效、可扩展的上下文服务与操作能力。
-
主要功能点
- 基于 MCP 的请求/响应处理,支持 JSON-RPC 形式的调用与通知。
- 资源与工具管理:提供对 Zulip 资源的读取(如消息、用户、流、主题等)以及对消息的创建、编辑、删除、打赏等多种操作工具。
- 会话与上下文管理:支持会话状态跟踪、上下文窗口、历史消息聚合与格式化输出。
- 安全与可控性:内置私有流访问控制、机器人可见性过滤、撤退/结束会话的钩子等安全机制。
- 传输协议可选:默认 STDIO,支持 SSE 等传输模式以适配远程/网页客户端。
- 与 Claude Code 等外部代码执行环境的集成:提供命令行入口,能够驱动外部会话并通过 MCP 进行交互。
-
安装步骤
- 克隆或安装本仓库提供的代码。
- 确保已安装 Python 3.10 及以上版本。
- 安装依赖(如 fastmcp、zulip、diskcache 等)。
- 直接运行服务入口,其中包含两种运行方式:标准输入输出模式和 SSE 模式。
-
服务器配置(供 MCP 客户端在本地搭建时参考,实际使用时客户端不需要本服务器的源码,只需要知道启动方式)
- MCP 客户端在本地需要一个配置来描述服务器的信息,例如服务器名称、启动命令及参数。以下为示例配置(JSON 格式,注意仅供客户端使用,不是在此处执行的代码): { "mcpServers": { "zulip": { "command": "uv", "args": ["run", "python", "-m", "zulipmcp.mcp"] } // 如需使用 SSE 传输,可在启动时指定 transport 参数,例如:["run","python","-m","zulipmcp.mcp","--transport","sse"] } } 说明:
- server name: zulip(示例中为 Zulip MCP 服务器的名称)
- command: uv(用于运行 hızlı的 uv 运行时作为服务器容器)
- args: 启动参数,包含需要执行的模块及入口点 注意:MCP 客户端需要读取该配置并据此启动与服务器的连接,具体实现由客户端决定,此处给出准确的服务器启动信息以便对接。
-
基本使用方法
- 启动服务器(STDIO 模式):在项目根目录执行 uv run python -m zulipmcp.mcp
- 启动服务器(SSE 模式,适用于远端/网页客户端): uv run python -m zulipmcp.mcp --transport sse
- 监听 Zulip 事件、获取消息、执行工具等操作请参考仓库中 mcp.py 与 core.py 的实现细节。