Skip to content

Zulip MCP Server v1.5.0 - Stream Terminology & Enhanced Usability

Latest

Choose a tag to compare

@avisekrath avisekrath released this 21 Jun 14:14
· 22 commits to main since this release

🚀 Zulip MCP Server v1.5.0

Major release with comprehensive terminology standardization, enhanced LLM usability, and expanded tool set.

⚠️ Breaking Changes

This release standardizes terminology from "channels" to "streams" across all tools. This is a breaking change that requires updating tool references:

  • get-subscribed-channelsget-subscribed-streams
  • get-channel-idget-stream-id
  • get-channel-by-idget-stream-by-id
  • get-topics-in-channelget-topics-in-stream
  • channels-directory resource → streams-directory

Note: In Zulip, "streams" and "channels" are the same concept - this change only affects naming for consistency.

🛠️ Tools (25 Available - was 22)

New Helper Tools

  • search-users - 🔍 Find users by name/email before sending DMs
  • get-started - 🚀 Test connection and get workspace overview
  • get-user - 🆔 Get detailed user information by ID

Message Operations

send-message, get-messages, get-message, edit-message, delete-message, upload-file, add-emoji-reaction, remove-emoji-reaction, get-message-read-receipts

Drafts & Scheduling

create-draft, get-drafts, edit-draft, create-scheduled-message, edit-scheduled-message

Stream Management (renamed from Channels)

get-subscribed-streams, get-stream-id, get-stream-by-id, get-topics-in-stream

User Operations

get-user, get-user-by-email, get-users, search-users, update-status, get-user-groups

🎯 What's New

Enhanced LLM Usability

  • Helper tools for better discovery workflows
  • Comprehensive error guidance and quick tips
  • Clear terminology explanations throughout
  • Workflow documentation for common use cases

Improved Documentation

  • Complete terminology standardization with backward-compatibility explanations
  • Tool selection guides ("when to use which tool")
  • Enhanced README with accurate tool count and examples
  • Comprehensive implementation guidance in CLAUDE.md

Code Quality

  • Fixed schema naming inconsistencies
  • Improved TypeScript type safety
  • Better error handling and validation
  • Package security vulnerability fixes

📖 Migration Guide

For Automated Scripts/Tools:

Update any tool references in your automation:

- mcp.call("get-subscribed-channels")
+ mcp.call("get-subscribed-streams")

- mcp.call("get-channel-id", {stream_name: "general"})  
+ mcp.call("get-stream-id", {stream_name: "general"})

For MCP Resources:

- zulip://channels
+ zulip://streams

No Functional Changes

  • All parameters remain the same
  • All functionality is identical
  • Only tool/resource names have changed

🎯 LLM Client Configurations

Claude Desktop

{
  "mcpServers": {
    "zulip": {
      "command": "node",
      "args": ["/path/to/zulip-mcp-server/dist/server.js"],
      "env": {
        "ZULIP_URL": "https://your-org.zulipchat.com",
        "ZULIP_EMAIL": "bot@yourcompany.com", 
        "ZULIP_API_KEY": "your-api-key"
      }
    }
  }
}

Cursor IDE & Raycast

See README.md for complete configuration examples.

🚀 Quick Start

npm install
cp .env.example .env  # Add your Zulip credentials
npm run build
npm start

📝 Full Changes

See CHANGELOG.md for complete details.


thearlabs with claude code