213 Commits

Author SHA1 Message Date
flare576 0e6b185ea2 Add destructive hints to reaction tools, use dedicated SLACK_MCP_REACTION_TOOL env var 2026-01-29 15:28:09 -06:00
flare576 ddc053a33a refactor: rename parseParamsToolAddReaction to parseParamsToolReaction
Generalizes error messages since this parser is now shared between
reactions_add and reactions_remove. Both tools use the same guardrail
(SLACK_MCP_ADD_MESSAGE_TOOL env var).
2026-01-29 15:01:54 -06:00
flare576 f483c35aca feat: add reactions_remove tool
Companion to reactions_add (merged in #141). Allows removing emoji
reactions from messages using the same channel/timestamp/emoji params.

Tested with xoxb, xoxc/xoxd token types.
2026-01-29 14:47:10 -06:00
Dmitrii Korotovskii 9844d5b0ad Merge pull request #141 from xav-ie/feat-add-reactions
feat-add-reactions
2026-01-29 21:44:24 +01:00
Aron Gates 4454d67ff6 feat: govslack compatibility 2026-01-28 00:03:28 -03:00
Dmitrii Korotovskii 5637b6f72f Improved integration tests on channels list 2026-01-08 22:14:37 +01:00
triepod-ai 3ae68d4096 feat: Add tool annotations for improved LLM tool understanding
Add readOnlyHint and destructiveHint annotations to all tools
to help LLMs better understand tool behavior and make safer decisions.

Changes:
- Added readOnlyHint: true to read-only tools (conversations_history,
  conversations_replies, conversations_search_messages, channels_list)
- Added destructiveHint: true to conversations_add_message tool
- Added title annotations for human-readable display

This improves tool safety metadata for MCP clients by providing
semantic hints about whether tools modify data or just read it.

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-21 12:26:58 -06:00
Xavier Ruiz af19d5ee17 feat: add reaction tool 2025-12-18 22:13:51 -05:00
Dmitrii Korotovskii 454398a7f7 go format 2025-12-09 22:59:13 +01:00
Dmitrii Korotovskii 3668595335 Merge pull request #117 from sanghoon/feat/support_bot_token_reimpl
Add bot token (xoxb) support
2025-11-29 15:47:14 +01:00
Dmitrii Korotovskii 42b98ff550 Merge pull request #126 from redaphid/master
Default cache file creation to os cache dir
2025-11-26 09:24:53 +01:00
Lukasz Jagiello 17e55a9b47 fix: update slack-go/slack to v0.17.3 to fix JSON unmarshal error
Fixes error when Slack API returns errors as strings instead of objects:
"json: cannot unmarshal string into Go struct field chatResponseFull.SlackResponse.errors of type map[string]interface{}"

The bug was in SlackResponseErrors.UnmarshalJSON which didn't handle
string error values. This was fixed in slack-go/slack v0.17.2+.

Added test case to verify the fix works.
2025-11-25 20:07:50 -08:00
redaphid 44e6ba319c default cache file creation to os cache dir 2025-11-10 19:00:39 -07:00
Benjamin Ertl 0e5bfda24d Fix: Preserve user IDs in channel cache for DM name display
DM channels now show proper names like @testuser instead of just @
after cache reload. Fixed by adding User and Members fields to Channel struct
and updating IM/UserBootChannel conversion methods.
2025-10-29 16:11:42 +01:00
Sanghoon Hong bb9469d3e6 Add bot token (xoxb) support
- Add support for bot tokens as an alternative authentication method
- Conditionally register search tool only for non-bot tokens (bots cannot use search.messages API)
- Update isOAuth definition to include both xoxp and xoxb tokens for cleaner implementation
- Add bot token configuration to manifest-dxt.json for DXT extension
- Document bot token limitations in README and authentication setup guide

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-19 01:26:48 +09:00
Dmitrii Korotovskii 6fb3c0a1fd Merge branch 'master' of github.com:korotovsky/slack-mcp-server 2025-10-11 12:55:02 +02:00
Dmitrii Korotovskii 574d35b977 Correctly wait until MCP is ready 2025-10-11 12:54:53 +02:00
Dmitrii Korotovskii 7d7d136e8b Fixed #110. Removed chans variable override lead to memory override during channels fetch on pagination after optimizations done in previos PR #107 2025-10-11 11:48:46 +02:00
Dmitrii Korotovskii c42f2d3d1c Update api.go fix cache location 2025-10-08 17:49:58 +02:00
WT 470b3fecef Fix filter by private channel id, and private channel name 2025-10-03 14:53:48 -07:00
WT bbbcaed2d6 use the correct variable containing the current page and compare to total page count 2025-10-03 00:21:45 -07:00
Dmitrii Korotovskii 151603fa62 Merge pull request #103 from ztNIE/fix-typo
docs: correct typo "Useed" in comment
2025-09-24 15:48:07 +02:00
ztNIE 80067ab305 docs: fix typos in comments 2025-09-24 22:00:11 +10:00
graf2242 4a5b79c1ed Rename SLACK_MCP_SSE_API_KEY to SLACK_MCP_API_KEY
Update documentation
2025-09-24 12:03:09 +03:00
graf2242 ae31b32be7 Implement Streamable HTTP MCP transport 2025-09-24 11:47:00 +03:00
graf2242 03cb013b8f Fix newline preservation in text processing 2025-09-23 18:31:40 +03:00
Octavian Rinciog b42dd068a8 fix: serialize getting message types to avoid slack rate limits 2025-09-12 13:28:23 +03:00
koladev 80f6bd18a5 chore: remove comments 2025-08-22 08:18:34 +01:00
koladev af74a8d69f change format for reactions field 2025-08-21 22:38:58 +01:00
koladev 41c1dc48f5 minor fixes 2025-08-21 17:05:05 +01:00
koladev 890732b202 feat: add reactions payload to messages 2025-08-21 13:14:37 +01:00
Dmitrii Korotovskii e271e0affc little cherry-pick from pull/72 by https://github.com/dionny 2025-08-15 10:55:36 +02:00
Dmitrii Korotovskii eb1e3957b3 search + username for bots 2025-08-09 19:49:48 +02:00
Dmitrii Korotovskii e97c756705 search + 2025-08-09 19:28:07 +02:00
Dmitrii Korotovskii ac9a8d9d02 ts in footer 2025-08-09 15:03:52 +02:00
Dmitrii Korotovskii 3e7c7fa031 Merge branch 'master' of github.com:korotovsky/slack-mcp-server into fix/bot-messages 2025-08-09 14:53:41 +02:00
Dmitrii Korotovskii f25f60bfe6 subtype 2025-08-09 14:52:30 +02:00
Dmitrii Korotovskii 9708a1b74d read messages from bots and webhooks 2025-08-07 00:22:12 +02:00
Dmitrii Korotovskii 078246c244 fixed timestamps issue misinterpretation by LLMs 2025-08-06 22:29:57 +02:00
Dmitrii Korotovskii 21eaf72a3b Updated tests 2025-07-26 21:42:58 +02:00
Dmitrii Korotovskii 2a74412e22 urlurling docs 2025-07-26 21:39:41 +02:00
Dmitrii Korotovskii 93fbda144c Added env variable to protect from unfurling 2025-07-26 21:27:17 +02:00
Dmitrii Korotovskii 66a326ee9d fingerprint tls cleanup 2025-07-24 14:49:58 +02:00
Dmitrii Korotovskii 32a951b484 tls handshake fingerprinting 2025-07-24 12:13:37 +02:00
Dmitrii Korotovskii 1e38a2e4c3 integration tests 2025-07-22 09:11:36 +02:00
Dmitrii Korotovskii eda1aeb48b Separate test groups 2025-07-21 14:33:27 +02:00
Dmitrii Korotovskii 314c67233e Update method name 2025-07-21 14:24:58 +02:00
Dmitrii Korotovskii 0519a0ff76 added integration test for channels list 2025-07-21 14:04:10 +02:00
Dmitrii Korotovskii 77456f3462 Added basic layout for integration tests 2025-07-21 01:38:43 +02:00
Dmitrii Korotovskii c01f9845be fetch message by full slack url 2025-07-20 21:22:09 +02:00