Head to head · Team chat · October 2026 research run
Mattermost vs Zulip
Mattermost scores 65.8 (B) on agent readiness against Zulip's 61.5 (C), and leads in 3 of 7 scored categories. Zulip leads on schema & documentation and agent ergonomics. Both do team chat.
Best issue tracking, docs and chat tools for AI agents · All 40 work comparisons
Which one, for what
Good for A team that runs its own chat server and wants an agent to read channels, post, search and manage members through a bot account, including in air-gapped networks.
Ahead on
- Security & auth, 63 against 42
- Payments & pricing, 50 against 30
- Maintenance & community, 89 against 77
Watch for
Personal access tokens have no scopes and no expiry. A token does whatever its account can do
Zulip C
Good for A team that already talks in Zulip and wants an agent to read channels and topics, post, react and manage users through a bot.
Ahead on
- Schema & documentation, 82 against 76
- Agent ergonomics, 68 against 63
Watch for
One API key per account, with no scopes, expiry or OAuth. A generic bot's key does what a normal member can do
Score by category
| Category | Weight this run | Mattermost | Zulip | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 83 | 83 | even |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 76 | 82 | Zulip +6 |
| Agent ergonomics | 13%16.2 | 63 | 68 | Zulip +5 |
| Security & auth | 14%17.5 | 63 | 42 | Mattermost +21 |
| Payments & pricing | 10%12.5 | 50 | 30 | Mattermost +20 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 89 | 77 | Mattermost +12 |
| Transparency & trust | 7%8.8 | 75 | 76 | Zulip +1 |
| Negative events | ≤15 | -5 | -4 | |
| Total | 65.8 · B | 61.5 · C |
Facts side by side
| Fact | Mattermost | Zulip |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Mattermost, Inc. | Kandra Labs, Inc. |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | HTTP | HTTP |
| Auth | OAuth or key | API key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Licence | Open core. Team Edition is MIT as a compiled binary. The source is AGPL v3 or a commercial licence, with admin tools and configuration files under Apache 2.0. Enterprise Edition, which the free Entry edition runs, is under a commercial licence. The Agents plugin is Apache 2.0 | Apache 2.0 for the server. The hosted Zulip Cloud service is under Kandra Labs' Terms of Service. The npm package zulip-js is MIT |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-10-08 | 2026-09-21 |
| Terms last updated | no date given | 2022-02-07 |
| Privacy policy last updated | no date given | 2022-01-01 |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | not found in the text | not found in the text |
| Terms restrict benchmarking | yes | not found in the text |
| Terms or service can change without notice | not found in the text | not found in the text |
| Arbitration or class-action waiver | not found in the text | yes |
| Popularity | 39k stars, 7.7k npm/wk | 26k stars, 7.1k npm/wk, 157k PyPI/wk |
Verdicts
Mattermost
The REST API v4 has a public OpenAPI source of about 600 operations, a dated changelog with API changes per release, and 16 server releases in 90 days. Personal access tokens have no scopes or expiry, paid editions have no public price, and 52 dot releases in twelve months carried security fixes, three of them rated critical.
Zulip
The REST API is the one Zulip's own apps use, with a public OpenAPI file of 166 operations, a changelog by feature level and a status page showing no incidents in 90 days. Each account has one API key with no scopes, and the server took 13 security advisories in twelve months, all fixed and published.
Before you call either
Mattermost
- Ask the system admin for a bot account and its token. Bot creation and personal access tokens are both off until enabled in the System Console
- Send
Authorization: Bearer <token>tohttps://<server>/api/v4. Usemein place of a user id for the token's own account - Page with
pageandper_page. The maximum is 200, the default 60, and larger values are cut without an error - Read the error
idandstatus_code. A 501 means the server's edition or licence does not include that endpoint - If the server has rate limiting on, read
X-Ratelimit-RemainingandX-Ratelimit-Reset. The 429 body is the plain textlimit exceeded
Zulip
- Ask the organisation for a bot of the most limited type that fits. Use an incoming webhook bot when the task only posts messages
- Authenticate with HTTP Basic, the bot's email as user and its API key as password, against https://<organisation>.zulipchat.com/api/v1
- Read
code, notmsg, on errors.msgis translated into the account's language - On
RATE_LIMIT_HITwait the seconds inretry-after. The default limit is 200 requests a minute per user - Fetch history with
GET /messages, anarrowfilter, ananchorandnum_beforeornum_after, at most 1,000 a batch as the docs recommend
Questions
Which is better for AI agents, Mattermost or Zulip?
Mattermost scores 65.8 (B) on agent readiness against Zulip's 61.5 (C), and leads in 3 of 7 scored categories. Zulip leads on schema & documentation and agent ergonomics.
Do Mattermost and Zulip need an API key?
Mattermost takes an API key or an OAuth sign-in. Zulip needs an API key.
Can an agent call Mattermost and Zulip without installing anything?
No hosted endpoint is listed for Mattermost. No hosted endpoint is listed for Zulip.
Are Mattermost and Zulip open source?
Yes. Mattermost is open source (Open core. Team Edition is MIT as a compiled binary. The source is AGPL v3 or a commercial licence, with admin tools and configuration files under Apache 2.0. Enterprise Edition, which the free Entry edition runs, is under a commercial licence. The Agents plugin is Apache 2.0). Zulip is open source (Apache 2.0 for the server. The hosted Zulip Cloud service is under Kandra Labs' Terms of Service. The npm package zulip-js is MIT).
Other comparisons with Mattermost or Zulip
Machine-readable
- This page as Markdown
/compare/mattermost-vs-zulip.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/mattermost.json·/api/v1/tools/zulip.json - From a terminal
anchor compare mattermost zulip(the CLI) - Over MCP
compare_tools {"a": "mattermost", "b": "zulip"}at/mcp, no key