Zulip MCP server

Connect Zulip to Claude, ChatGPT, Cursor, Claude Code, Codex, Gemini, GitHub Copilot and any other MCP client, for your whole team. Metorial adds security, governance, and tracing, and gives everyone one Magic MCP URL to connect.

What you can do with the Zulip MCP server

Ask your agent in plain language. Each of these maps to a real tool on the server.

  • Use the get channel topics tool in Zulip
  • Use the get channel tool in Zulip
  • Use the create or subscribe to channel tool in Zulip
  • Use the send invitation tool in Zulip
  • Use the get message tool in Zulip
  • Use the archive channel tool in Zulip

Supported Tools

get_channel_topics

Get Channel Topics

List all topics in a Zulip channel, ordered by most recent activity. Useful for exploring what's being discussed in a channel.

get_channel

Get Channel

Get the metadata and permissions of an accessible Zulip channel. Call list_channels to discover channel IDs.

create_or_subscribe_channel

Create or Subscribe to Channel

Subscribe to a Zulip channel by name, creating it if it does not exist and permissions allow. Reports actual subscription changes; a new subscription does not prove that the channel was newly created.

send_invitation

Send Invitation

Invite new users to the Zulip organization by email. Can also create reusable invitation links.

get_message

Get Message

Fetch one accessible Zulip message by ID, including reactions and message flags.

archive_channel

Archive Channel

Archive (deactivate) a Zulip channel. Archived channels are no longer visible and cannot receive new messages. Requires permission to administer the channel.

list_subscriptions

List Subscriptions

List channels the authenticated user subscribes to, including personal mute, notification, and display settings.

delete_message

Delete Message

Permanently delete a Zulip message. The authenticated user must have permission to delete the message.

get_server_settings

Get Server Settings

Get the connected Zulip server version, API feature level, organization identity, and supported authentication methods.

list_files

List Uploaded Files

List files uploaded by the authenticated user, including file paths, sizes, and messages that reference them.

list_users

List Users

List accessible users in the Zulip organization, including their roles, status, and profile information.

manage_reactions

Manage Reactions

Add or remove emoji reactions on a Zulip message.

create_channel

Create Channel

DEPRECATED — use `create_or_subscribe_channel` instead. Create a new Zulip channel (stream). The authenticated user will be automatically subscribed. Can create public or private channels.

list_channels

List Channels

List all channels (streams) visible to the authenticated user. Includes both subscribed and public channels.

get_user_presence

Get User Presence

Check the online/offline/idle presence status of a specific user or all users in the organization.

get_messages

Get Messages

Retrieve messages from Zulip using flexible filtering. Search by channel, topic, sender, direct messages, or keywords using Zulip's narrow query system.

manage_message_flags

Manage Message Flags

Add or remove personal flags on messages, such as marking messages as read, starred, or collapsed.

upload_file

Upload File

Upload a file to Zulip and get its provider URL. Initially only the uploader can access it; send a message containing the returned URL to share it. Large uploads may exceed the server size limit or time out.

manage_subscriptions

Manage Subscriptions

Subscribe or unsubscribe users to/from Zulip channels. Can manage subscriptions for the authenticated user or other users (subject to channel permissions).

update_message

Update Message

Edit the content or topic of an existing Zulip message. Can also move messages between topics.

manage_user_groups

Manage User Groups

Create, update, or manage membership of user groups. Can list existing groups, create new ones, update group properties, or add/remove members.

set_user_status

Set User Status

Set the authenticated user's status, including status text and emoji. Useful for indicating availability or current activity.

send_message

Send Message

Send a message to a Zulip channel (with a topic) or as a direct message to one or more users. Supports Zulip-flavored Markdown formatting.

get_user

Get User

Get detailed profile information for a specific user by their user ID or email address. Omit both userId and email to get the authenticated user's profile and connection identity.

update_channel

Update Channel

Update a Zulip channel's properties such as name, description, or privacy settings. Requires permission to administer the channel.

Connect Zulip to your AI client

