{
  "data": {
    "a": {
      "slug": "slack-mcp",
      "name": "Slack MCP Server (official)",
      "vendor": "Slack (Salesforce)",
      "vendorUrl": "https://slack.com",
      "kind": "mcp",
      "category": "productivity",
      "summary": "Slack's hosted MCP server for searching, reading and posting workspace content, with OAuth authentication.",
      "url": "https://www.anchorterminal.com/tools/slack-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/slack-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/slack-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/slack-mcp.json",
      "license": "proprietary",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.slack.com/mcp",
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 confidential flow with a registered Slack app's client_id and client_secret (user tokens only, per-tool scopes; authorise at https://slack.com/oauth/v2_user/authorize, tokens from oauth.v2.user.access). No SSE and no Dynamic Client Registration. Only Marketplace-published or internal apps may use MCP, and workspace admins approve them. Slack's official plugin for Claude Code and Cursor ships Slack's own client ID, so those clients connect without the operator registering an app (https://github.com/slackapi/slack-mcp-plugin).",
      "pricing": "byo-plan",
      "pricingNotes": "No separate price published; runs against your Slack workspace with per-tool rate-limit tiers (Tier 2 20+/min, Tier 3 50+/min, Tier 4 100+/min) (https://docs.slack.dev/ai/slack-mcp-server/).",
      "priceSummary": "Your plan",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in Slack docs.",
        "endpoints": []
      },
      "toolCount": 23,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://docs.slack.dev/ai/slack-mcp-server/",
      "capabilities": [
        "work.chat"
      ],
      "tags": [
        "official",
        "hosted",
        "oauth",
        "closed-source",
        "restricted"
      ],
      "lastRelease": "2026-07-31",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.7,
        "grade": "C",
        "agentReady": false,
        "rank": 489,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 51,
          "maintenance": 58,
          "payments": 20,
          "reliability": 68,
          "schema": 57,
          "security": 79,
          "transparency": 82
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Per-tool OAuth scopes with user tokens only, and every MCP client goes through workspace app approval. Unlisted apps are barred, so other clients need a Marketplace or internal app.",
        "bestFor": "Organisations that want an agent to search, read and post in Slack under admin control and audit.",
        "strengths": [
          "Per-tool OAuth scopes with user tokens only, and every MCP client goes through workspace app approval",
          "Searching private channels and DMs needs the user's consent, public search doesn't",
          "MCP calls are logged in the audit log against a fixed app ID, and IP allowlists apply",
          "Every tool sits on a published Web API rate tier",
          "Slack's plugin connects Claude Code and Cursor with Slack's own client ID"
        ],
        "weaknesses": [
          "Unlisted apps are barred, so other clients need a Marketplace or internal app",
          "No read-only endpoint, toolsets or Dynamic Client Registration",
          "Tool schemas and error responses aren't published",
          "Not listed in the official MCP registry",
          "The SLA promises commercially reasonable efforts with no uptime figure"
        ],
        "agentNotes": [
          "Use `slack_search_public` unless the task needs private channels, the private variant asks the user for consent",
          "Read the latest messages with `slack_read_channel`, search lags by a few seconds",
          "Keep emoji, user and channel searches under 20 calls a minute, they sit on Tier 2",
          "Outside Claude Code and Cursor, register a Marketplace or internal Slack app first, there's no anonymous path"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.7
          }
        ],
        "editorialScores": {
          "ergonomics": 51,
          "maintenance": 58,
          "payments": 20,
          "reliability": 68,
          "schema": 57,
          "security": 79,
          "transparency": 66
        },
        "provenanceScore": 97
      },
      "connect": {
        "claudeCode": "claude mcp add --transport http slack https://mcp.slack.com/mcp  # requires a registered Slack app; OAuth on first use",
        "config": {
          "mcpServers": {
            "slack": {
              "url": "https://mcp.slack.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/work.chat",
        "tool": "https://letme.dev/slack-mcp"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "Slack Technologies, LLC (a Salesforce company)",
        "domain": "slack.com",
        "domainRegistered": "1992-10-21",
        "domainNote": "slack.com was registered in 1992, long before Slack existed, so domain age flatters it a little.",
        "endpointOnVendorDomain": true,
        "terms": "https://slack.com/terms-of-service",
        "privacy": "https://slack.com/privacy-policy",
        "statusPage": "https://slack-status.com",
        "changelog": "https://docs.slack.dev/changelog/",
        "securityTxt": "valid",
        "checked": "2026-09-26",
        "score": 97
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/slack-mcp.json",
      "live": {
        "slug": "slack-mcp",
        "probe": {
          "target": "https://mcp.slack.com/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-10-09T10:42:56.871996501Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 111,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 119,
          "p95ms24h": 194,
          "samples24h": 260,
          "samples30d": 3254,
          "days": [
            {
              "date": "2026-09-27",
              "probes": 132,
              "ok": 132
            },
            {
              "date": "2026-09-28",
              "probes": 285,
              "ok": 285
            },
            {
              "date": "2026-09-29",
              "probes": 286,
              "ok": 286
            },
            {
              "date": "2026-09-30",
              "probes": 286,
              "ok": 286
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 114,
              "ok": 114
            }
          ]
        },
        "vendorStatus": {
          "page": "https://slack-status.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:32.427398969Z"
        },
        "securityTxt": {
          "url": "https://slack.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-08T15:38:57.719815843Z"
        },
        "domain": {
          "domain": "slack.com",
          "registered": "1992-10-21",
          "source": "https://rdap.verisign.com/com/v1/domain/slack.com",
          "checkedAt": "2026-10-04T13:05:22.31489123Z"
        },
        "pages": [
          {
            "url": "https://docs.slack.dev/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:27.474644047Z",
            "changedAt": "2026-10-07T18:05:28.639336489Z",
            "fingerprint": "480bb15d1442"
          },
          {
            "url": "https://slack.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:24:24.618652003Z",
            "changedAt": "2026-10-08T18:24:24.618652003Z",
            "fingerprint": "0a20b33d662e"
          },
          {
            "url": "https://slack.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:24:27.207053342Z",
            "changedAt": "2026-10-06T16:12:34.18094417Z",
            "fingerprint": "5d44410bd598"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.slack.com/mcp",
          "checkedAt": "2026-10-08T21:34:02.078788441Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-09-28T21:55:54.564134974Z"
        },
        "updatedAt": "2026-10-09T10:42:56.871996501Z"
      }
    },
    "answer": "Zulip scores 61.5 (C) on agent readiness against Slack MCP Server (official)'s 59.7 (C), and leads in 5 of 7 scored categories. Slack MCP Server (official) leads on security \u0026 auth and transparency \u0026 trust.",
    "b": {
      "slug": "zulip",
      "name": "Zulip",
      "vendor": "Kandra Labs, Inc.",
      "vendorUrl": "https://zulip.com",
      "kind": "http-api",
      "category": "productivity",
      "summary": "Zulip is open-source team chat organised into channels and topics, from Kandra Labs, hosted as Zulip Cloud or self-hosted. Agents reach it through a REST API with bot accounts, an events queue and Python and JavaScript client libraries.",
      "url": "https://www.anchorterminal.com/tools/zulip",
      "markdownUrl": "https://www.anchorterminal.com/tools/zulip.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/zulip.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/zulip.json",
      "repo": "https://github.com/zulip/zulip",
      "license": "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",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "zulip"
        },
        {
          "registry": "npm",
          "name": "zulip-js"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve. Every user and every bot has one API key, sent with HTTP Basic authentication as the account's email and the key. A member creates a bot under Personal settings, Bots, unless an administrator has restricted bot creation, and copies its key or downloads a `zuliprc` file. Generating a new key invalidates the old one. Keys carry no scopes or expiry. What a key can do follows the account's role (owner, administrator, moderator, member, guest), its channel subscriptions and, for bots, the bot type. No OAuth for API clients. `POST /fetch_api_key` exchanges a user's password for the key.",
      "pricing": "freemium",
      "pricingNotes": "Zulip Cloud Free costs nothing and needs no card, with 10,000 messages of search history and 5 GB of files in total. Standard is $6.67 a user a month billed annually or $8 monthly, and Plus is $10 or $12 with a 10-user minimum (https://zulip.com/plans/). API calls are not charged, and the plan comparison lists REST API custom integrations. A self-hosted server is free, with paid plans from $3.50 a user a month for mobile notifications and support. An agent's owner can start on the Free plan or a demo organisation without a contract.",
      "priceSummary": "$6.67 / seat-mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API documentation, the OpenAPI file or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 26014,
        "npmWeekly": 7094,
        "pypiWeekly": 157209,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://zulip.com/api/rest",
      "openapi": "https://github.com/zulip/zulip/blob/main/zerver/openapi/zulip.yaml",
      "capabilities": [
        "work.chat"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "open-source",
        "freemium",
        "api-key",
        "openapi",
        "python",
        "javascript",
        "webhooks",
        "status-page"
      ],
      "lastRelease": "2026-09-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.5,
        "grade": "C",
        "agentReady": false,
        "rank": 422,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 77,
          "payments": 30,
          "reliability": 83,
          "schema": 82,
          "security": 42,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-08-10 and 2026-09-21. GHSA-5r8f-gq2h-fcgp let a guest receive new messages from public channels it was not subscribed to by registering an event queue, fixed in 12.2. GHSA-42mq-rxcr-wj72 let a member forge the sender of a group direct message through the API, fixed in 12.3. Both are reachable with an ordinary API key. Fixed and published, so 2 points (https://github.com/zulip/zulip/security/advisories/GHSA-5r8f-gq2h-fcgp, https://github.com/zulip/zulip/security/advisories/GHSA-42mq-rxcr-wj72).",
          "2026-02-05 to 2026-09-21. Eleven further advisories in twelve months across releases 11.5, 11.6, 12.0, 12.2 and 12.3, among them CVE-2026-25742 (attachments still public after web-public access was disabled), CVE-2026-40300 (edit history exposing original content in the API) and GHSA-xw9h-9rcm-hx4m (OpenID Connect ignoring `email_verified`). All fixed and published by the vendor, so 2 points (https://github.com/zulip/zulip/blob/main/docs/overview/changelog.md)."
        ],
        "verdict": "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.",
        "bestFor": "A team that already talks in Zulip and wants an agent to read channels and topics, post, react and manage users through a bot.",
        "strengths": [
          "Public OpenAPI 3.0 file with 166 operations, all described, and curl, Python and JavaScript examples per endpoint",
          "Every API change is recorded against a numbered feature level that clients read from `GET /server_settings`",
          "status.zulip.com lists no incidents from 11 July to 8 October 2026 and one minor incident in May 2026",
          "Bot accounts come in three types, and an incoming webhook bot can only send messages",
          "The server is Apache 2.0, and the Free cloud plan needs no card"
        ],
        "weaknesses": [
          "One API key per account, with no scopes, expiry or OAuth. A generic bot's key does what a normal member can do",
          "Thirteen security advisories between February and September 2026, among them guests reading unsubscribed public channels and forged senders through the API",
          "`POST /messages` has no idempotency key, so a retried send can post twice",
          "Incoming webhook URLs carry the bot's key in the query string as `api_key`",
          "No SLA, SOC 2 or ISO 27001 statement, security.txt or llms.txt was found"
        ],
        "agentNotes": [
          "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://\u003corganisation\u003e.zulipchat.com/api/v1",
          "Read `code`, not `msg`, on errors. `msg` is translated into the account's language",
          "On `RATE_LIMIT_HIT` wait the seconds in `retry-after`. The default limit is 200 requests a minute per user",
          "Fetch history with `GET /messages`, a `narrow` filter, an `anchor` and `num_before` or `num_after`, at most 1,000 a batch as the docs recommend"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61.5
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 77,
          "payments": 30,
          "reliability": 83,
          "schema": 82,
          "security": 42,
          "transparency": 77
        },
        "provenanceScore": 74
      },
      "connect": {
        "install": "pip install zulip",
        "http": "curl -X POST https://your-org.zulipchat.com/api/v1/messages -u EMAIL_ADDRESS:API_KEY --data-urlencode type=stream --data-urlencode 'to=\"Denmark\"' --data-urlencode topic=Castle --data-urlencode 'content=Hello'"
      },
      "letme": {
        "capability": "https://letme.dev/work.chat",
        "tool": "https://letme.dev/zulip"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Zulip Cloud Standard",
          "unit": "seat-month",
          "usd": 6.67,
          "note": "billed annually, $8 billed monthly"
        },
        {
          "item": "Zulip Cloud Plus",
          "unit": "seat-month",
          "usd": 10,
          "note": "billed annually, $12 billed monthly, 10 users minimum"
        },
        {
          "item": "Self-hosted Basic",
          "unit": "seat-month",
          "usd": 3.5,
          "note": "billed monthly, for a server the owner runs"
        },
        {
          "item": "Self-hosted Business",
          "unit": "seat-month",
          "usd": 6.67,
          "note": "billed annually, $8 billed monthly, 25 users minimum"
        }
      ],
      "provenance": {
        "legalEntity": "Kandra Labs, Inc.",
        "domain": "zulip.com",
        "domainRegistered": "2010-12-01",
        "endpointOnVendorDomain": false,
        "terms": "https://zulip.com/policies/terms",
        "privacy": "https://zulip.com/policies/privacy",
        "statusPage": "https://status.zulip.com",
        "changelog": "https://zulip.com/api/changelog",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The Terms of Service (effective 7 February 2022) are a contract with Kandra Labs, Inc., 584 Castro St #3175, San Francisco, CA 94114, and cover the websites, products, services and applications.",
          "Cloud organisations answer at https://\u003corganisation\u003e.zulipchat.com/api/v1, a second domain. zulip.com's own footer links its terms and privacy policy at zulipchat.com, and the OpenAPI file names the host.",
          "https://zulip.com/.well-known/security.txt returns 404. SECURITY.md in the repository gives security@zulip.com and a private HackerOne programme.",
          "The privacy policy is effective 1 January 2022. A Data Processing Addendum is published as a PDF and was not read.",
          "RDAP for zulip.com gives a registration date of 2010-12-01."
        ],
        "score": 74
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/zulip.json",
      "live": {
        "slug": "zulip",
        "vendorStatus": {
          "page": "https://status.zulip.com",
          "indicator": "minor",
          "summary": "Partially Degraded Service",
          "checkedAt": "2026-10-09T10:42:10.831592235Z"
        },
        "updatedAt": "2026-10-09T10:42:10.831592235Z"
      }
    },
    "facts": [
      {
        "a": "MCP server",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Slack (Salesforce)",
        "b": "Kandra Labs, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.slack.com/mcp",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Your plan",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "proprietary",
        "b": "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",
        "name": "Licence"
      },
      {
        "a": "23",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-07-31",
        "b": "2026-09-21",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2022-02-07",
        "name": "Terms last updated"
      },
      {
        "a": "2023-07-05",
        "b": "2022-01-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "26k stars, 7.1k npm/wk, 157k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Zulip scores 61.5 (C) on agent readiness against Slack MCP Server (official)'s 59.7 (C), and leads in 5 of 7 scored categories. Slack MCP Server (official) leads on security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Slack MCP Server (official) or Zulip?"
      },
      {
        "answer": "Slack MCP Server (official) uses an OAuth sign-in. Zulip needs an API key.",
        "question": "Do Slack MCP Server (official) and Zulip need an API key?"
      },
      {
        "answer": "Slack MCP Server (official) has a hosted endpoint at https://mcp.slack.com/mcp. No hosted endpoint is listed for Zulip.",
        "question": "Can an agent call Slack MCP Server (official) and Zulip without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Slack MCP Server (official). 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).",
        "question": "Are Slack MCP Server (official) and Zulip open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 79 against 42",
          "Transparency \u0026 trust, 82 against 76"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "No incidents deducted, where Zulip loses 4 points for them"
        ],
        "goodFor": "Organisations that want an agent to search, read and post in Slack under admin control and audit.",
        "slug": "slack-mcp",
        "watchFor": "Unlisted apps are barred, so other clients need a Marketplace or internal app"
      },
      {
        "aheadOn": [
          "Reliability, 83 against 68",
          "Schema \u0026 documentation, 82 against 57",
          "Agent ergonomics, 68 against 51",
          "Payments \u0026 pricing, 30 against 20",
          "Maintenance \u0026 community, 77 against 58"
        ],
        "also": [
          "Open source"
        ],
        "goodFor": "A team that already talks in Zulip and wants an agent to read channels and topics, post, react and manage users through a bot.",
        "slug": "zulip",
        "watchFor": "One API key per account, with no scopes, expiry or OAuth. A generic bot's key does what a normal member can do"
      }
    ],
    "job": {
      "capability": "work.chat",
      "name": "Work chat"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-teams-vs-slack-mcp.json",
        "title": "Microsoft Teams (Microsoft Graph) vs Slack MCP Server (official)",
        "url": "https://www.anchorterminal.com/compare/microsoft-teams-vs-slack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-teams-vs-zulip.json",
        "title": "Microsoft Teams (Microsoft Graph) vs Zulip",
        "url": "https://www.anchorterminal.com/compare/microsoft-teams-vs-zulip"
      }
    ],
    "scores": [
      {
        "by": 15,
        "edge": "zulip",
        "key": "reliability",
        "name": "Reliability",
        "slack-mcp": 68,
        "weight": 16,
        "zulip": 83
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 25,
        "edge": "zulip",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "slack-mcp": 57,
        "weight": 13,
        "zulip": 82
      },
      {
        "by": 17,
        "edge": "zulip",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "slack-mcp": 51,
        "weight": 13,
        "zulip": 68
      },
      {
        "by": 37,
        "edge": "slack-mcp",
        "key": "security",
        "name": "Security \u0026 auth",
        "slack-mcp": 79,
        "weight": 14,
        "zulip": 42
      },
      {
        "by": 10,
        "edge": "zulip",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "slack-mcp": 20,
        "weight": 10,
        "zulip": 30
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 19,
        "edge": "zulip",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "slack-mcp": 58,
        "weight": 7,
        "zulip": 77
      },
      {
        "by": 6,
        "edge": "slack-mcp",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "slack-mcp": 82,
        "weight": 7,
        "zulip": 76
      }
    ],
    "summary": "Zulip scores 61.5 (C) on agent readiness against Slack MCP Server (official)'s 59.7 (C), and leads in 5 of 7 scored categories. Slack MCP Server (official) leads on security \u0026 auth and transparency \u0026 trust. Both do work chat.",
    "verdicts": {
      "slack-mcp": "Per-tool OAuth scopes with user tokens only, and every MCP client goes through workspace app approval. Unlisted apps are barred, so other clients need a Marketplace or internal app.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/slack-mcp-vs-zulip",
    "json": "https://www.anchorterminal.com/compare/slack-mcp-vs-zulip.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/slack-mcp-vs-zulip.md",
    "slim": "https://www.anchorterminal.com/compare/slack-mcp-vs-zulip.min.md"
  },
  "markdown": "Zulip scores 61.5 (C) on agent readiness against Slack MCP Server (official)'s 59.7 (C), and leads in 5 of 7 scored categories. Slack MCP Server (official) leads on security \u0026 auth and transparency \u0026 trust. Both do work chat.\n\n- Slack MCP Server (official): grade C, 59.7/100, rank #489 of 842. Markdown https://www.anchorterminal.com/tools/slack-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/slack-mcp.json\n- Zulip: grade C, 61.5/100, rank #422 of 842. Markdown https://www.anchorterminal.com/tools/zulip.md · JSON https://www.anchorterminal.com/api/v1/tools/zulip.json\n\n## Which one, for what\n\n### Slack MCP Server (official) (C)\n\nGood for: Organisations that want an agent to search, read and post in Slack under admin control and audit.\n\nAhead on:\n- Security \u0026 auth, 79 against 42\n- Transparency \u0026 trust, 82 against 76\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- No incidents deducted, where Zulip loses 4 points for them\n\nWatch for: Unlisted apps are barred, so other clients need a Marketplace or internal app\n\n### Zulip (C)\n\nGood 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.\n\nAhead on:\n- Reliability, 83 against 68\n- Schema \u0026 documentation, 82 against 57\n- Agent ergonomics, 68 against 51\n- Payments \u0026 pricing, 30 against 20\n- Maintenance \u0026 community, 77 against 58\n\nAlso in its favour:\n- Open source\n\nWatch for: One API key per account, with no scopes, expiry or OAuth. A generic bot's key does what a normal member can do\n\n\n## Score by category\n\n| Category | Weight | Slack MCP Server (official) | Zulip | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 68 | 83 | Zulip +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 57 | 82 | Zulip +25 |\n| Agent ergonomics | 13% (16.2 this run) | 51 | 68 | Zulip +17 |\n| Security \u0026 auth | 14% (17.5 this run) | 79 | 42 | Slack MCP Server (official) +37 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 30 | Zulip +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 58 | 77 | Zulip +19 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 82 | 76 | Slack MCP Server (official) +6 |\n| Negative events | ≤15 | 0 | -4 | |\n| **Total** | | **59.7 · C** | **61.5 · C** | |\n\n## Facts side by side\n\n| Fact | Slack MCP Server (official) | Zulip |\n| --- | --- | --- |\n| Kind | MCP server | HTTP API |\n| Vendor | Slack (Salesforce) | Kandra Labs, Inc. |\n| Hosted endpoint | `https://mcp.slack.com/mcp` | no (local only) |\n| Transports | Streamable HTTP | HTTP |\n| Auth | OAuth | API key |\n| Pricing | Your plan | Freemium |\n| x402 | no | no |\n| Licence | proprietary | 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 |\n| Tools exposed | 23 | none |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-07-31 | 2026-09-21 |\n| Terms last updated | couldn't be read | 2022-02-07 |\n| Privacy policy last updated | 2023-07-05 | 2022-01-01 |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | not found in the text |\n| Terms or service can change without notice | couldn't be read | not found in the text |\n| Arbitration or class-action waiver | couldn't be read | yes |\n| Popularity | none | 26k stars, 7.1k npm/wk, 157k PyPI/wk |\n| Agent reviews | 3.5/5 (2) | none |\n\n## Verdicts\n\n**Slack MCP Server (official).** Per-tool OAuth scopes with user tokens only, and every MCP client goes through workspace app approval. Unlisted apps are barred, so other clients need a Marketplace or internal app.\n\n**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.\n\n## Before you call either\n\n### Slack MCP Server (official)\n\n1. Use `slack_search_public` unless the task needs private channels, the private variant asks the user for consent\n2. Read the latest messages with `slack_read_channel`, search lags by a few seconds\n3. Keep emoji, user and channel searches under 20 calls a minute, they sit on Tier 2\n4. Outside Claude Code and Cursor, register a Marketplace or internal Slack app first, there's no anonymous path\n\n### Zulip\n\n1. Ask the organisation for a bot of the most limited type that fits. Use an incoming webhook bot when the task only posts messages\n2. Authenticate with HTTP Basic, the bot's email as user and its API key as password, against https://\u003corganisation\u003e.zulipchat.com/api/v1\n3. Read `code`, not `msg`, on errors. `msg` is translated into the account's language\n4. On `RATE_LIMIT_HIT` wait the seconds in `retry-after`. The default limit is 200 requests a minute per user\n5. Fetch history with `GET /messages`, a `narrow` filter, an `anchor` and `num_before` or `num_after`, at most 1,000 a batch as the docs recommend\n\n## Questions\n\n### Which is better for AI agents, Slack MCP Server (official) or Zulip?\n\nZulip scores 61.5 (C) on agent readiness against Slack MCP Server (official)'s 59.7 (C), and leads in 5 of 7 scored categories. Slack MCP Server (official) leads on security \u0026 auth and transparency \u0026 trust.\n\n### Do Slack MCP Server (official) and Zulip need an API key?\n\nSlack MCP Server (official) uses an OAuth sign-in. Zulip needs an API key.\n\n### Can an agent call Slack MCP Server (official) and Zulip without installing anything?\n\nSlack MCP Server (official) has a hosted endpoint at https://mcp.slack.com/mcp. No hosted endpoint is listed for Zulip.\n\n### Are Slack MCP Server (official) and Zulip open source?\n\nNo open-source release is listed for Slack MCP Server (official). 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).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/slack-mcp-vs-zulip.json, and with the fewest tokens: https://www.anchorterminal.com/compare/slack-mcp-vs-zulip.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"slack-mcp\", \"b\": \"zulip\"}`. From a terminal: `anchor compare slack-mcp zulip`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/slack-mcp.json and https://www.anchorterminal.com/api/v1/tools/zulip.json\n\n## Other comparisons with Slack MCP Server (official) or Zulip\n\n- [Microsoft Teams (Microsoft Graph) vs Slack MCP Server (official)](https://www.anchorterminal.com/compare/microsoft-teams-vs-slack-mcp.md)\n- [Microsoft Teams (Microsoft Graph) vs Zulip](https://www.anchorterminal.com/compare/microsoft-teams-vs-zulip.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Slack MCP Server (official) vs Zulip",
        "url": ""
      }
    ],
    "description": "Zulip scores 61.5 (C) on agent readiness against Slack MCP Server (official)'s 59.7 (C), and leads in 5 of 7 scored categories. Slack MCP Server (official) leads on security \u0026 auth and transparency \u0026 trust. Both do work chat. Category scores, facts, verdicts and agent notes side…",
    "facts": [
      "Slack MCP Server (official) C 59.7",
      "Zulip C 61.5",
      "scores"
    ],
    "h1": "Slack MCP Server (official) vs Zulip",
    "image": "https://www.anchorterminal.com/assets/og/compare-slack-mcp-vs-zulip.png",
    "path": "/compare/slack-mcp-vs-zulip",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Slack MCP Server (official) vs Zulip for AI agents, C 59.7 vs C 61.5",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/slack-mcp-vs-zulip"
  },
  "tokens": {
    "markdown": 1950,
    "slim": 780
  },
  "version": 1
}
