Skip to main content
Glama

Zulip MCP Server

by avisekrath

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ZULIP_URLYesURL of your Zulip organization (e.g., https://your-organization.zulipchat.com)
ZULIP_EMAILYesEmail address of your Zulip bot or user account
ZULIP_API_KEYYesAPI key for authenticating with Zulip

Schema

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
message-formatting-guide
common-patterns

Tools

Functions exposed to the LLM to take actions

NameDescription
search-users

Search for users by name or email. Use this before sending direct messages to get the correct email addresses.

get-started

Test connection and get basic info about your Zulip instance. Use this first to verify everything is working.

send-message

Send a message to a Zulip channel or direct message to users. IMPORTANT: For channels use exact names from 'get-subscribed-channels'. For DMs use actual email addresses from 'search-users' tool (NOT display names). Always include 'topic' for channel messages.

get-messages

Retrieve messages from Zulip with advanced filtering options.

get-users

Get all users in the Zulip organization with their profile information.

edit-message

Edit an existing message's content or topic.

delete-message

Delete a message by its ID.

add-emoji-reaction

Add an emoji reaction to a message.

get-user-by-email

Find a user by their email address.

get-topics-in-channel

Get all topics in a specific stream/channel.

upload-file

Upload a file or image to Zulip.

get-message-read-receipts

Get list of users who have read a specific message.

create-scheduled-message

Schedule a message to be sent at a future time. For direct messages, use comma-separated email addresses or get user info from the users-directory resource (zulip://users).

edit-scheduled-message

Modify a scheduled message before it's sent. For direct messages, use comma-separated email addresses or get user info from the users-directory resource (zulip://users).

create-draft

Create a new message draft. For user IDs in the 'to' field, use the users-directory resource (zulip://users) or get-users tool to discover available users and their IDs.

get-drafts

Retrieve all saved message drafts.

edit-draft

Update an existing message draft. For user IDs in the 'to' field, use the users-directory resource (zulip://users) or get-users tool to discover available users and their IDs.

get-subscribed-channels

Get channels/streams the user is subscribed to.

get-channel-id

Get the ID of a channel by its name.

get-channel-by-id

Get detailed information about a channel by its ID.

update-status

Update user status message with emoji and availability. Examples: Unicode emoji (emoji_name: 'coffee', emoji_code: '2615'), custom org emoji (reaction_type: 'realm_emoji'), or Zulip special emoji (reaction_type: 'zulip_extra_emoji').

get-user

Get detailed information about a specific user by ID.

get-message

Get detailed information about a specific message by ID.

remove-emoji-reaction

Remove an emoji reaction from a message.

get-user-groups

Get all user groups in the organization.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/avisekrath/zulip-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server