[FEATURE] Slack MCP: add reactions.add / reactions.remove / reactions.get tools

Resolved 💬 2 comments Opened May 1, 2026 by rdemjen Closed Jun 19, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

The built-in Slack MCP connector exposes tools for sending messages, reading channels, searching, and managing canvases — but has no support for Slack reactions. Claude cannot add, remove, or read emoji reactions on messages.

This is a common Slack workflow: acknowledging a message with a reaction (e.g. 👀 to signal "seen", ✅ for "done") without posting a reply. Today, Claude must send a full message instead, which is noisier and breaks standard Slack etiquette.

Proposed Solution

Add three tools to the built-in Slack MCP connector, mapping directly to existing Slack API endpoints:

| Tool | Slack API endpoint | Purpose |
|------|-------------------|---------|
| slack_add_reaction | POST /reactions.add | Add emoji reaction to a message |
| slack_remove_reaction | POST /reactions.remove | Remove emoji reaction from a message |
| slack_get_reactions | GET /reactions.get | Get all reactions on a message |

Minimum required OAuth scope: reactions:write (add/remove), reactions:read (get).

Alternative Solutions

Self-hosting a custom MCP server with reaction support — but this defeats the purpose of the built-in connector and requires significant setup overhead.

Priority

Medium

Feature Category

Integrations / MCP connectors

Use Case Example

  • Claude finishes a task triggered from Slack → reacts with ✅ instead of posting "Done"
  • Claude is asked to acknowledge a message it has read → reacts with 👀
  • Claude checks which messages have already been reacted to, to avoid duplicate processing

Additional Context

The Slack API endpoints are stable and well-documented: https://api.slack.com/methods/reactions.add

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