AT

antra-tess/zulip_mcp

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

0 stars 7 forks 品質 80 トレンド 20MIT

A Zulip server for AI agents, speaking plain (Model Context Protocol) to any client and (MCP Live) to hosts that support it — live delivery of stream messages and DMs, host-managed channels, catch-up...

概要

A Zulip server for AI agents, speaking plain (Model Context Protocol) to any client and (MCP Live) to hosts that support it — live delivery of stream messages and DMs, host-managed channels, catch-up after downtime, a hot-reloadable filters plane, and a stateful tool surface for reading and writing Zulip. Built on @animalabs/mcpl-core, the same substrate as discord-mcpl and slack-mcpl. Zulip only — the Discord and Slack adapters that once lived here moved to those servers. - 29 tools: stream/topic history with natural dates or id cursors, fetch_around, sending to streams and DMs, editing, deleting, reactions, user lookup, attachments, and a persistent read/unread monitor. - Resources: zulip://unread/summary, zulip://monitoring/status, zulip://channel/{stream}/unread. - Every stream and DM conversation the bot can see is a channel the host can open and close.

README

以下は原文 README の抜粋です。原文を見る。

Zulip MCP Server

A Zulip server for AI agents, speaking plain MCP (Model Context Protocol) to any client and MCPL (MCP Live) to hosts that support it — live delivery of stream messages and DMs, host-managed channels, catch-up after downtime, a hot-reloadable filters plane, and a stateful tool surface for reading and writing Zulip.

Built on @animalabs/mcpl-core, the same substrate as discord-mcpl and slack-mcpl. Zulip only — the Discord and Slack adapters that once lived here moved to those servers.

What you get

Plain MCP (Claude Code, Cursor, any MCP client)

  • 29 tools: stream/topic history with natural dates or id cursors, fetch_around, sending to streams and DMs, editing, deleting, reactions, user lookup, attachments, and a persistent read/unread monitor.
  • Resources: zulip://unread/summary, zulip://monitoring/status, zulip://channel/{stream}/unread.

MCPL hosts (connectome-host and friends)

  • Every stream and DM conversation the bot can see is a channel the host can open and close. Opening a channel subscribes the bot to the stream first (Zulip only delivers events to subscribers) — a stream the bot cannot subscribe to fails the open rather than opening onto silence — and can return backscroll atomically.
  • Delivery model: messages on open channels arrive as channels/incoming; mentions and DMs on closed channels arrive as push/event so they always reach the agent; ambient traffic on closed channels is dropped and counted (channel_missed).
  • Catch-up: a persisted per-channel watermark advances only when the host has accepted a message (itemized channels/incoming results, acknowledged push/event), and never past a message the host was offered but did not accept — a refusal, a batch lost to a transport failure — which is replayed from history once the host answers again. On the next connection a `` block per channel delivers what arrived meanwhile (full backscroll for channels the host had open, mention ± 7 messages for the rest), paged up to ZULIP_CATCHUP_LIMIT and hard-capped in size. A Zulip event-queue expiry is healed the same way — open channels replayed, closed channels’ mentions pushed — not merely reported. Live events that arrive before the sweep has run are held and released in order after it, so a live delivery can never jump the watermark over the offline gap.
  • RFC-001 tags on every message (chat:mention, chat:dm, chat:ambient, chat:from-bot, chat:has-image, chat:reaction, …) for the host’s wake policy. Images are inlined on live delivery, downsampled to model-max.
  • Reactions, opt-in per channel, carry only reaction tags so a tag-keyed wake policy ignores them; operator-owned suppression of reaction markers
GitHub で README 全文を見る

インストール

This server does not publish a one-line install command.

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{ "mcpServers": { "zulip": { "command": "node", "args": ["/path/to/zulip-mcp/build/index.js"], "env": { "ZULIP_RC_PATH": "/path/to/zuliprc", "ZULIP_SESSION_ID": "my-agent" } } } }