Back to MCP directory
publicPublicdnsLocal runtime

zulook

Zulook是一个提供Zulip对话只读访问的工具,支持CLI命令行、MCP服务器和ACP代理三种使用方式,通过解析Zulip URL获取并格式化聊天消息。

article

README

🚀 zulook

zulook 可对 Zulip 对话进行只读访问。它既可以作为命令行工具(CLI)使用,也能充当 MCP 服务器或 ACP 代理。

只需提供一个 Zulip URL,就能获取相应的消息,就这么简单。

$ zulook https://rust-lang.zulipchat.com/#narrow/stream/213817-t-lang/topic/test

Messages from t-lang > test:

**Alice** (2025-01-15 14:32 UTC) [test]
Has anyone looked at the new RFC?

**Bob** (2025-01-15 14:35 UTC) [test]
Yes, I left some comments on the thread.

Older: https://rust-lang.zulipchat.com/#narrow/channel/213817-t-lang/topic/test/near/12340
Newer: https://rust-lang.zulipchat.com/#narrow/channel/213817-t-lang/topic/test/near/12345

🚀 快速开始

在使用 zulook 之前,你需要进行一些设置。

📦 安装指南

你需要一个 Zulip API 密钥,最简单的获取方式如下:

  1. 登录你的 Zulip 实例。
  2. 进入 个人设置 > 账户与隐私
  3. 点击 管理你的 API 密钥,输入你的密码。
  4. 点击 下载 .zuliprc
  5. 将其移动到 ~/zuliprc
    mv ~/Downloads/.zuliprc ~/zuliprc
    

配置文件路径遵循 zulip-terminal 的约定:~/zuliprc(无点号)。

或者,你也可以设置环境变量:

export ZULIP_URL=https://your-org.zulipchat.com
export ZULIP_EMAIL=you@example.com
export ZULIP_API_KEY=your_api_key

💻 使用示例

基础用法

CLI 方式

zulook <url> [limit=N]

你可以传入任何 Zulip URL,包括流、主题、直接消息、群组直接消息,无论是否带有 /near/ 锚点。默认的消息数量限制为 100 条。

# 流主题
zulook https://rust-lang.zulipchat.com/#narrow/stream/213817-t-lang/topic/test

# 直接消息对话
zulook https://rust-lang.zulipchat.com/#narrow/dm/116009,116107-dm/near/572348733

# 获取较少的消息
zulook https://rust-lang.zulipchat.com/#narrow/stream/213817-t-lang/topic/test limit=20

输出结果中会包含 OlderNewer 链接,方便你浏览历史消息。

MCP 服务器方式

zulook mcp

以 MCP 服务器的形式通过标准输入输出运行。它提供了一个 zulip 工具,你可以给它传入一个 URL 或者 "help"

Claude Code 配置(~/.claude/settings.json):

{
  "mcpServers": {
    "zulook": {
      "command": "/path/to/zulook",
      "args": ["mcp"]
    }
  }
}

ACP 代理方式

zulook acp

以 ACP 代理的形式通过标准输入输出运行,可与 ACP 导体配合使用。

🔧 技术细节

zulook 会解析 Zulip 的窄化 URL,从 URL 片段中提取流/频道、主题、直接消息参与者和消息锚点。然后,它会使用相应的窄化过滤器调用 Zulip REST API(GET /api/v1/messages),并返回格式化后的消息。

URL 是唯一的交互接口。只有一个工具、一种命令模式,分页操作只需跟随链接即可,这些链接与你在浏览器中看到的是一样的。

🛠️ 构建

cargo build --release

构建该项目需要 Rust 2024 版本。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client