Every client uses the same Magic MCP URL, and so does any other MCP client. Add it once and sign in with SSO.

  1. Enable Zulip in Metorial. In your Metorial portal, enable the Zulip MCP server and sign in with the account that owns the data. Access stays governed by your team policies.
  2. Add a custom connector. Open Customize, then Connectors. Select Add, then Custom, then Web.
  3. Paste your Metorial MCP URL. Name it Metorial, paste your Magic MCP URL (<your-magic-mcp-url>) and continue.
  4. Sign in. Select Add and sign in to load Zulip tools.

Run Zulip through the Metorial gateway

One governed layer for every app your agents reach, not a separate connector per tool.

  • Give Zulip and every other app to your whole team through one MCP gateway, behind your SSO.
  • Scope which teams and agents can use Zulip tools with role-based access control, and trace every call.
  • Prefer to run it yourself? Metorial is open source and self-hostable.

More integrations teams use with Zulip

Slack

Slack: connect with bot OAuth or user OAuth to work with messages, conversations, search, files, Canvases, Lists, profiles, reactions, reminders, and workspace productivity settings.

Sharepoint

Manage SharePoint sites, document libraries, lists, and files. Create, read, update, and delete lists and list items with custom columns. Resolve site users to numeric Person/Group LookupId values. Upload, download, move, copy, and version files in document libraries. Search across sites, files, folders, lists, and list items using Microsoft Search. Manage permissions at site, list, and item levels with granular access control. Define and manage content types and site columns. Retrieve site properties and search for sites across Microsoft 365.

Microsoft Outlook

Send, read, reply to, forward, and manage email messages in user mailboxes. Organize messages into folders, apply categories, flags, and importance levels. Manage file and item attachments. Create, update, delete, and respond to calendar events and meetings. Find available meeting times, manage attendees, handle recurrence, and work with shared or delegated calendars. Create, read, update, and delete contacts, organize them into contact folders, and manage contact photos. Manage tasks and task lists via Microsoft To Do, including due dates, reminders, recurrence, and checklist items. Subscribe to webhook notifications for changes to messages, calendar events, and contacts. Support for Focused Inbox, @-mentions, mail tips, send-on-behalf, and send-as capabilities.

Confluence

Create, read, update, and delete pages, blog posts, comments, and attachments in Confluence spaces. Manage spaces, permissions, labels, and content restrictions. Search content using Confluence Query Language (CQL). Upload and download file attachments with versioning. Manage users, groups, and group memberships. Create and manage whiteboards, databases, folders, and templates. View and update inline tasks. Access audit logs.

Discord

Send, edit, and delete messages in channels. Manage servers (guilds), channels, roles, members, invites, webhooks, threads, scheduled events, auto moderation rules, audit logs, application commands, and custom guild emojis.

Asana

Create, read, update, and delete tasks, projects, portfolios, and goals in Asana workspaces. Manage task assignments, due dates, subtasks, dependencies, tags, custom fields, attachments, and comments. Organize work with sections, project templates, and portfolios. Search tasks across workspaces, track time entries, and manage team memberships.

Technical notes for Zulip

Send, search, retrieve, edit, and delete Zulip messages. Manage channel subscriptions, channel properties and topics, reactions, personal message flags, user groups, status, presence, and invitations. Read the connected account profile, server settings, and personal subscription preferences. Upload files for sharing in messages and list uploaded file metadata.

Frequently asked questions

Common questions about connecting Zulip to AI agents with Metorial.

  1. How many tools does the Zulip MCP server have?
    The Zulip MCP server exposes 25 tools, including Get Channel Topics, Get Channel, Create or Subscribe to Channel. Each one is governed and traced through Metorial.
  2. Zulip exposes tools your agents call on demand; it does not publish event triggers yet. Everything still runs through one governed MCP URL.
  3. Any MCP client, including VS Code, Windsurf, Zed, OpenCode and Grok. Each one reaches the Zulip MCP server through the same Metorial URL.
  4. Use role-based access control to decide which teams, users, and agents can use Zulip and which of its tools they can call.
  5. Yes. Metorial is open source, so you can run the Zulip MCP server yourself or use the hosted gateway.

Connect Zulip to production AI agents

See how Metorial gives your team governed access to Zulip, with tracing and security controls built in.