LabscoMCP early access ↗
akougkasMCP SERVER

Zulip Chat

Read and write Zulip from any MCP client — 20 core tools by default, 60 when you need the rest.

by akougkas ↗Team Chat PlatformsCommunity

LABSCO SUMMARY

Chat as an interface to your agents, not just a place to read messages.

The session tools change what this is for: a long-running agent can bind itself to a Zulip topic, ask a question there, and wait — so the approval happens in the place your team already watches rather than in a terminal nobody is looking at.

What it is

A Zulip connector with a deliberate split. The default registers the 20 tools that cover daily use, because fewer tools mean faster selection and less token overhead; an extended mode registers all 60 when you need scheduling, event queues, file uploads or analytics. It also handles the agent side: sessions can be bound to a Zulip topic and ask for approval there.

What you get

  • Messaging — send_message, edit_message, get_message, add_reaction, manage_message_flags
  • Search and streams — search_messages with sender, stream and time filters, get_streams, get_stream_info, get_stream_topics
  • People — resolve_user so "message Jaime" works without hunting for an address, get_users, get_own_user
  • Identity — switch_identity posts as the bot instead of as you, in the same session, so human and automated messages stay distinguishable
  • Agent comms — teleport_chat, register_agent, ensure_agent_session, agent_message, request_user_input and wait_for_response, which is how a long-running session gets a stable control topic and an approval path
  • Extended mode adds advanced_search, construct_narrow, cross_post_message, toggle_reaction, scheduled messages, drafts, event registration and listening, upload_file and manage_files, get_daily_summary, presence and user groups

Requirements

A .zuliprc — download it from Zulip Settings > Personal > Account & privacy > API key and save it as ~/.zuliprc. Then uvx zulipchat-mcp --zulip-config-file ~/.zuliprc, or run the interactive onboarding with zulipchat-mcp-setup. Pass --zulip-bot-config-file as well for dual identity, which is what switch_identity needs. Extended mode is --extended-tools or ZULIPCHAT_EXTENDED_TOOLS=1. --transport serves stdio or http, with --host and --port for the network case. The assistant posts as you by default — worth knowing before you point it at a busy stream.

Setup effort

One command plus a key — uvx zulipchat-mcp --zulip-config-file ~/.zuliprc, then supply credentials