Zulip Chat
This MCP server acts as a powerful bridge between AI assistants and the Zulip team chat platform, effectively giving large language models a presence within a professional workspace. By connecting an AI to Zulip, teams can interact with their AI tools directly inside their existing communication channels. In its simplest …
About this Protocol
How to Use
1. Installation
You can install the Zulip Chat MCP server using uv via the following methods:
From GitHub (Current Recommended Method):
uvx --from git+https://github.com/akougkas/zulipchat-mcp.git zulipchat-mcp \
--zulip-email [email protected] \
--zulip-api-key YOUR_API_KEY \
--zulip-site https://org.zulipchat.com
From Source (For Development):
git clone https://github.com/akougkas/zulipchat-mcp.git
cd zulipchat-mcp
uv sync
uv run zulipchat-mcp --zulip-email [email protected] --zulip-api-key YOUR_API_KEY --zulip-site https://site.zulipchat.com
2. Configuration
Environment Variables
The following variables are required for the server to function:
* ZULIP_EMAIL: Your Zulip account email.
* ZULIP_API_KEY: Your Zulip API key.
* ZULIP_SITE: The URL of your Zulip organization (e.g., https://org.zulipchat.com).
* ZULIP_BOT_EMAIL (Optional): Bot email for advanced agent features.
* ZULIP_BOT_API_KEY (Optional): Bot API key for advanced agent features.
Claude Desktop Configuration
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"zulipchat": {
"command": "uvx",
"args": ["--from", "git+https://github.com/akougkas/zulipchat-mcp.git", "zulipchat-mcp"],
"env": {
"ZULIP_EMAIL": "[email protected]",
"ZULIP_API_KEY": "your-api-key",
"ZULIP_SITE": "https://your-org.zulipchat.com"
}
}
}
}
3. Available Tools
The Zulip MCP server provides a wide range of tools categorized by functionality:
- Messaging:
message(send/schedule),search_messages,edit_message,bulk_operations,message_history,cross_post_message,add_reaction,remove_reaction. - Streams & Topics:
manage_streams,manage_topics,get_stream_info,stream_analytics,manage_stream_settings. - Real-time Events:
register_events,get_events,listen_events. - User Management:
manage_users,switch_identity,manage_user_groups. - Search & Analytics:
advanced_search,analytics(sentiment/participation),get_daily_summary. - Files & Media:
upload_file,manage_files. - Agent Communication:
register_agent,agent_message,request_user_input,start_task,update_progress,complete_task,enable_afk_mode,disable_afk_mode. - System & Workflow:
server_info,tool_help,execute_chain.
4. Example Prompts
- "Show me engagement trends for #design this week with top contributors"
- "Schedule weekly standup reminders for #engineering every Monday at 9am"
- "Summarize the recent discussion in the #development stream regarding the new API release."
Use Cases
Use Case 1: Automated Executive Summaries and Activity Reports
Problem: Team leads and managers often struggle to keep up with high-volume chat streams across multiple topics, making it easy to miss critical updates or general team sentiment.
Solution: This MCP allows an AI assistant to act as a "chief of staff" by using the analytics and get_daily_summary tools. It can scan specific streams, identify top contributors, and summarize the most important decisions made in a given timeframe.
Example: A lead asks: "What were the three most important technical decisions made in the #architecture stream this week?" The AI searches the message history, identifies key threads using sentiment analysis, and provides a bulleted summary of the consensus reached.
Use Case 2: Intelligent Knowledge Base Retrieval
Problem: Internal knowledge is often buried in Zulip's "Topic" threads, making it difficult for new employees or cross-functional partners to find the rationale behind past decisions without manually scrolling for hours.
Solution: By leveraging advanced_search and message_history, the AI can perform multi-faceted searches and provide a narrative answer based on historical chat context, effectively turning Zulip into a searchable, conversational knowledge base.
Example: A developer asks: "Why did we decide to deprecate the legacy authentication service?" The AI searches through the #engineering-core stream, finds the relevant topic from six months ago, and explains: "According to the discussion in July, the team switched because the legacy service didn't support OAuth 2.0. See [link to message] for the security audit details."
Use Case 3: Proactive Project Health and Sentiment Monitoring
Problem: Project managers may not realize a project is in trouble until a deadline is missed, even if the "warning signs" (frustration, blockers, or circular arguments) are present in team chats.
Solution: Using the analytics tool’s sentiment analysis and participation metrics, the AI can monitor specific streams for "collaboration scores" and sentiment shifts. This allows for proactive intervention before issues escalate.
Example: An AI assistant is configured to run a weekly check: "Analyze the sentiment of the #launch-prep stream." If the AI detects a high volume of "frustrated" sentiment or a drop in "collaboration scores," it alerts the manager that the team might be experiencing burnout or a major technical blocker.
Use Case 4: Automated Workflow and Task Orchestration
Problem: Moving from a chat discussion to actionable task tracking usually requires manual data entry into another tool, leading to "context switching" and lost momentum.
Solution: The MCP’s Agent Communication tools (start_task, update_progress, request_user_input) allow the AI to manage the lifecycle of a task directly within the chat interface. It can track progress and follow up with users automatically.
Example: After a brainstorming session, a user says: "AI, start a task for 'Update API Docs' in the #docs stream." The AI creates the task, monitors the stream for mentions of "API Docs," and periodically asks the assignee for progress updates using request_user_input, finally reporting completion to the stream.
Use Case 5: Cross-Stream Communication and Announcement Management
Problem: In large organizations, important announcements often need to be "cross-posted" to multiple relevant streams, but copying and pasting messages manually is tedious and results in fragmented discussion threads.
Solution: The cross_post_message tool allows the AI to distribute information across multiple channels while maintaining "attribution awareness." This ensures context is preserved and the original source is clearly linked.
Example: A HR bot uses the MCP to post a new policy update: "AI, post the 'Remote Work Policy' update to all regional streams (#nyc, #london, #tokyo) and include a link to the main #hr-announcements topic for questions." The AI handles the distribution and ensures all posts link back to the central discussion.