{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"smithery_akougkas-zulipchat-mcp","slug":"akougkas-zulipchat-mcp","name":"Zulip","type":"mcp","url":"https://github.com/akougkas/zulipchat-mcp","page_url":"https://unfragile.ai/akougkas-zulipchat-mcp","categories":["mcp-servers"],"tags":["mcp","model-context-protocol","smithery:akougkas/zulipchat-mcp"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"smithery_akougkas-zulipchat-mcp__cap_0","uri":"capability://tool.use.integration.zulip.message.sending.and.retrieval.via.mcp","name":"zulip message sending and retrieval via mcp","description":"Enables AI agents to send messages to Zulip streams and topics, and retrieve message history with full context. Implements MCP tool bindings that translate agent requests into Zulip REST API calls, handling authentication via API tokens and managing message formatting for rich text rendering. Supports querying messages by stream, topic, sender, and date range with pagination for large result sets.","intents":["I want my AI agent to post notifications or summaries to specific Zulip streams automatically","I need to retrieve conversation history from Zulip to provide context to an LLM for analysis or response generation","I want to search for messages across topics and streams programmatically to feed into an AI workflow"],"best_for":["Teams using Zulip as their primary communication platform who want to integrate AI agents into their workflows","Developers building AI-powered notification or summarization systems on top of Zulip","Organizations automating incident response or customer support with AI agents that need to post updates to team channels"],"limitations":["Message formatting is limited to Zulip's markdown subset — complex HTML or custom formatting may not render as expected","Bulk message operations (sending to 100+ streams) may hit Zulip rate limits without exponential backoff handling","No built-in support for message editing or deletion after posting — requires separate API calls","Message retrieval is paginated and may require multiple requests for large conversation histories, adding latency"],"requires":["Zulip server instance (self-hosted or cloud) with API access enabled","Valid Zulip API token with message read/write permissions","MCP client compatible with Zulip MCP server (e.g., Claude Desktop, custom MCP host)","Network connectivity to Zulip server"],"input_types":["text (message content)","structured data (stream name, topic, sender filter, date range)","integers (message ID, limit for pagination)"],"output_types":["text (formatted messages)","structured data (JSON message objects with metadata: sender, timestamp, reactions)","arrays (message lists with pagination tokens)"],"categories":["tool-use-integration","text-generation-language"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akougkas-zulipchat-mcp__cap_1","uri":"capability://tool.use.integration.stream.and.topic.management.via.mcp.tools","name":"stream and topic management via mcp tools","description":"Allows AI agents to create, list, and manage Zulip streams and topics programmatically through MCP tool bindings. Implements CRUD operations that map to Zulip's stream management API, handling permissions validation, stream visibility settings (public/private), and topic creation within existing streams. Supports querying stream metadata including subscriber counts, creation dates, and description fields.","intents":["I want my AI agent to automatically create new streams for projects or incidents without manual setup","I need to list all streams and their metadata to understand team organization or route messages intelligently","I want to programmatically manage stream subscriptions or permissions based on team changes"],"best_for":["DevOps teams automating incident response workflows where new streams are created per incident","Large organizations with dynamic team structures that need AI-driven stream provisioning","Developers building Zulip workspace management tools that integrate with AI orchestration"],"limitations":["Stream creation requires appropriate admin permissions — agents cannot create streams without elevated API token scope","Bulk stream operations (creating 50+ streams) may require rate limiting or batching logic not built into the MCP server","Topic management is limited to creation — no bulk topic deletion or archival capabilities","Stream visibility changes (public to private) may not propagate immediately to all connected clients"],"requires":["Zulip API token with stream management permissions (admin or organization-level scope)","Zulip server instance with stream creation enabled","MCP client with tool invocation support"],"input_types":["text (stream name, description, topic name)","structured data (stream visibility settings, subscriber lists)","booleans (public/private flags)"],"output_types":["structured data (stream metadata: ID, name, description, subscriber count)","arrays (list of streams with full metadata)","status codes (success/failure of create/update operations)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akougkas-zulipchat-mcp__cap_10","uri":"capability://tool.use.integration.pinned.message.and.bookmark.management","name":"pinned message and bookmark management","description":"Allows AI agents to pin important messages to streams or topics, and manage bookmarks for individual users through MCP tools that map to Zulip's pinning and bookmarking APIs. Implements pin/bookmark enumeration with metadata (pinner, timestamp, reason), supporting agents in highlighting important information or decisions. Handles pin removal and bookmark management for conversation curation.","intents":["I want my AI agent to pin important decisions or announcements to stream topics for visibility","I need to bookmark relevant messages for later reference or knowledge base building","I want to analyze pinned messages to identify key decisions or milestones in conversations"],"best_for":["Teams using pinned messages as a lightweight documentation mechanism","Developers building AI-powered knowledge base or decision tracking systems","Organizations wanting AI to curate important information for team visibility"],"limitations":["Pinned messages are limited to stream topics — cannot pin direct messages","Pin count is limited per topic (typically 10-20) — agents must prioritize carefully","Bookmarks are user-specific and not visible to other team members — limited for team-wide curation","Pin removal requires admin or moderator permissions — agents may not be able to unpin messages","Pinned message queries may be slow for topics with many messages"],"requires":["Zulip API token with message pinning permissions (typically admin or moderator for stream pins)","Zulip server instance with pinning enabled","MCP client"],"input_types":["integers (message ID)","text (pin reason or annotation)","booleans (pin/unpin action)"],"output_types":["structured data (pinned message metadata: ID, content, pinner, timestamp)","arrays (list of pinned messages in a topic)","status codes (success/failure of pin/unpin operations)"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akougkas-zulipchat-mcp__cap_11","uri":"capability://tool.use.integration.draft.message.composition.and.scheduling","name":"draft message composition and scheduling","description":"Enables AI agents to compose draft messages, schedule messages for future delivery, and manage message templates through MCP tools that integrate with Zulip's drafts and scheduling APIs. Implements draft persistence, template variable substitution, and scheduled message queuing with delivery time management. Supports agents in preparing messages without immediate posting, enabling review or conditional delivery.","intents":["I want my AI agent to compose draft messages for human review before posting to important streams","I need to schedule messages for delivery at specific times (e.g., daily summaries, reminders)","I want to use message templates with variable substitution for consistent formatting"],"best_for":["Teams wanting AI-assisted message composition with human review gates","Developers building AI-powered scheduling or reminder systems","Organizations automating routine communications (daily standups, weekly summaries)"],"limitations":["Scheduled messages are stored in Zulip and require the server to remain online — no external scheduling service","Draft messages are user-specific and not shared across agents — no collaborative drafting","Template variable substitution is limited to simple string replacement — no complex logic or conditionals","Scheduled message cancellation requires knowing the message ID — no bulk cancellation support","Scheduled messages may be delayed if the Zulip server is under heavy load"],"requires":["Zulip API token with draft and scheduling permissions","Zulip server instance with drafts and scheduling enabled","MCP client"],"input_types":["text (message content, template variables)","structured data (recipient stream/topic, scheduled delivery time)","integers (template ID)"],"output_types":["structured data (draft metadata: ID, content, creation timestamp)","status codes (success/failure of draft save or schedule operations)","integers (scheduled message ID for later cancellation)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akougkas-zulipchat-mcp__cap_12","uri":"capability://tool.use.integration.message.editing.and.deletion.with.audit.trail","name":"message editing and deletion with audit trail","description":"Provides MCP tools to edit and delete messages, with support for tracking edit history. Implements message modification by wrapping Zulip's /messages/{message_id} endpoint, allowing agents to update message content and delete messages. Supports retrieving edit history to maintain an audit trail of changes.","intents":["Edit a message to correct errors or update information","Delete a message that was sent in error","Retrieve edit history to audit message changes","Build workflows that modify messages based on new information"],"best_for":["Agents that need to correct or update messages after sending","Teams implementing message moderation or cleanup workflows","Organizations requiring audit trails for message changes"],"limitations":["Message editing is limited to the message sender or admins; agents cannot edit others' messages unless they have admin permissions","Edit history is limited to Zulip's retention policy; old edits may be discarded","Deleted messages cannot be recovered; deletion is permanent","Edit timestamps and editor information are tracked but not fully customizable"],"requires":["Zulip API key with message editing permissions","Valid message ID to edit or delete","Permission to edit the message (sender or admin)"],"input_types":["integer (message_id)","string (new message content for edits)","string (topic for topic edits)"],"output_types":["confirmation object (success, message_id, edit_timestamp)","edit_history array (timestamp, editor_id, previous_content)","deletion confirmation object"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akougkas-zulipchat-mcp__cap_13","uri":"capability://automation.workflow.scheduled.message.sending.and.message.queuing","name":"scheduled message sending and message queuing","description":"Provides MCP tools to schedule messages for future delivery and manage message queues. Implements scheduling by storing message metadata and delivery times, allowing agents to compose messages that are sent at specified times. Supports queue management with priority levels and batch sending capabilities.","intents":["Schedule a message to be sent at a specific time","Queue multiple messages for batch sending","Implement reminder workflows that send messages at scheduled intervals","Build time-based automation that sends messages based on events or conditions"],"best_for":["Agents implementing reminder or notification workflows","Teams automating scheduled announcements or reports","Developers building message scheduling features"],"limitations":["Scheduling requires external state management; Zulip API does not natively support scheduled sends","Message queues must be managed externally; no built-in queue persistence","Scheduled messages are lost if the agent crashes; requires durable storage","Timezone handling is complex; agents must manage timezone conversions"],"requires":["Zulip API key with message sending permissions","External state store for scheduling (database, cache, etc.)","Reliable scheduling mechanism (cron, task queue, etc.)"],"input_types":["string (message content)","string (stream name, topic)","integer (unix timestamp for scheduled send)","string (timezone for scheduling)"],"output_types":["scheduled_message object (message_id, scheduled_time, status)","queue_status object (queued_count, sent_count, failed_count)","confirmation object (success, scheduled_message_id)"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akougkas-zulipchat-mcp__cap_14","uri":"capability://tool.use.integration.pinned.messages.and.important.message.management","name":"pinned messages and important message management","description":"Exposes MCP tools to pin and unpin messages, marking them as important or featured. Implements pinning by wrapping Zulip's message pinning API, allowing agents to highlight important messages in streams or topics. Supports querying pinned messages to retrieve important content.","intents":["Pin important announcements or decisions to make them visible","Unpin messages when they are no longer relevant","Retrieve pinned messages to build a summary of important content","Build workflows that automatically pin messages based on criteria"],"best_for":["Teams using pinned messages to highlight important content","Agents automating message curation and highlighting","Developers building content discovery features"],"limitations":["Pinning is limited to a small number of messages per stream (typically 10-20)","Pinned messages are stream-level, not topic-level; cannot pin within topics","Unpinning requires permission; agents cannot unpin others' pins unless they have admin permissions","No automatic unpinning; old pins must be manually removed"],"requires":["Zulip API key with message pinning permissions","Valid message ID to pin","Permission to pin messages (sender or admin)"],"input_types":["integer (message_id)"],"output_types":["confirmation object (success, message_id, pinned_timestamp)","array of pinned_message objects (message_id, content, sender, timestamp)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akougkas-zulipchat-mcp__cap_15","uri":"capability://automation.workflow.topic.renaming.and.stream.reorganization","name":"topic renaming and stream reorganization","description":"Provides MCP tools to rename topics and reorganize messages across streams. Implements topic management by wrapping Zulip's topic editing API, allowing agents to rename topics for clarity and move messages between topics or streams. Supports bulk topic operations for workspace reorganization.","intents":["Rename a topic to better reflect its content","Move messages from one topic to another for better organization","Reorganize streams by moving related topics","Build workflows that automatically organize messages based on content"],"best_for":["Workspace administrators managing stream and topic organization","Agents automating message organization and curation","Teams implementing dynamic topic management"],"limitations":["Topic renaming requires admin permissions; agents cannot rename others' topics unless they have admin permissions","Moving messages between streams is limited by Zulip API constraints; bulk moves may be slow","Topic history is preserved but may be confusing if topics are frequently renamed","Reorganization changes are visible to all users; no staging or preview"],"requires":["Zulip API key with topic management permissions","Admin permissions for bulk reorganization","Valid stream and topic names"],"input_types":["string (old_topic_name, new_topic_name)","string (source_stream, destination_stream)","integer (message_id for moving individual messages)"],"output_types":["confirmation object (success, renamed_topic, affected_message_count)","move_confirmation object (success, moved_message_count, source_topic, destination_topic)"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akougkas-zulipchat-mcp__cap_2","uri":"capability://tool.use.integration.user.and.member.management.via.mcp","name":"user and member management via mcp","description":"Provides AI agents with tools to query user profiles, list organization members, and manage user metadata through MCP bindings to Zulip's user management API. Implements member enumeration with filtering by role (admin, moderator, member), status (active/inactive), and custom profile fields. Supports retrieving user presence information and recent activity timestamps for context-aware agent decisions.","intents":["I want my AI agent to look up user information to personalize responses or route messages to the right team members","I need to query active users or members with specific roles to understand team capacity or availability","I want to retrieve user presence data to determine if someone is available before escalating an issue"],"best_for":["AI agents handling customer support or internal help desk workflows that need to route to available team members","Developers building Zulip-integrated scheduling or availability systems","Teams automating on-call rotations or escalation policies based on user presence and roles"],"limitations":["User presence data is cached and may be stale by 30+ seconds — not suitable for real-time availability checks","Custom profile fields are organization-specific and require prior knowledge of field names and types","Bulk user operations (querying 1000+ users) may require pagination and multiple API calls, adding latency","User deactivation is not reversible through the API — requires manual admin intervention"],"requires":["Zulip API token with user read permissions","Zulip server instance with user directory enabled","MCP client"],"input_types":["text (username, email, user ID)","structured data (role filters, status filters)","integers (user ID for direct lookup)"],"output_types":["structured data (user profile: name, email, role, status, presence)","arrays (member lists with metadata)","booleans (presence status)"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akougkas-zulipchat-mcp__cap_3","uri":"capability://tool.use.integration.event.subscription.and.real.time.notification.handling","name":"event subscription and real-time notification handling","description":"Enables AI agents to subscribe to Zulip events (messages, reactions, presence changes, stream updates) through MCP tool bindings that establish long-polling or webhook connections to the Zulip server. Implements event filtering by type and stream, with automatic reconnection and backoff logic for handling connection failures. Agents receive structured event payloads containing full context (sender, timestamp, content) for reactive decision-making.","intents":["I want my AI agent to react in real-time to new messages in specific streams without polling","I need to trigger automated workflows when specific events occur (e.g., a reaction is added, a user goes offline)","I want to monitor Zulip activity and feed events into an AI reasoning loop for continuous decision-making"],"best_for":["Teams building real-time AI agents that respond to Zulip events (e.g., chatbots, incident responders)","Developers creating Zulip-integrated monitoring or alerting systems","Organizations automating workflows triggered by team communication patterns"],"limitations":["Event subscriptions require maintaining persistent connections — not suitable for serverless or stateless deployments","Event filtering is limited to stream and event type — no content-based filtering (e.g., 'only events mentioning @bot')","Reconnection logic may cause duplicate event processing if not idempotent — requires agent-side deduplication","Long-polling adds 1-5 second latency compared to true webhooks; webhook support depends on Zulip server configuration","Event history is not available — agents cannot replay past events if connection is lost"],"requires":["Zulip API token with event subscription permissions","Zulip server instance with event API enabled","MCP client with support for long-running tool invocations or streaming responses","Network connectivity to Zulip server with stable connection"],"input_types":["text (event type filter: 'message', 'reaction', 'presence')","structured data (stream filter, topic filter)","integers (event ID for resuming subscriptions)"],"output_types":["streaming data (event stream with structured payloads)","structured data (event objects: type, timestamp, actor, content)","arrays (batch events if using polling)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akougkas-zulipchat-mcp__cap_4","uri":"capability://tool.use.integration.message.reaction.and.emoji.handling","name":"message reaction and emoji handling","description":"Allows AI agents to add, remove, and query emoji reactions on Zulip messages through MCP tools that map to Zulip's reaction API. Implements reaction management with support for custom emoji, reaction enumeration by message, and reaction counting for sentiment analysis or engagement tracking. Handles emoji name normalization and validation against the Zulip server's emoji set.","intents":["I want my AI agent to react to messages with emoji to acknowledge, approve, or categorize them","I need to analyze message reactions to understand team sentiment or engagement on specific topics","I want to use reactions as a lightweight feedback mechanism for AI-generated suggestions or summaries"],"best_for":["Teams using emoji reactions as a lightweight communication protocol (e.g., '+1' for approval)","Developers building AI-powered sentiment analysis or engagement tracking on Zulip","Agents that need to provide feedback or acknowledgment without posting full messages"],"limitations":["Emoji support is limited to the Zulip server's configured emoji set — custom emoji may not be available across all instances","Reaction queries return only emoji names and counts, not individual reactor identities (privacy-preserving but limits analysis)","Bulk reaction operations (adding reactions to 100+ messages) may hit rate limits","Reaction removal requires knowing the exact emoji name — no fuzzy matching or alias support"],"requires":["Zulip API token with message reaction permissions","Zulip server instance with emoji support enabled","MCP client"],"input_types":["integers (message ID)","text (emoji name, e.g., 'thumbs_up', 'heart')","structured data (reaction filters)"],"output_types":["structured data (reaction metadata: emoji name, count, timestamp)","arrays (list of reactions on a message)","status codes (success/failure of add/remove operations)"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akougkas-zulipchat-mcp__cap_5","uri":"capability://search.retrieval.message.search.and.full.text.retrieval","name":"message search and full-text retrieval","description":"Enables AI agents to search Zulip messages using full-text search with filters for sender, stream, topic, and date range through MCP tool bindings to Zulip's search API. Implements query parsing and filter composition, returning ranked results with message context (surrounding messages for conversation flow). Supports advanced search operators (e.g., 'from:user', 'stream:general', 'has:link') for precise queries.","intents":["I want my AI agent to find relevant past conversations to provide context for current discussions","I need to search for specific information (e.g., decisions, code snippets) discussed in Zulip without manual browsing","I want to analyze search results to identify patterns, frequently discussed topics, or knowledge gaps"],"best_for":["Teams using Zulip as a knowledge base and wanting AI-powered search and synthesis","Developers building AI-powered documentation or FAQ systems on top of Zulip","Organizations analyzing team communication patterns or decision history"],"limitations":["Full-text search is limited to indexed content — very recent messages (< 1 minute) may not be searchable","Search results are ranked by Zulip's algorithm, not by relevance to the agent's intent — may require re-ranking","Bulk searches (querying 10,000+ results) require pagination and multiple API calls, adding latency","Search operators are Zulip-specific and may not match user expectations from Google-style search","Private messages are not searchable across users — agents can only search their own private conversations"],"requires":["Zulip API token with message search permissions","Zulip server instance with full-text search enabled (requires database indexing)","MCP client"],"input_types":["text (search query with optional operators)","structured data (filters: sender, stream, topic, date range)","integers (result limit, pagination offset)"],"output_types":["structured data (search results with message content, metadata, context)","arrays (ranked message list with relevance scores)","integers (total result count)"],"categories":["search-retrieval","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akougkas-zulipchat-mcp__cap_6","uri":"capability://data.processing.analysis.analytics.and.statistics.aggregation","name":"analytics and statistics aggregation","description":"Provides AI agents with tools to query Zulip analytics including message counts, user activity, stream popularity, and engagement metrics through MCP bindings to Zulip's analytics API. Implements aggregation by time period (daily, weekly, monthly), stream, and user, with support for custom date ranges. Returns structured metrics suitable for trend analysis, reporting, or anomaly detection.","intents":["I want my AI agent to generate team activity reports or dashboards showing message volume and engagement trends","I need to identify inactive users or underutilized streams to optimize team communication","I want to analyze communication patterns to detect bottlenecks or knowledge silos"],"best_for":["Team leads and managers wanting AI-powered insights into team communication","Developers building Zulip analytics dashboards or reporting tools","Organizations analyzing communication health and engagement metrics"],"limitations":["Analytics data is aggregated and anonymized — cannot identify individual message authors in aggregate reports","Real-time analytics are not available — data is typically delayed by 1-24 hours depending on Zulip configuration","Custom metrics beyond message count, user activity, and stream popularity require manual calculation","Analytics queries may be slow for large organizations with millions of messages — requires caching or pre-aggregation"],"requires":["Zulip API token with analytics read permissions (typically admin-level)","Zulip server instance with analytics enabled","MCP client"],"input_types":["text (metric type: 'message_count', 'user_activity', 'stream_popularity')","structured data (date range, stream filter, user filter)","text (aggregation period: 'daily', 'weekly', 'monthly')"],"output_types":["structured data (metrics with timestamps and values)","arrays (time-series data for trend analysis)","numbers (aggregated counts and averages)"],"categories":["data-processing-analysis","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akougkas-zulipchat-mcp__cap_7","uri":"capability://tool.use.integration.custom.field.and.metadata.management","name":"custom field and metadata management","description":"Allows AI agents to read and write custom profile fields and message metadata through MCP tools that map to Zulip's custom field API. Implements field type validation (text, dropdown, date) and supports querying users by custom field values. Enables agents to enrich messages with structured metadata for categorization, routing, or workflow automation.","intents":["I want my AI agent to tag messages with custom metadata (e.g., priority, category, owner) for workflow routing","I need to query users by custom fields (e.g., 'team', 'timezone') to route messages intelligently","I want to use custom fields to track AI-generated insights or decisions for audit trails"],"best_for":["Organizations with complex workflows that require message categorization or routing","Teams using custom fields for team assignment, project tracking, or skill management","Developers building AI-powered workflow automation on top of Zulip"],"limitations":["Custom fields are organization-specific and require prior configuration — agents cannot create new field types","Field value updates may not propagate immediately to all clients — eventual consistency model","Bulk field updates (modifying 1000+ user records) may require rate limiting or batching","Custom field queries are limited to exact matches or simple filters — no complex boolean logic"],"requires":["Zulip API token with custom field read/write permissions","Zulip server instance with custom fields configured","MCP client","Knowledge of custom field names and types in the target Zulip instance"],"input_types":["text (field name, field value)","structured data (field type, field constraints)","integers (user ID for field updates)"],"output_types":["structured data (custom field metadata: name, type, value)","arrays (users matching custom field filters)","status codes (success/failure of field updates)"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akougkas-zulipchat-mcp__cap_8","uri":"capability://tool.use.integration.notification.and.alert.routing","name":"notification and alert routing","description":"Provides AI agents with tools to send direct messages, @mentions, and alerts to specific users or groups through MCP bindings to Zulip's messaging API. Implements recipient resolution (username to user ID), group mention expansion, and alert formatting with priority levels. Supports conditional routing based on user presence, role, or custom fields for intelligent notification delivery.","intents":["I want my AI agent to send alerts or notifications to on-call engineers without spamming inactive users","I need to escalate issues by @mentioning the right team members based on their role or availability","I want to route notifications to groups (e.g., 'backend-team') without hardcoding individual user lists"],"best_for":["Teams using Zulip for incident response and wanting AI-powered alert routing","Developers building AI-powered notification systems with intelligent recipient selection","Organizations automating escalation workflows based on user availability and roles"],"limitations":["Direct message routing requires knowing user IDs or usernames — no fuzzy matching or alias resolution","Group mentions are limited to Zulip's built-in user groups — custom groups require manual management","Notification delivery is not guaranteed — Zulip does not provide delivery receipts or read confirmations","Alert formatting is limited to Zulip's markdown — complex HTML or custom styling is not supported","Bulk notifications (sending to 100+ users) may hit rate limits without exponential backoff"],"requires":["Zulip API token with direct message and mention permissions","Zulip server instance with user groups configured","MCP client","Knowledge of user IDs, usernames, or group names in the target Zulip instance"],"input_types":["text (recipient username or user ID, message content, alert priority)","structured data (recipient list, group name)","booleans (presence check, role filter)"],"output_types":["status codes (success/failure of message delivery)","structured data (message metadata: ID, timestamp, recipient)","arrays (delivery status for bulk notifications)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akougkas-zulipchat-mcp__cap_9","uri":"capability://tool.use.integration.conversation.threading.and.topic.management","name":"conversation threading and topic management","description":"Enables AI agents to navigate and manage Zulip's conversation threading model (streams and topics) through MCP tools that query topic hierarchies, move messages between topics, and manage topic metadata. Implements topic enumeration with message counts and last activity timestamps, supporting agents in understanding conversation structure and organizing discussions. Handles topic renaming and archival for conversation lifecycle management.","intents":["I want my AI agent to understand conversation structure and move off-topic messages to appropriate topics","I need to query topic metadata to identify active discussions or stale conversations","I want to automatically organize conversations by renaming topics or archiving old discussions"],"best_for":["Teams with large Zulip workspaces that need AI-powered conversation organization","Developers building AI-powered moderation or conversation management tools","Organizations automating conversation lifecycle management (creation, archival, cleanup)"],"limitations":["Topic renaming may break links or references in external systems — requires careful coordination","Message moving between topics is not atomic — if interrupted, may result in partial moves","Topic archival is permanent and cannot be reversed without admin intervention","Bulk topic operations (renaming 100+ topics) may require rate limiting or batching","Topic metadata queries may be slow for streams with thousands of topics"],"requires":["Zulip API token with topic management permissions (typically admin or moderator)","Zulip server instance with topic management enabled","MCP client"],"input_types":["text (stream name, topic name, new topic name)","integers (message ID for moving messages)","structured data (topic filters, date ranges)"],"output_types":["structured data (topic metadata: name, message count, last activity)","arrays (topic list with metadata)","status codes (success/failure of move/rename/archive operations)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":29,"verified":false,"data_access_risk":"high","permissions":["Zulip server instance (self-hosted or cloud) with API access enabled","Valid Zulip API token with message read/write permissions","MCP client compatible with Zulip MCP server (e.g., Claude Desktop, custom MCP host)","Network connectivity to Zulip server","Zulip API token with stream management permissions (admin or organization-level scope)","Zulip server instance with stream creation enabled","MCP client with tool invocation support","Zulip API token with message pinning permissions (typically admin or moderator for stream pins)","Zulip server instance with pinning enabled","MCP client"],"failure_modes":["Message formatting is limited to Zulip's markdown subset — complex HTML or custom formatting may not render as expected","Bulk message operations (sending to 100+ streams) may hit Zulip rate limits without exponential backoff handling","No built-in support for message editing or deletion after posting — requires separate API calls","Message retrieval is paginated and may require multiple requests for large conversation histories, adding latency","Stream creation requires appropriate admin permissions — agents cannot create streams without elevated API token scope","Bulk stream operations (creating 50+ streams) may require rate limiting or batching logic not built into the MCP server","Topic management is limited to creation — no bulk topic deletion or archival capabilities","Stream visibility changes (public to private) may not propagate immediately to all connected clients","Pinned messages are limited to stream topics — cannot pin direct messages","Pin count is limited per topic (typically 10-20) — agents must prioritize carefully","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.35,"ecosystem":0.48999999999999994,"match_graph":0.25,"freshness":0.52,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:25.635Z","last_scraped_at":"2026-05-03T15:18:59.039Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=akougkas-zulipchat-mcp","compare_url":"https://unfragile.ai/compare?artifact=akougkas-zulipchat-mcp"}},"signature":"og93WLWZSn2CKMiUHKt6AK4AZLQeWEkYTaRBPhdFL6pzzn/1lmDBHDjRNcRCMji+nsk0DQ8UEPH9/nNt5ET4DQ==","signedAt":"2026-06-20T23:06:19.972Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/akougkas-zulipchat-mcp","artifact":"https://unfragile.ai/akougkas-zulipchat-mcp","verify":"https://unfragile.ai/api/v1/verify?slug=akougkas-zulipchat-mcp","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}