Zulip

A model context protocol server for zulip
  • javascript

9

GitHub Stars

javascript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "monadical-sas-zulip-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-zulip"
      ],
      "env": {
        "ZULIP_URL": "https://example.zulipchat.com",
        "ZULIP_EMAIL": "your-bot@example.zulipchat.com",
        "ZULIP_API_KEY": "your-bot-api-key"
      }
    }
  }
}

This MCP Server enables an AI assistant to interact with Zulip workspaces by providing a set of endpoints to list channels, post messages, send direct messages, react to messages, and fetch channel history and topics. You use it by running the MCP server locally or in a container and then wiring it to your MCP client so the assistant can perform Zulip actions on your behalf.

How to use

You interact with the Zulip MCP Server through an MCP client by invoking its endpoints to read streams, post messages, send direct messages, and manage topics. Typical workflows include listing available channels, posting messages to a stream with a specific topic, sending direct messages to users, reacting to messages, and retrieving recent channel history for context.

How to install

Prerequisites: have a working Node.js environment or Docker to run images for MCP servers.

Option 1: Run with npx (quick start)

{
  "mcpServers": {
    "zulip": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-zulip"
      ],
      "env": {
        "ZULIP_EMAIL": "your-bot@example.zulipchat.com",
        "ZULIP_API_KEY": "your-bot-api-key",
        "ZULIP_URL": "https://example.zulipchat.com"
      }
    }
  }
}

Option 2: Run with Docker

Use Docker to run the Zulip MCP Server image with the required environment variables.

{
  "mcpServers": {
    "zulip": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "ZULIP_EMAIL",
        "-e",
        "ZULIP_API_KEY",
        "-e",
        "ZULIP_URL",
        "mcp/zulip"
      ],
      "env": {
        "ZULIP_EMAIL": "your-bot@example.zulipchat.com",
        "ZULIP_API_KEY": "your-bot-api-key",
        "ZULIP_URL": "https://example.zulipchat.com"
      }
    }
  }
}

Available tools

zulip_list_channels

List available streams in the Zulip organization with optional filters for private, web-public streams, and subscriptions.

zulip_post_message

Post a new message to a Zulip channel (stream) by providing the channel name, topic, and content.

zulip_send_direct_message

Send a direct message to one or more users by supplying recipients and the content.

zulip_add_reaction

Add an emoji reaction to a specific message by providing the message ID and emoji name.

zulip_get_channel_history

Retrieve recent messages from a channel and topic with optional limits and an anchor point.

zulip_get_topics

Fetch the list of topics within a specified channel.

zulip_subscribe_to_channel

Subscribe the MCP server bot to a Zulip channel (stream) by name.

zulip_get_users

Obtain the list of users in the Zulip organization with basic information.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
Zulip MCP Server - monadical-sas/zulip-mcp | VeilStrat