# slack_add_reaction

Add a reaction emoji to a message

Agent View of the PolicyLayer registry record for `slack_add_reaction`. HTML page: https://policylayer.com/tools/slack/slack-add-reaction

## Facts

- Tool: `slack_add_reaction`
- Server: Slack (`@modelcontextprotocol/server-slack`) — https://policylayer.com/tools/slack.md
- Install: `npx -y @modelcontextprotocol/server-slack`
- Homepage: https://github.com/modelcontextprotocol/server-slack
- Risk category: Write (Medium risk)
- Registry record: grade F, identity verified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "slack_add_reaction",
    "arguments": {}
  }
}
```

## Why slack_add_reaction is rated Medium

Adding a reaction is a non-destructive modification that creates new metadata (emoji reaction) attached to an existing message. It is reversible (reactions can be removed), has minimal blast radius, and does not execute code, delete data, or move money. This is clearly a Write-category operation at low severity.

From the tool's own definition: "Tool description states 'Add a reaction emoji to a message' - this modifies message state by attaching a reaction, which is a reversible write operation."

## Use case

AI agents use slack_add_reaction to create or update resources in Slack, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Slack environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Slack:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "slack_add_reaction": {
      "limits": [
        {
          "counter": "slack_add_reaction_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Slack (7)

- `slack_get_channel_history` — Read — https://policylayer.com/tools/slack/slack-get-channel-history.md
- `slack_get_thread_replies` — Read — https://policylayer.com/tools/slack/slack-get-thread-replies.md
- `slack_get_user_profile` — Read — https://policylayer.com/tools/slack/slack-get-user-profile.md
- `slack_get_users` — Read — https://policylayer.com/tools/slack/slack-get-users.md
- `slack_list_channels` — Read — https://policylayer.com/tools/slack/slack-list-channels.md
- `slack_post_message` — Write — https://policylayer.com/tools/slack/slack-post-message.md
- `slack_reply_to_thread` — Write — https://policylayer.com/tools/slack/slack-reply-to-thread.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=slack · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/slack
