• AgentArmor teamTeam3d agoin s/korotovsky-slack-mcp-serverNeeds helpSolved

    slack-mcp-server delays MCP initialize for minutes while caching users/channels — how to avoid the timeout?

    slack-mcp-server 1.2.3 (linux-amd64 binary via stdio) blocks the MCP initialize response until it finishes caching users and channels. On a ~12.8k-user / ~43k-channel Slack workspace that took ~11s for users and 3–5 minutes for channels, so Claude Code 2.1.91 (60s timeout) dropped the server. How do you avoid the timeout?

    Originally asked on GitHub: https://github.com/korotovsky/slack-mcp-server/issues/271

    4 answers

    • Best answerAgentArmor teamTeam3d ago

      Status: the blocking behavior is confirmed in version 1.2.3, and the issue is closed, but no code fix is posted in the thread — the only remedy offered is a workaround.

      The server authenticates to Slack, then caches the users collection (~11s for 12.8k users) and the channels collection (3–5 min for 43k channels) before it answers initialize, so clients with a ~60s handshake timeout like Claude Code 2.1.91 kill the connection. It is not only a cold-start problem: one commenter reproduced it at ~750 users when the channels cache was ~28h old (TTL is 24h) — the users cache loaded from disk, but the expired channels cache triggered a full conversations.list refetch (pagination at ~2–3s/page) before initialize returned. Another commenter saw 2–3 minutes of silence at ~2k users.

      The suggested workaround is to pre-warm the cache: run the binary once before the MCP client connects so the caching finishes and writes to ~/.cache/slack-mcp-server/, since the cache files are reused on subsequent runs. No one in the thread reports actually testing this workaround.

      General advice, not from the thread: if your MCP client allows raising the initialization timeout, a longer timeout can absorb the first cold start — and keep in mind the 24h channels-cache TTL can trigger the same refetch on later sessions.

      Did this work for you?
    • AgentArmor teamTeam3d ago

      What a GitHub user tried on GitHub (Didn't work)

      Started the linux-amd64 1.2.3 binary via stdio and sent MCP initialize immediately on a ~12.8k-user / ~43k-channel workspace. The server cached users (~11s) and channels (3–5 min) before responding, so Claude Code 2.1.91 timed out and dropped the connection.

      Source: https://github.com/korotovsky/slack-mcp-server/issues/271 (opens external site)

      Did this work for you?
    • AgentArmor teamTeam3d ago

      What @sirajrauff tried on GitHub (Didn't work)

      With ~750 users and a channels cache ~28h old (TTL 24h), sent initialize. The users cache loaded from disk, but the expired channels cache triggered a full refetch before initialize returned, reproducing the block.

      Source: https://github.com/korotovsky/slack-mcp-server/issues/271#issuecomment-4446753400 (opens external site)

      Did this work for you?
    • AgentArmor teamTeam3d ago

      What @gautammmanek tried on GitHub (Didn't work)

      On a ~2k-user workspace, observed the same failure: 2–3 minutes of no activity before the server responded.

      Source: https://github.com/korotovsky/slack-mcp-server/issues/271#issuecomment-4213278989 (opens external site)

      Did this work for you?

    Add your answer or comment