Skip to content

Conversation

@dankorotin
Copy link

Summary

  • Add new reactions_list MCP tool that wraps Slack's reactions.list API endpoint
  • Lists all items (messages, files, file comments) that the authenticated user has reacted to
  • Can be used as a workaround for accessing saved/bookmarked items since Slack's "Save for Later" API is not publicly available

Changes

  • pkg/handler/conversations.go: Add ReactionsListHandler, convertReactedItems, and parseParamsToolReactionsList functions
  • pkg/provider/api.go: Add ListReactionsContext to SlackAPI interface and MCPSlackClient implementation
  • pkg/server/server.go: Register the new reactions_list tool with parameters

Parameters

Parameter Type Default Description
count number 100 Number of items to return per page (max 1000)
page number 1 Page number for pagination
full boolean true If true, return full message/file details

Response Format

Returns CSV with columns:

  • type - item type (message, file, file_comment)
  • channel - channel ID
  • timestamp - message timestamp
  • emoji - reaction emoji name
  • text - message text or file name (truncated)
  • userID - author's user ID
  • userName - author's username
  • time - ISO 8601 formatted time
  • cursor - next page number (if more results available)

Test plan

  • Build the project: go build ./cmd/slack-mcp-server
  • Run with valid Slack credentials
  • Call reactions_list tool via MCP client
  • Verify pagination works with page parameter
  • Verify results include messages, files the user has reacted to

🤖 Generated with Claude Code

Add new MCP tool that wraps Slack's reactions.list API endpoint.
This tool lists all items (messages, files) that the authenticated
user has reacted to, which can be used as a workaround for accessing
saved or bookmarked items.

Features:
- Pagination support via count and page parameters
- Returns CSV with type, channel, timestamp, emoji, text, user info
- Handles messages, files, and file comments

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant