PROJECT 03← All work

Model Context Protocol server

Zulip MCP

A safe, topic-aware MCP server for team communication

ROLE

MCP server design, TypeScript engineering, safety controls

YEAR

2026

STATUS

Open-source project

OVERVIEW

A TypeScript MCP server for reading Zulip discussions, triaging mentions and direct messages, drafting replies, performing approval-gated writes, and producing topic-aware summaries and digests.

01

Problem

Team communication tools contain useful context and untrusted content. An AI tool needs topic awareness without treating messages as instructions or writing on a user's behalf by default.

02

Constraints

Credentials must be redacted, writes must fail closed, inputs require schemas, and stream scope may need an explicit allowlist.

03

Architecture

The TypeScript MCP server wraps the Zulip REST API with Zod-validated tools for streams, topics, messages, mentions, direct messages, summaries, digests, and draft-first communication.

04

Key decisions

Read tools and draft tools are distinct from write tools. Approval-gated sends fail closed, and all Zulip content remains untrusted through sanitization and prompt-injection guards.

05

Walkthrough

Representative tools include list_streams, list_topics, get_topic_messages, search_messages, get_unread_mentions, get_unread_dms, summarize_topic, triage_mentions, draft_reply, daily_digest, compose_project_update, and approval-gated send and reaction tools.

06

Security, safety & reliability

The server supports credential redaction, optional stream allowlists, Zod validation, sanitization, injection guards, draft-first flows, and explicit approval gates.

07

Testing & evaluation

Automated tests cover tool behavior and the safety boundary. The repository remains the source of truth for exact coverage.

08

Result

The server provides topic-aware assistance without collapsing read, draft, and send into one opaque operation.

09

Limitations

Use requires a configured Zulip workspace and credentials. Approval gates reduce risk but do not replace organizational access controls or human review.

10

Lessons

Good AI tooling makes authority boundaries visible in the API surface itself.

PROJECT-LOCAL PROOF

Write operations use fail-closed approval gates

Zod validates tool inputs

Draft-first workflows keep communication reviewable

NEXT PROJECT / 04

Java Backend Systems