Slack

Communication · MCP Server

Securing the Slack MCP server

The Slack MCP server gives an agent channels, messages, threads, and files. That is useful, and it is also a set of real capabilities pointed at a real system. Here is what it exposes, why it is worth governing, and the policy to put in front of it.

What the server hands your agent

Reading channel history and threads, searching messages, and posting messages or replies as the connected identity.

Why it is worth governing

  • Every message an agent reads was typed by someone else. In a shared or connect channel, that someone may not work at your company.
  • Posting is an external action taken under a real identity - a message an agent sends is indistinguishable from one a person sent.
  • Channel history is where teams paste credentials, customer names, and incident detail.

Tag what the tools actually do

Prismor tags every tool by behavior rather than by name, so rules survive a server adding tools you have never seen. A sensible starting map for Slack:

Tool patternTagsWhy
mcp__slack__*read*untrusted_contentmessage content is written by third parties
mcp__slack__*search*untrusted_contentprivate_datasearch pulls arbitrary history into context
mcp__slack__*post*critical_actionexternal_commsposting is visible and attributable
mcp__slack__*send*critical_actionexternal_commssame as posting

Patterns are illustrative globs. Run prismor tags list to see how your installed tools actually resolve.

The policy

Rules read as a sentence: a tag, then or with another tag, and what to do about it. Note the mode - start by watching, not blocking.

settings:
  tool_tags:
    enabled: true
    mode: observe            # switch to enforce once the log looks right
    tags:
      "mcp__slack__*read*": [untrusted_content]
      "mcp__slack__*search*": [untrusted_content, private_data]
      "mcp__slack__*post*": [critical_action, external_comms]
      "mcp__slack__*send*": [critical_action, external_comms]
    rules:
      - "untrusted_content then critical_action -> block"
      - "private_data then external_comms -> block"

Putting Slack behind the gateway

You do not change the Slack server or how it is configured. Move your existing mcpServers block behind the Prismor gateway and point your agent at Prismor instead:

prismor mcp-gateway install    # moves your .mcp.json servers behind the gateway
prismor mcp-gateway uninstall  # restores the original, backup kept

Your agent sees the same Slack tools, namespaced as mcp__slack__<tool>. Every call is evaluated against policy before it is forwarded, and every result is scanned as untrusted content before the model sees it.

Frequently asked questions

Is the Slack MCP server safe to give an AI agent?

It is as safe as the credential behind it and the policy in front of it. The server itself is not the problem: the risk is that an agent can combine Slack access with everything else in the session, with no record of what it did. Front it with a gateway that evaluates each call and logs the verdict.

Does Prismor replace the Slack MCP server?

No. You keep running the same server, unchanged. Prismor aggregates it behind a single connector so your agent sees the same tools, namespaced as mcp__<server>__<tool>, with every call and every result passing through policy first.

Will this block work my team actually needs to do?

Not if you start in observe mode. Every call is recorded with the decision that would have applied, and nothing is blocked. You promote rules to enforce once the log shows the policy matches how your agents really work.

What about tool results, not just tool calls?

Results are scanned as untrusted content before the model sees them. A response carrying injected instructions or poisoned output is withheld and replaced with the reason, which matters most for servers that return text other people wrote.

One gateway for every MCP server

Slack is one connector. The same policy covers the rest of them, plus the shell commands and file access your agents already have.

Other communication servers

Slack is a trademark of its respective owner. Prismor is not affiliated with or endorsed by it. The Slack MCP server is third-party software; Prismor governs it the same way it governs any MCP server, without modifying it.