[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-korotovsky--slack-mcp-server":3,"tool-korotovsky--slack-mcp-server":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":78,"owner_location":79,"owner_email":78,"owner_twitter":78,"owner_website":80,"owner_url":81,"languages":82,"stars":99,"forks":100,"last_commit_at":101,"license":102,"difficulty_score":23,"env_os":103,"env_gpu":103,"env_ram":103,"env_deps":104,"category_tags":107,"github_topics":108,"view_count":10,"oss_zip_url":78,"oss_zip_packed_at":78,"status":16,"created_at":116,"updated_at":117,"faqs":118,"releases":149},758,"korotovsky\u002Fslack-mcp-server","slack-mcp-server","The most powerful MCP Slack Server with no permission requirements, Apps support, GovSlack, DMs, Group DMs and smart history fetch logic.","slack-mcp-server 是一个专为 Slack 工作区打造的 Model Context Protocol (MCP) 服务器，旨在让 AI 模型无缝接入 Slack 生态。它允许 AI 直接读取频道消息、线程回复、私聊记录及历史数据，从而赋予 AI 理解团队沟通上下文的能力。\n\n许多开发者在尝试将 AI 与 Slack 集成时，常受困于复杂的权限申请和 OAuth 配置流程。slack-mcp-server 通过独特的“隐身模式”解决了这一问题，支持无需额外权限或 Bot 安装即可运行，同时也提供安全的 OAuth 选项。\n\n对于 AI 开发者、自动化工程师以及希望提升团队协作效率的技术团队而言，它是理想选择。其技术亮点在于支持 Stdio、SSE 和 HTTP 多种传输协议，具备智能历史获取逻辑（可按时间或条数分页），并能高效处理未读消息排序。此外，它还内嵌了用户信息以增强上下文，支持企业级 Slack 环境，甚至允许通过环境变量灵活控制消息发送权限，在保证安全的前提下极大扩展了 AI 在即时通讯场景中的应用潜力。","# Slack MCP Server\n[![Trust Score](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkorotovsky_slack-mcp-server_readme_e1528319baa2.png)](https:\u002F\u002Farchestra.ai\u002Fmcp-catalog\u002Fkorotovsky__slack-mcp-server)\n\nModel Context Protocol (MCP) server for Slack Workspaces. The most powerful MCP Slack server — supports Stdio, SSE and HTTP transports, proxy settings, DMs, Group DMs, Smart History fetch (by date or count), may work via OAuth or in complete stealth mode with no permissions and scopes in Workspace 😏.\n\n> [!IMPORTANT]  \n> We need your support! Each month, over 30,000 engineers visit this repository, and more than 9,000 are already using it.\n> \n> If you appreciate the work our [contributors](https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fgraphs\u002Fcontributors) have put into this project, please consider giving the repository a star.\n\nThis feature-rich Slack MCP Server has:\n- **Stealth and OAuth Modes**: Run the server without requiring additional permissions or bot installations (stealth mode), or use secure OAuth tokens for access without needing to refresh or extract tokens from the browser (OAuth mode).\n- **Enterprise Workspaces Support**: Possibility to integrate with Enterprise Slack setups.\n- **Channel and Thread Support with `#Name` `@Lookup`**: Fetch messages from channels and threads, including activity messages, and retrieve channels using their names (e.g., #general) as well as their IDs.\n- **Smart History**: Fetch messages with pagination by date (d1, 7d, 1m) or message count.\n- **Unread Messages**: Get all unread messages across channels efficiently with priority sorting (DMs > partner channels > internal), @mention filtering, and mark-as-read support.\n- **Search Messages**: Search messages in channels, threads, and DMs using various filters like date, user, and content.\n- **Safe Message Posting**: The `conversations_add_message` tool is disabled by default for safety. Enable it via an environment variable, with optional channel restrictions.\n- **DM and Group DM support**: Retrieve direct messages and group direct messages.\n- **Embedded user information**: Embed user information in messages, for better context.\n- **Cache support**: Cache users and channels for faster access.\n- **Stdio\u002FSSE\u002FHTTP Transports & Proxy Support**: Use the server with any MCP client that supports Stdio, SSE or HTTP transports, and configure it to route outgoing requests through a proxy if needed.\n\n### Analytics Demo\n\n![Analytics](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkorotovsky_slack-mcp-server_readme_42ef4317c4f1.gif)\n\n### Add Message Demo\n\n![Add Message](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkorotovsky_slack-mcp-server_readme_13e41d9502d9.gif)\n\n## Tools\n\n### 1. conversations_history:\nGet messages from the channel (or DM) by channel_id, the last row\u002Fcolumn in the response is used as 'cursor' parameter for pagination if not empty\n- **Parameters:**\n  - `channel_id` (string, required):     - `channel_id` (string): ID of the channel in format Cxxxxxxxxxx or its name starting with `#...` or `@...` aka `#general` or `@username_dm`.\n  - `include_activity_messages` (boolean, default: false): If true, the response will include activity messages such as `channel_join` or `channel_leave`. Default is boolean false.\n  - `cursor` (string, optional): Cursor for pagination. Use the value of the last row and column in the response as next_cursor field returned from the previous request.\n  - `limit` (string, default: \"1d\"): Limit of messages to fetch in format of maximum ranges of time (e.g. 1d - 1 day, 1w - 1 week, 30d - 30 days, 90d - 90 days which is a default limit for free tier history) or number of messages (e.g. 50). Must be empty when 'cursor' is provided.\n\n### 2. conversations_replies:\nGet a thread of messages posted to a conversation by channelID and `thread_ts`, the last row\u002Fcolumn in the response is used as `cursor` parameter for pagination if not empty.\n- **Parameters:**\n  - `channel_id` (string, required): ID of the channel in format `Cxxxxxxxxxx` or its name starting with `#...` or `@...` aka `#general` or `@username_dm`.\n  - `thread_ts` (string, required): Unique identifier of either a thread’s parent message or a message in the thread. ts must be the timestamp in format `1234567890.123456` of an existing message with 0 or more replies.\n  - `include_activity_messages` (boolean, default: false): If true, the response will include activity messages such as 'channel_join' or 'channel_leave'. Default is boolean false.\n  - `cursor` (string, optional): Cursor for pagination. Use the value of the last row and column in the response as next_cursor field returned from the previous request.\n  - `limit` (string, default: \"1d\"): Limit of messages to fetch in format of maximum ranges of time (e.g. 1d - 1 day, 1w - 1 week, 30d - 30 days, 90d - 90 days which is a default limit for free tier history) or number of messages (e.g. 50). Must be empty when 'cursor' is provided.\n\n### 3. conversations_add_message\nAdd a message to a public channel, private channel, or direct message (DM, or IM) conversation by channel_id and thread_ts.\n\n> **Note:** Posting messages is disabled by default for safety. To enable, set the `SLACK_MCP_ADD_MESSAGE_TOOL` environment variable. If set to a comma-separated list of channel IDs, posting is enabled only for those specific channels. See the Environment Variables section below for details.\n\n- **Parameters:**\n  - `channel_id` (string, required): ID of the channel in format `Cxxxxxxxxxx` or its name starting with `#...` or `@...` aka `#general` or `@username_dm`.\n  - `thread_ts` (string, optional): Unique identifier of either a thread’s parent message or a message in the thread_ts must be the timestamp in format `1234567890.123456` of an existing message with 0 or more replies. Optional, if not provided the message will be added to the channel itself, otherwise it will be added to the thread.\n  - `payload` (string, required): Message payload in specified content_type format. Example: 'Hello, world!' for text\u002Fplain or '# Hello, world!' for text\u002Fmarkdown.\n  - `content_type` (string, default: \"text\u002Fmarkdown\"): Content type of the message. Default is 'text\u002Fmarkdown'. Allowed values: 'text\u002Fmarkdown', 'text\u002Fplain'.\n\n### 4. conversations_search_messages\nSearch messages in a public channel, private channel, or direct message (DM, or IM) conversation using filters. All filters are optional, if not provided then search_query is required.\n\n> **Note**: This tool is not available when using bot tokens (`xoxb-*`). Bot tokens cannot use the `search.messages` API.\n- **Parameters:**\n  - `search_query` (string, optional): Search query to filter messages. Example: 'marketing report' or full URL of Slack message e.g. 'https:\u002F\u002Fslack.com\u002Farchives\u002FC1234567890\u002Fp1234567890123456', then the tool will return a single message matching given URL, herewith all other parameters will be ignored.\n  - `filter_in_channel` (string, optional): Filter messages in a specific channel by its ID or name. Example: `C1234567890` or `#general`. If not provided, all channels will be searched.\n  - `filter_in_im_or_mpim` (string, optional): Filter messages in a direct message (DM) or multi-person direct message (MPIM) conversation by its ID or name. Example: `D1234567890` or `@username_dm`. If not provided, all DMs and MPIMs will be searched.\n  - `filter_users_with` (string, optional): Filter messages with a specific user by their ID or display name in threads and DMs. Example: `U1234567890` or `@username`. If not provided, all threads and DMs will be searched.\n  - `filter_users_from` (string, optional): Filter messages from a specific user by their ID or display name. Example: `U1234567890` or `@username`. If not provided, all users will be searched.\n  - `filter_date_before` (string, optional): Filter messages sent before a specific date in format `YYYY-MM-DD`. Example: `2023-10-01`, `July`, `Yesterday` or `Today`. If not provided, all dates will be searched.\n  - `filter_date_after` (string, optional): Filter messages sent after a specific date in format `YYYY-MM-DD`. Example: `2023-10-01`, `July`, `Yesterday` or `Today`. If not provided, all dates will be searched.\n  - `filter_date_on` (string, optional): Filter messages sent on a specific date in format `YYYY-MM-DD`. Example: `2023-10-01`, `July`, `Yesterday` or `Today`. If not provided, all dates will be searched.\n  - `filter_date_during` (string, optional): Filter messages sent during a specific period in format `YYYY-MM-DD`. Example: `July`, `Yesterday` or `Today`. If not provided, all dates will be searched.\n  - `filter_threads_only` (boolean, default: false): If true, the response will include only messages from threads. Default is boolean false.\n  - `cursor` (string, default: \"\"): Cursor for pagination. Use the value of the last row and column in the response as next_cursor field returned from the previous request.\n  - `limit` (number, default: 20): The maximum number of items to return. Must be an integer between 1 and 100.\n\n### 5. channels_list:\nGet list of channels\n- **Parameters:**\n  - `channel_types` (string, required): Comma-separated channel types. Allowed values: `mpim`, `im`, `public_channel`, `private_channel`. Example: `public_channel,private_channel,im`\n  - `sort` (string, optional): Type of sorting. Allowed values: `popularity` - sort by number of members\u002Fparticipants in each channel.\n  - `limit` (number, default: 100): The maximum number of items to return. Must be an integer between 1 and 1000 (maximum 999).\n  - `cursor` (string, optional): Cursor for pagination. Use the value of the last row and column in the response as next_cursor field returned from the previous request.\n\n### 6. reactions_add:\nAdd an emoji reaction to a message in a public channel, private channel, or direct message (DM, or IM) conversation.\n\n> **Note:** Adding reactions is disabled by default for safety. To enable, set the `SLACK_MCP_ADD_MESSAGE_TOOL` environment variable. If set to a comma-separated list of channel IDs, reactions are enabled only for those specific channels. See the Environment Variables section below for details.\n\n- **Parameters:**\n  - `channel_id` (string, required): ID of the channel in format `Cxxxxxxxxxx` or its name starting with `#...` or `@...` aka `#general` or `@username_dm`.\n  - `timestamp` (string, required): Timestamp of the message to add reaction to, in format `1234567890.123456`.\n  - `emoji` (string, required): The name of the emoji to add as a reaction (without colons). Example: `thumbsup`, `heart`, `rocket`.\n\n### 7. reactions_remove:\nRemove an emoji reaction from a message in a public channel, private channel, or direct message (DM, or IM) conversation.\n\n> **Note:** Removing reactions follows the same permission model as `reactions_add`. To enable, set the `SLACK_MCP_ADD_MESSAGE_TOOL` environment variable.\n\n- **Parameters:**\n  - `channel_id` (string, required): ID of the channel in format `Cxxxxxxxxxx` or its name starting with `#...` or `@...` aka `#general` or `@username_dm`.\n  - `timestamp` (string, required): Timestamp of the message to remove reaction from, in format `1234567890.123456`.\n  - `emoji` (string, required): The name of the emoji to remove as a reaction (without colons). Example: `thumbsup`, `heart`, `rocket`.\n\n### 8. users_search:\nSearch for users by name, email, or display name. Returns user details and DM channel ID if available.\n\n> **Note:** For OAuth tokens (`xoxp`\u002F`xoxb`), this tool searches the local users cache using pattern matching. For browser session tokens (`xoxc`\u002F`xoxd`), it uses the Slack edge API for real-time search.\n\n- **Parameters:**\n  - `query` (string, required): Search query - matches against real name, display name, username, or email.\n  - `limit` (number, default: 10): Maximum number of results to return (1-100).\n\n- **Returns:** CSV with fields:\n  - `UserID`: User ID (e.g., `U1234567890`)\n  - `UserName`: Slack username\n  - `RealName`: User's real name\n  - `DisplayName`: User's display name\n  - `Email`: User's email address\n  - `Title`: User's job title\n  - `DMChannelID`: DM channel ID if available in cache (for quick messaging)\n\n### 9. usergroups_list:\nList all user groups (subteams) in the workspace.\n\n- **Parameters:**\n  - `include_users` (boolean, default: false): Include list of user IDs in each group.\n  - `include_count` (boolean, default: true): Include user count for each group.\n  - `include_disabled` (boolean, default: false): Include disabled\u002Farchived groups.\n\n- **Returns:** CSV with fields: id, name, handle, description, user_count, is_external\n\n> **Required OAuth scopes:** `usergroups:read`\n\n### 10. usergroups_create:\nCreate a new user group in the workspace.\n\n- **Parameters:**\n  - `name` (string, required): Name of the user group (e.g., \"Engineering Team\").\n  - `handle` (string, optional): Mention handle without @ (e.g., \"engineering\"). If not provided, Slack will auto-generate one.\n  - `description` (string, optional): Purpose or description of the group.\n  - `channels` (string, optional): Comma-separated channel IDs for default channels where group mentions will be highlighted.\n\n- **Returns:** JSON with created group details (id, name, handle, description)\n\n> **Required OAuth scopes:** `usergroups:write`\n\n### 11. usergroups_update:\nUpdate an existing user group's metadata.\n\n- **Parameters:**\n  - `usergroup_id` (string, required): ID of the user group (e.g., \"S1234567890\").\n  - `name` (string, optional): New name for the group.\n  - `handle` (string, optional): New mention handle.\n  - `description` (string, optional): New description.\n  - `channels` (string, optional): New default channels (comma-separated IDs). This replaces existing default channels.\n\n- **Returns:** JSON with updated group details\n\n> **Required OAuth scopes:** `usergroups:write`\n\n### 12. usergroups_users_update:\nUpdate the members of a user group. This replaces all existing members.\n\n- **Parameters:**\n  - `usergroup_id` (string, required): ID of the user group (e.g., \"S1234567890\").\n  - `users` (string, required): Comma-separated user IDs to set as members (e.g., \"U123,U456,U789\").\n\n- **Returns:** JSON with updated group details including new user list\n\n> **Required OAuth scopes:** `usergroups:write`\n\n### 13. usergroups_me:\nManage your user group membership: list groups you're in, join a group, or leave a group.\n\n- **Parameters:**\n  - `action` (string, required): Action to perform - `list` to see your groups, `join` to add yourself, `leave` to remove yourself.\n  - `usergroup_id` (string, optional): ID of the user group (e.g., \"S1234567890\"). Required for `join` and `leave` actions.\n\n- **Returns:**\n  - For `list`: CSV with groups you're a member of\n  - For `join`\u002F`leave`: JSON with result message and updated group info\n\n> **Required OAuth scopes:** `usergroups:read` (for list), `usergroups:read` + `usergroups:write` (for join\u002Fleave)\n\n### 14. conversations_unreads\nGet unread messages across all channels efficiently. Uses a single API call to identify channels with unreads, then fetches only those messages. Results are prioritized: DMs > partner channels (Slack Connect) > internal channels.\n\n> **Note:** This tool works best with browser session tokens (`xoxc`\u002F`xoxd`), which use the efficient `client.counts` API. For standard OAuth tokens (`xoxp`), a fallback method using `conversations.info` is used, which requires one API call per channel and may be slower for large workspaces. Not available with bot tokens (`xoxb`).\n\n- **Parameters:**\n  - `include_messages` (boolean, default: true): If true, returns the actual unread messages. If false, returns only a summary of channels with unreads.\n  - `channel_types` (string, default: \"all\"): Filter by channel type: `all`, `dm` (direct messages), `group_dm` (group DMs), `partner` (externally shared channels), `internal` (regular workspace channels).\n  - `max_channels` (number, default: 50): Maximum number of channels to fetch unreads from.\n  - `max_messages_per_channel` (number, default: 10): Maximum messages to fetch per channel.\n  - `mentions_only` (boolean, default: false): If true, only returns channels where you have @mentions. Note: This filter only works with browser tokens; OAuth tokens will return all unread channels.\n\n### 15. conversations_mark\nMark a channel or DM as read.\n\n> **Note:** Marking messages as read is disabled by default for safety. To enable, set the `SLACK_MCP_MARK_TOOL` environment variable to `true` or `1`. See the Environment Variables section below for details.\n\n- **Parameters:**\n  - `channel_id` (string, required): ID of the channel in format `Cxxxxxxxxxx` or its name starting with `#...` or `@...` (e.g., `#general`, `@username`).\n  - `ts` (string, optional): Timestamp of the message to mark as read up to. If not provided, marks all messages as read.\n\n## Resources\n\nThe Slack MCP Server exposes two special directory resources for easy access to workspace metadata:\n\n### 1. `slack:\u002F\u002F\u003Cworkspace>\u002Fchannels` — Directory of Channels\n\nFetches a CSV directory of all channels in the workspace, including public channels, private channels, DMs, and group DMs.\n\n- **URI:** `slack:\u002F\u002F\u003Cworkspace>\u002Fchannels`\n- **Format:** `text\u002Fcsv`\n- **Fields:**\n  - `id`: Channel ID (e.g., `C1234567890`)\n  - `name`: Channel name (e.g., `#general`, `@username_dm`)\n  - `topic`: Channel topic (if any)\n  - `purpose`: Channel purpose\u002Fdescription\n  - `memberCount`: Number of members in the channel\n\n### 2. `slack:\u002F\u002F\u003Cworkspace>\u002Fusers` — Directory of Users\n\nFetches a CSV directory of all users in the workspace.\n\n- **URI:** `slack:\u002F\u002F\u003Cworkspace>\u002Fusers`\n- **Format:** `text\u002Fcsv`\n- **Fields:**\n  - `userID`: User ID (e.g., `U1234567890`)\n  - `userName`: Slack username (e.g., `john`)\n  - `realName`: User’s real name (e.g., `John Doe`)\n\n## Setup Guide\n\n- [Authentication Setup](docs\u002F01-authentication-setup.md)\n- [Installation](docs\u002F02-installation.md)\n- [Configuration and Usage](docs\u002F03-configuration-and-usage.md)\n\n### Environment Variables (Quick Reference)\n\n| Variable                          | Required? | Default                   | Description                                                                                                                                                                                                                                                                               |\n|-----------------------------------|-----------|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `SLACK_MCP_XOXC_TOKEN`            | Yes*      | `nil`                     | Slack browser token (`xoxc-...`)                                                                                                                                                                                                                                                          |\n| `SLACK_MCP_XOXD_TOKEN`            | Yes*      | `nil`                     | Slack browser cookie `d` (`xoxd-...`)                                                                                                                                                                                                                                                     |\n| `SLACK_MCP_XOXP_TOKEN`            | Yes*      | `nil`                     | User OAuth token (`xoxp-...`) — alternative to xoxc\u002Fxoxd                                                                                                                                                                                                                                  |\n| `SLACK_MCP_XOXB_TOKEN`            | Yes*      | `nil`                     | Bot token (`xoxb-...`) — alternative to xoxp\u002Fxoxc\u002Fxoxd. Bot has limited access (invited channels only, no search)                                                                                                                                                                         |\n| `SLACK_MCP_PORT`                  | No        | `13080`                   | Port for the MCP server to listen on                                                                                                                                                                                                                                                      |\n| `SLACK_MCP_HOST`                  | No        | `127.0.0.1`               | Host for the MCP server to listen on                                                                                                                                                                                                                                                      |\n| `SLACK_MCP_API_KEY`               | No        | `nil`                     | Bearer token for SSE and HTTP transports                                                                                                                                                                                                                                                            |\n| `SLACK_MCP_PROXY`                 | No        | `nil`                     | Proxy URL for outgoing requests                                                                                                                                                                                                                                                           |\n| `SLACK_MCP_USER_AGENT`            | No        | `nil`                     | Custom User-Agent (for Enterprise Slack environments)                                                                                                                                                                                                                                     |\n| `SLACK_MCP_CUSTOM_TLS`            | No        | `nil`                     | Send custom TLS-handshake to Slack servers based on `SLACK_MCP_USER_AGENT` or default User-Agent. (for Enterprise Slack environments)                                                                                                                                                     |\n| `SLACK_MCP_SERVER_CA`             | No        | `nil`                     | Path to CA certificate                                                                                                                                                                                                                                                                    |\n| `SLACK_MCP_SERVER_CA_TOOLKIT`     | No        | `nil`                     | Inject HTTPToolkit CA certificate to root trust-store for MitM debugging                                                                                                                                                                                                                  |\n| `SLACK_MCP_SERVER_CA_INSECURE`    | No        | `false`                   | Trust all insecure requests (NOT RECOMMENDED)                                                                                                                                                                                                                                             |\n| `SLACK_MCP_ADD_MESSAGE_TOOL`      | No        | `nil`                     | Enable message posting via `conversations_add_message` by setting it to `true` for all channels, a comma-separated list of channel IDs to whitelist specific channels, or use `!` before a channel ID to allow all except specified ones. If empty, the tool is only registered when explicitly listed in `SLACK_MCP_ENABLED_TOOLS`. |\n| `SLACK_MCP_ADD_MESSAGE_MARK`      | No        | `nil`                     | When `conversations_add_message` is enabled (via `SLACK_MCP_ADD_MESSAGE_TOOL` or `SLACK_MCP_ENABLED_TOOLS`), setting this to `true` will automatically mark sent messages as read.                                                                                                        |\n| `SLACK_MCP_ADD_MESSAGE_UNFURLING` | No        | `nil`                     | Enable to let Slack unfurl posted links or set comma-separated list of domains e.g. `github.com,slack.com` to whitelist unfurling only for them. If text contains whitelisted and unknown domain unfurling will be disabled for security reasons.                                         |\n| `SLACK_MCP_MARK_TOOL`             | No        | `nil`                     | Enable the `conversations_mark` tool by setting to `true` or `1`. Disabled by default to prevent accidental marking of messages as read.                                                                                                                                                  |\n| `SLACK_MCP_USERS_CACHE`           | No        | `~\u002FLibrary\u002FCaches\u002Fslack-mcp-server\u002Fusers_cache.json` (macOS)\u003Cbr>`~\u002F.cache\u002Fslack-mcp-server\u002Fusers_cache.json` (Linux)\u003Cbr>`%LocalAppData%\u002Fslack-mcp-server\u002Fusers_cache.json` (Windows) | Path to the users cache file. Used to cache Slack user information to avoid repeated API calls on startup. |\n| `SLACK_MCP_CHANNELS_CACHE`        | No        | `~\u002FLibrary\u002FCaches\u002Fslack-mcp-server\u002Fchannels_cache_v2.json` (macOS)\u003Cbr>`~\u002F.cache\u002Fslack-mcp-server\u002Fchannels_cache_v2.json` (Linux)\u003Cbr>`%LocalAppData%\u002Fslack-mcp-server\u002Fchannels_cache_v2.json` (Windows) | Path to the channels cache file. Used to cache Slack channel information to avoid repeated API calls on startup. |\n| `SLACK_MCP_LOG_LEVEL`             | No        | `info`                    | Log-level for stdout or stderr. Valid values are: `debug`, `info`, `warn`, `error`, `panic` and `fatal`                                                                                                                                                                                   |\n| `SLACK_MCP_GOVSLACK`              | No        | `nil`                     | Set to `true` to enable [GovSlack](https:\u002F\u002Fslack.com\u002Fsolutions\u002Fgovslack) mode. Routes API calls to `slack-gov.com` endpoints instead of `slack.com` for FedRAMP-compliant government workspaces.                                                                                          |\n| `SLACK_MCP_ENABLED_TOOLS`         | No        | `nil`                     | Comma-separated list of tools to register. If empty, all read-only tools and usergroups tools are registered; write tools (`conversations_add_message`, `reactions_add`, `reactions_remove`, `attachment_get_data`) require their specific env var OR must be explicitly listed here. When a write tool is listed here, it's enabled without channel restrictions. Available tools: `conversations_history`, `conversations_replies`, `conversations_add_message`, `reactions_add`, `reactions_remove`, `attachment_get_data`, `conversations_search_messages`, `channels_list`, `usergroups_list`, `usergroups_me`, `usergroups_create`, `usergroups_update`, `usergroups_users_update`. |\n\n*You need one of: `xoxp` (user), `xoxb` (bot), or both `xoxc`\u002F`xoxd` tokens for authentication.\n\n### Limitations matrix & Cache\n\n| Users Cache        | Channels Cache     | Limitations                                                                                                                                                                                                                                                                                                                  |\n|--------------------|--------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| :x:                | :x:                | No cache, No LLM context enhancement with user data, tool `channels_list` will be fully not functional. Tools `conversations_*` will have limited capabilities and you won't be able to search messages by `@userHandle` or `#channel-name`, getting messages by `@userHandle` or `#channel-name` won't be available either. |\n| :white_check_mark: | :x:                | No channels cache, tool `channels_list` will be fully not functional. Tools `conversations_*` will have limited capabilities and you won't be able to search messages by `@userHandle` or `#channel-name`, getting messages by `@userHandle` or `#channel-name` won't be available either.                                   |\n| :white_check_mark: | :white_check_mark: | No limitations, fully functional Slack MCP Server.                                                                                                                                                                                                                                                                           |\n\n### Debugging Tools\n\n```bash\n# Run the inspector with stdio transport\nnpx @modelcontextprotocol\u002Finspector go run mcp\u002Fmcp-server.go --transport stdio\n\n# View logs\ntail -n 20 -f ~\u002FLibrary\u002FLogs\u002FClaude\u002Fmcp*.log\n```\n\n## Security\n\n- Never share API tokens\n- Keep .env files secure and private\n\n## License\n\nLicensed under MIT - see [LICENSE](LICENSE) file. This is not an official Slack product.\n","# Slack MCP 服务器\n[![Trust Score](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkorotovsky_slack-mcp-server_readme_e1528319baa2.png)](https:\u002F\u002Farchestra.ai\u002Fmcp-catalog\u002Fkorotovsky__slack-mcp-server)\n\n适用于 Slack 工作区的 Model Context Protocol (MCP) 服务器。这是最强大的 MCP Slack 服务器——支持 Stdio、SSE 和 HTTP 传输方式、代理设置、DM（私聊）、Group DM（群组私聊）、智能历史记录获取（按日期或数量），可以通过 OAuth 运行，也可以在 Workspace（工作区）中完全不使用任何权限和作用域的情况下以完全隐身模式运行 😏。\n\n> [!IMPORTANT]  \n> 我们需要您的支持！每个月，超过 30,000 名工程师访问此仓库，其中已有超过 9,000 人正在使用它。\n> \n> 如果您欣赏我们的 [贡献者](https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fgraphs\u002Fcontributors) 为此项目所做的工作，请考虑给该仓库点个星。\n\n这个功能丰富的 Slack MCP 服务器拥有以下特性：\n- **隐身和 OAuth 模式**：无需额外权限或机器人安装即可运行服务器（隐身模式），或使用安全的 OAuth 令牌进行访问，而无需刷新或从浏览器中提取令牌（OAuth 模式）。\n- **企业工作区支持**：可集成到企业版 Slack 设置中。\n- **带 `#名称` `@查找` 的频道和线程支持**：从频道和线程中获取消息，包括活动消息，并使用其名称（例如 #general）及其 ID 检索频道。\n- **智能历史**：按日期（d1, 7d, 1m）或消息数量进行分页获取消息。\n- **未读消息**：高效获取所有频道的未读消息，具有优先级排序（DM > 合作伙伴频道 > 内部），@mention 过滤和已读标记支持。\n- **搜索消息**：使用各种过滤器（如日期、用户和内容）在频道、线程和 DM 中搜索消息。\n- **安全消息发布**：`conversations_add_message` 工具默认禁用以确保安全。通过环境变量启用它，并可选择频道限制。\n- **DM 和 Group DM 支持**：检索直接消息和群组直接消息。\n- **嵌入用户信息**：将用户信息嵌入消息中，以获得更好的上下文。\n- **缓存支持**：缓存用户和频道以实现更快的访问。\n- **Stdio\u002FSSE\u002FHTTP 传输及代理支持**：与支持 Stdio、SSE 或 HTTP 传输的任何 MCP 客户端一起使用服务器，并根据需要配置它以通过代理路由出站请求。\n\n### 分析演示\n\n![Analytics](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkorotovsky_slack-mcp-server_readme_42ef4317c4f1.gif)\n\n### 添加消息演示\n\n![Add Message](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkorotovsky_slack-mcp-server_readme_13e41d9502d9.gif)\n\n## 工具\n\n### 1. conversations_history:\n通过 channel_id 获取频道（或 DM）中的消息，响应中的最后一行\u002F列用作 'cursor'（游标）参数用于分页（如果不为空）\n- **参数：**\n  - `channel_id` (string, required): 格式为 Cxxxxxxxxxx 的频道 ID，或其以 `#...` 或 `@...` 开头的名称，即 `#general` 或 `@username_dm`。\n  - `include_activity_messages` (boolean, default: false): 如果为 true，响应将包含活动消息，如 `channel_join` 或 `channel_leave`。默认为布尔值 false。\n  - `cursor` (string, optional): 分页游标。使用响应中最后一行和列的值作为前一个请求返回的 next_cursor 字段。\n  - `limit` (string, default: \"1d\"): 获取消息的限制，格式为最大时间范围（例如 1d - 1 天，1w - 1 周，30d - 30 天，90d - 90 天，这是免费层历史的默认限制）或消息数量（例如 50）。提供 'cursor' 时必须为空。\n\n### 2. conversations_replies:\n通过 channelID 和 `thread_ts` 获取发布到对话的线程消息，响应中的最后一行\u002F列用作 `cursor` 参数用于分页（如果不为空）。\n- **参数：**\n  - `channel_id` (string, required): 格式为 `Cxxxxxxxxxx` 的频道 ID，或其以 `#...` 或 `@...` 开头的名称，即 `#general` 或 `@username_dm`。\n  - `thread_ts` (string, required): 线程父消息或线程中消息的唯一标识符。ts 必须是现有消息的时间戳，格式为 `1234567890.123456`，该消息有 0 条或多条回复。\n  - `include_activity_messages` (boolean, default: false): 如果为 true，响应将包含活动消息，如 'channel_join' 或 'channel_leave'。默认为布尔值 false。\n  - `cursor` (string, optional): 分页游标。使用响应中最后一行和列的值作为前一个请求返回的 next_cursor 字段。\n  - `limit` (string, default: \"1d\"): 获取消息的限制，格式为最大时间范围（例如 1d - 1 天，1w - 1 周，30d - 30 天，90d - 90 天，这是免费层历史的默认限制）或消息数量（例如 50）。提供 'cursor' 时必须为空。\n\n### 3. conversations_add_message\n通过 channel_id 和 thread_ts 向公共频道、私人频道或直接消息 (DM, 或 IM) 对话添加消息。\n\n> **注意：** 出于安全原因，发布消息默认禁用。要启用，请设置 `SLACK_MCP_ADD_MESSAGE_TOOL` 环境变量。如果设置为逗号分隔的频道 ID 列表，则仅针对这些特定频道启用发布。详见下文的环境变量部分。\n\n- **参数：**\n  - `channel_id` (string, required): 格式为 `Cxxxxxxxxxx` 的频道 ID，或其以 `#...` 或 `@...` 开头的名称，即 `#general` 或 `@username_dm`。\n  - `thread_ts` (string, optional): 线程父消息或线程中消息的唯一标识符。thread_ts 必须是现有消息的时间戳，格式为 `1234567890.123456`，该消息有 0 条或多条回复。可选，如果未提供，消息将添加到频道本身，否则将添加到线程中。\n  - `payload` (string, required): 指定 content_type 格式的消息负载。示例：'Hello, world!' 对应 text\u002Fplain 或 '# Hello, world!' 对应 text\u002Fmarkdown。\n  - `content_type` (string, default: \"text\u002Fmarkdown\"): 消息的内容类型。默认为 'text\u002Fmarkdown'。允许的值：'text\u002Fmarkdown', 'text\u002Fplain'。\n\n### 4. conversations_search_messages\n使用过滤器在公共频道、私人频道或直接消息（DM，即时消息 IM）对话中搜索消息。所有过滤器均为可选参数，如果未提供，则必须提供 search_query。\n\n> **注意**：使用机器人令牌（xoxb-*）时不可用此工具。机器人令牌无法使用 search.messages API 接口。\n- **参数：**\n  - `search_query` (字符串，可选)：用于过滤消息的搜索查询。示例：'marketing report' 或 Slack 消息的完整 URL，例如 'https:\u002F\u002Fslack.com\u002Farchives\u002FC1234567890\u002Fp1234567890123456'，此时工具将返回与给定 URL 匹配的单条消息，其他所有参数将被忽略。\n  - `filter_in_channel` (字符串，可选)：通过 ID 或名称过滤特定频道中的消息。示例：`C1234567890` 或 `#general`。如果未提供，将搜索所有频道。\n  - `filter_in_im_or_mpim` (字符串，可选)：通过 ID 或名称过滤直接消息（DM）或多人群聊（MPIM）对话中的消息。示例：`D1234567890` 或 `@username_dm`。如果未提供，将搜索所有 DM 和 MPIM。\n  - `filter_users_with` (字符串，可选)：通过 ID 或显示名称过滤线程和 DM 中与特定用户的消息。示例：`U1234567890` 或 `@username`。如果未提供，将搜索所有线程和 DM。\n  - `filter_users_from` (字符串，可选)：通过 ID 或显示名称过滤来自特定用户的消息。示例：`U1234567890` 或 `@username`。如果未提供，将搜索所有用户。\n  - `filter_date_before` (字符串，可选)：过滤在特定日期之前发送的消息，格式为 `YYYY-MM-DD`。示例：`2023-10-01`、`July`、`Yesterday` 或 `Today`。如果未提供，将搜索所有日期。\n  - `filter_date_after` (字符串，可选)：过滤在特定日期之后发送的消息，格式为 `YYYY-MM-DD`。示例：`2023-10-01`、`July`、`Yesterday` 或 `Today`。如果未提供，将搜索所有日期。\n  - `filter_date_on` (字符串，可选)：过滤在特定日期当天发送的消息，格式为 `YYYY-MM-DD`。示例：`2023-10-01`、`July`、`Yesterday` 或 `Today`。如果未提供，将搜索所有日期。\n  - `filter_date_during` (字符串，可选)：过滤在特定时间段内发送的消息，格式为 `YYYY-MM-DD`。示例：`July`、`Yesterday` 或 `Today`。如果未提供，将搜索所有日期。\n  - `filter_threads_only` (布尔值，默认：false)：如果为 true，响应将仅包含来自线程的消息。默认为布尔值 false。\n  - `cursor` (字符串，默认： \"\")：用于分页的游标。使用前一次请求返回的响应中最后一行和列的值作为 next_cursor 字段。\n  - `limit` (数字，默认：20)：返回的最大项目数。必须是 1 到 100 之间的整数。\n\n### 5. channels_list:\n获取频道列表\n- **参数：**\n  - `channel_types` (字符串，必填)：逗号分隔的频道类型。允许的值：`mpim`、`im`、`public_channel`、`private_channel`。示例：`public_channel,private_channel,im`\n  - `sort` (字符串，可选)：排序类型。允许的值：`popularity` - 按每个频道的成员\u002F参与者数量排序。\n  - `limit` (数字，默认：100)：返回的最大项目数。必须是 1 到 1000（最大 999）之间的整数。\n  - `cursor` (字符串，可选)：用于分页的游标。使用前一次请求返回的响应中最后一行和列的值作为 next_cursor 字段。\n\n### 6. reactions_add:\n在公共频道、私人频道或直接消息（DM，即时消息 IM）对话的消息中添加表情符号反应。\n\n> **注意：** 出于安全考虑，默认禁用添加反应功能。要启用，请设置 `SLACK_MCP_ADD_MESSAGE_TOOL` 环境变量。如果设置为频道 ID 的逗号分隔列表，则仅在这些特定频道中启用反应。详见下方的环境变量部分。\n\n- **参数：**\n  - `channel_id` (字符串，必填)：频道 ID，格式为 `Cxxxxxxxxxx` 或以 `#...` 或 `@...` 开头的名称，即 `#general` 或 `@username_dm`。\n  - `timestamp` (字符串，必填)：要添加反应的消息的时间戳，格式为 `1234567890.123456`。\n  - `emoji` (字符串，必填)：要添加的反应的表情符号名称（不带冒号）。示例：`thumbsup`、`heart`、`rocket`。\n\n### 7. reactions_remove:\n从公共频道、私人频道或直接消息（DM，即时消息 IM）对话的消息中移除表情符号反应。\n\n> **注意：** 移除反应遵循与 `reactions_add` 相同的权限模型。要启用，请设置 `SLACK_MCP_ADD_MESSAGE_TOOL` 环境变量。\n\n- **参数：**\n  - `channel_id` (字符串，必填)：频道 ID，格式为 `Cxxxxxxxxxx` 或以 `#...` 或 `@...` 开头的名称，即 `#general` 或 `@username_dm`。\n  - `timestamp` (字符串，必填)：要移除反应的消息的时间戳，格式为 `1234567890.123456`。\n  - `emoji` (字符串，必填)：要移除的反应的表情符号名称（不带冒号）。示例：`thumbsup`、`heart`、`rocket`。\n\n### 8. users_search:\n按姓名、邮箱或显示名称搜索用户。返回用户详情及可用的 DM 频道 ID。\n\n> **注意：** 对于 OAuth 令牌（xoxp\u002Fxoxb），此工具使用模式匹配搜索本地用户缓存。对于浏览器会话令牌（xoxc\u002Fxoxd），它使用 Slack 边缘 API 进行实时搜索。\n\n- **参数：**\n  - `query` (字符串，必填)：搜索查询 - 匹配真实姓名、显示名称、用户名或邮箱。\n  - `limit` (数字，默认：10)：返回的最大结果数（1-100）。\n\n- **返回：** 包含以下字段的 CSV 格式数据：\n  - `UserID`: 用户 ID（例如 `U1234567890`）\n  - `UserName`: Slack 用户名\n  - `RealName`: 用户真实姓名\n  - `DisplayName`: 用户显示名称\n  - `Email`: 用户邮箱地址\n  - `Title`: 用户职位\n  - `DMChannelID`: 缓存中可用的 DM 频道 ID（用于快速发消息）\n\n### 9. usergroups_list:\n列出工作区中的所有用户组（子团队）。\n\n- **参数：**\n  - `include_users` (布尔值，默认：false)：包含每个组中的用户 ID 列表。\n  - `include_count` (布尔值，默认：true)：包含每个组的用户数量。\n  - `include_disabled` (布尔值，默认：false)：包含已禁用\u002F归档的组。\n\n- **返回：** 包含以下字段的 CSV 格式数据：id, name, handle, description, user_count, is_external\n\n> **所需 OAuth 权限范围：** `usergroups:read`\n\n### 10. usergroups_create:\n在工作区中创建新的用户组。\n\n- **参数：**\n  - `name` (string, required): 用户组名称（例如：\"Engineering Team\"）。\n  - `handle` (string, optional): 提及句柄，不含 @ 符号（例如：\"engineering\"）。如果未提供，Slack 将自动生成一个。\n  - `description` (string, optional): 组的目的或描述。\n  - `channels` (string, optional): 默认频道 ID 的逗号分隔列表，在这些频道中提及该组时会高亮显示。\n\n- **返回：** 包含已创建组详情的 JSON（id, name, handle, description）\n\n> **所需 OAuth scopes (授权范围)：** `usergroups:write`\n\n### 11. usergroups_update:\n更新现有用户组的元数据。\n\n- **参数：**\n  - `usergroup_id` (string, required): 用户组 ID（例如：\"S1234567890\"）。\n  - `name` (string, optional): 组的新名称。\n  - `handle` (string, optional): 新的提及句柄。\n  - `description` (string, optional): 新描述。\n  - `channels` (string, optional): 新的默认频道（逗号分隔的 ID）。这将替换现有的默认频道。\n\n- **返回：** 包含已更新组详情的 JSON\n\n> **所需 OAuth scopes (授权范围)：** `usergroups:write`\n\n### 12. usergroups_users_update:\n更新用户组的成员。这将替换所有现有成员。\n\n- **参数：**\n  - `usergroup_id` (string, required): 用户组 ID（例如：\"S1234567890\"）。\n  - `users` (string, required): 设置为成员的逗号分隔用户 ID（例如：\"U123,U456,U789\"）。\n\n- **返回：** 包含更新后组详情及新用户列表的 JSON\n\n> **所需 OAuth scopes (授权范围)：** `usergroups:write`\n\n### 13. usergroups_me:\n管理您的用户组成员资格：列出您所在的组、加入组或离开组。\n\n- **参数：**\n  - `action` (string, required): 要执行的操作 - `list` 查看您的组，`join` 将自己加入，`leave` 将自己移除。\n  - `usergroup_id` (string, optional): 用户组 ID（例如：\"S1234567890\"）。对于 `join` 和 `leave` 操作是必需的。\n\n- **返回：**\n  - 对于 `list`：包含您所属组的 CSV 格式数据\n  - 对于 `join`\u002F`leave`：包含结果消息和更新后组信息的 JSON\n\n> **所需 OAuth scopes (授权范围)：** `usergroups:read` (用于 list)，`usergroups:read` + `usergroups:write` (用于 join\u002Fleave)\n\n### 14. conversations_unreads\n高效获取所有频道中的未读消息。使用单个 API (应用程序编程接口) 调用识别有未读消息的频道，然后仅获取这些消息。结果优先级：DM (Direct Message，私聊) > partner 频道 (Slack Connect) > 内部频道。\n\n> **注意：** 此工具与浏览器会话令牌 (`xoxc`\u002F`xoxd`) 配合效果最佳，它们使用高效的 `client.counts` API。对于标准 OAuth 令牌 (`xoxp`)，则使用基于 `conversations.info` 的回退方法，这需要每个频道进行一次 API 调用，在大型工作区中可能较慢。不支持机器人令牌 (`xoxb`)。\n\n- **参数：**\n  - `include_messages` (boolean, default: true): 如果为 true，返回实际的未读消息。如果为 false，仅返回有未读消息的频道摘要。\n  - `channel_types` (string, default: \"all\"): 按频道类型筛选：`all`，`dm` (私聊)，`group_dm` (群组私聊)，`partner` (外部共享频道)，`internal` (常规工作区频道)。\n  - `max_channels` (number, default: 50): 获取未读消息的最大频道数量。\n  - `max_messages_per_channel` (number, default: 10): 每个频道获取的最大消息数。\n  - `mentions_only` (boolean, default: false): 如果为 true，仅返回您有 @提及的频道。注意：此过滤器仅在浏览器令牌下有效；OAuth 令牌将返回所有未读频道。\n\n### 15. conversations_mark\n将频道或 DM 标记为已读。\n\n> **注意：** 出于安全考虑，默认禁用将消息标记为已读的功能。要启用它，请将 `SLACK_MCP_MARK_TOOL` 环境变量设置为 `true` 或 `1`。详见下方的环境变量部分。\n\n- **参数：**\n  - `channel_id` (string, required): 频道 ID，格式为 `Cxxxxxxxxxx` 或以 `#...` 或 `@...` 开头的名称（例如：`#general`, `@username`）。\n  - `ts` (string, optional): 标记为已读的消息的时间戳。如果未提供，则将所有消息标记为已读。\n\n## 资源\n\nSlack MCP (模型上下文协议) Server 提供了两个特殊的目录资源，以便轻松访问工作区元数据：\n\n### 1. `slack:\u002F\u002F\u003Cworkspace>\u002Fchannels` — 频道目录\n\n获取工作区中所有频道的 CSV (Comma-Separated Values，逗号分隔值) 目录，包括公共频道、私有频道、DM 和群组 DM。\n\n- **URI (统一资源标识符)：** `slack:\u002F\u002F\u003Cworkspace>\u002Fchannels`\n- **格式：** `text\u002Fcsv`\n- **字段：**\n  - `id`: 频道 ID（例如：`C1234567890`）\n  - `name`: 频道名称（例如：`#general`, `@username_dm`）\n  - `topic`: 频道主题（如果有）\n  - `purpose`: 频道目的\u002F描述\n  - `memberCount`: 频道中的成员数量\n\n### 2. `slack:\u002F\u002F\u003Cworkspace>\u002Fusers` — 用户目录\n\n获取工作区中所有用户的 CSV 目录。\n\n- **URI：** `slack:\u002F\u002F\u003Cworkspace>\u002Fusers`\n- **格式：** `text\u002Fcsv`\n- **字段：**\n  - `userID`: 用户 ID（例如：`U1234567890`）\n  - `userName`: Slack 用户名（例如：`john`）\n  - `realName`: 用户真实姓名（例如：`John Doe`）\n\n## 设置指南\n\n- [认证设置](docs\u002F01-authentication-setup.md)\n- [安装](docs\u002F02-installation.md)\n- [配置和使用](docs\u002F03-configuration-and-usage.md)\n\n### 环境变量（快速参考）\n\n| Variable                          | Required? | Default                   | Description                                                                                                                                                                                                                                                                               |\n|-----------------------------------|-----------|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `SLACK_MCP_XOXC_TOKEN`            | Yes*      | `nil`                     | Slack 浏览器令牌（`xoxc-...`）                                                                                                                                                                                                                                                          |\n| `SLACK_MCP_XOXD_TOKEN`            | Yes*      | `nil`                     | Slack 浏览器 Cookie `d`（`xoxd-...`）                                                                                                                                                                                                                                                     |\n| `SLACK_MCP_XOXP_TOKEN`            | Yes*      | `nil`                     | 用户 OAuth (开放身份验证) 令牌（`xoxp-...`）—— xoxc\u002Fxoxd 的替代方案                                                                                                                                                                                                                                  |\n| `SLACK_MCP_XOXB_TOKEN`            | Yes*      | `nil`                     | 机器人令牌（`xoxb-...`）—— xoxp\u002Fxoxc\u002Fxoxd 的替代方案。机器人访问权限有限（仅限受邀频道，无搜索功能）                                                                                                                                                                         |\n| `SLACK_MCP_PORT`                  | No        | `13080`                   | MCP (模型上下文协议) 服务器监听的端口                                                                                                                                                                                                                                                      |\n| `SLACK_MCP_HOST`                  | No        | `127.0.0.1`               | MCP (模型上下文协议) 服务器监听的 Host                                                                                                                                                                                                                                                      |\n| `SLACK_MCP_API_KEY`               | No        | `nil`                     | SSE (服务器发送事件) 和 HTTP 传输的 Bearer (承载) 令牌                                                                                                                                                                                                                                                            |\n| `SLACK_MCP_PROXY`                 | No        | `nil`                     | 出站请求的代理 URL                                                                                                                                                                                                                                                           |\n| `SLACK_MCP_USER_AGENT`            | No        | `nil`                     | 自定义 User-Agent（适用于企业版 Slack 环境）                                                                                                                                                                                                                                     |\n| `SLACK_MCP_CUSTOM_TLS`            | No        | `nil`                     | 根据 `SLACK_MCP_USER_AGENT` 或默认 User-Agent 向 Slack 服务器发送自定义 TLS (传输层安全) 握手。 (适用于企业版 Slack 环境)                                                                                                                                                     |\n| `SLACK_MCP_SERVER_CA`             | No        | `nil`                     | CA (证书颁发机构) 证书路径                                                                                                                                                                                                                                                                    |\n| `SLACK_MCP_SERVER_CA_TOOLKIT`     | No        | `nil`                     | 将 HTTPToolkit CA 证书注入到根信任存储区以进行 MitM (中间人) 调试                                                                                                                                                                                                                  |\n| `SLACK_MCP_SERVER_CA_INSECURE`    | No        | `false`                   | 信任所有不安全请求（不推荐）                                                                                                                                                                                                                                             |\n| `SLACK_MCP_ADD_MESSAGE_TOOL`      | No        | `nil`                     | 启用消息发布 via `conversations_add_message`，设置为 `true` 可针对所有频道，逗号分隔的频道 ID 列表可白名单特定频道，或在频道 ID 前使用 `!` 允许除指定频道外的所有频道。如果为空，则该工具仅在 `SLACK_MCP_ENABLED_TOOLS` 中明确列出时注册。 |\n| `SLACK_MCP_ADD_MESSAGE_MARK`      | No        | `nil`                     | 当启用 `conversations_add_message` 时（通过 `SLACK_MCP_ADD_MESSAGE_TOOL` 或 `SLACK_MCP_ENABLED_TOOLS`），将其设置为 `true` 会自动将已发送的消息标记为已读。                                                                                                        |\n| `SLACK_MCP_ADD_MESSAGE_UNFURLING` | No        | `nil`                     | 启用后允许 Slack 展开发布的链接，或设置域名逗号分隔列表（例如 `github.com,slack.com`）仅白名单这些域名的展开。如果文本包含白名单和未知域名，出于安全原因将禁用展开。                                         |\n| `SLACK_MCP_MARK_TOOL`             | No        | `nil`                     | 通过设置为 `true` 或 `1` 启用 `conversations_mark` 工具。默认禁用以防止意外将消息标记为已读。                                                                                                                                                  |\n| `SLACK_MCP_USERS_CACHE`           | No        | `~\u002FLibrary\u002FCaches\u002Fslack-mcp-server\u002Fusers_cache.json` (macOS)\u003Cbr>`~\u002F.cache\u002Fslack-mcp-server\u002Fusers_cache.json` (Linux)\u003Cbr>`%LocalAppData%\u002Fslack-mcp-server\u002Fusers_cache.json` (Windows) | 用户缓存文件的路径。用于缓存 Slack 用户信息以避免启动时重复调用 API。 |\n| `SLACK_MCP_CHANNELS_CACHE`        | No        | `~\u002FLibrary\u002FCaches\u002Fslack-mcp-server\u002Fchannels_cache_v2.json` (macOS)\u003Cbr>`~\u002F.cache\u002Fslack-mcp-server\u002Fchannels_cache_v2.json` (Linux)\u003Cbr>`%LocalAppData%\u002Fslack-mcp-server\u002Fchannels_cache_v2.json` (Windows) | 频道缓存文件的路径。用于缓存 Slack 频道信息以避免启动时重复调用 API。 |\n| `SLACK_MCP_LOG_LEVEL`             | No        | `info`                    | stdout 或 stderr 的日志级别。有效值为：`debug`, `info`, `warn`, `error`, `panic` 和 `fatal`                                                                                                                                                                                   |\n| `SLACK_MCP_GOVSLACK`              | No        | `nil`                     | 设置为 `true` 以启用 [GovSlack](https:\u002F\u002Fslack.com\u002Fsolutions\u002Fgovslack) 模式。将 API 调用路由到 `slack-gov.com` 端点而不是 `slack.com`，适用于符合 FedRAMP (联邦风险与授权管理计划) 标准的政府工作区。                                                                                          |\n| `SLACK_MCP_ENABLED_TOOLS`         | No        | `nil`                     | 要注册的工具的逗号分隔列表。如果为空，则注册所有只读工具和用户组工具；写入工具（`conversations_add_message`, `reactions_add`, `reactions_remove`, `attachment_get_data`）需要其特定的环境变量 **或** 必须在此处明确列出。当写入工具在此列出时，它将在没有频道限制的情况下启用。可用工具：`conversations_history`, `conversations_replies`, `conversations_add_message`, `reactions_add`, `reactions_remove`, `attachment_get_data`, `conversations_search_messages`, `channels_list`, `usergroups_list`, `usergroups_me`, `usergroups_create`, `usergroups_update`, `usergroups_users_update`. |\n\n*您需要以下之一用于身份验证：`xoxp`（用户）、`xoxb`（机器人），或同时需要 `xoxc`\u002F`xoxd` 令牌。\n\n### 限制矩阵与缓存\n\n| 用户缓存 | 频道缓存 | 限制 |\n|--------------------|--------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| :x: | :x: | 无缓存，无法利用用户数据对 LLM（大型语言模型）上下文进行增强，工具 `channels_list` 将完全不可用。工具 `conversations_*` 功能受限，无法通过 `@userHandle` 或 `#channel-name` 搜索消息，也无法通过 `@userHandle` 或 `#channel-name` 获取消息。 |\n| :white_check_mark: | :x: | 无频道缓存，工具 `channels_list` 将完全不可用。工具 `conversations_*` 功能受限，无法通过 `@userHandle` 或 `#channel-name` 搜索消息，也无法通过 `@userHandle` 或 `#channel-name` 获取消息。 |\n| :white_check_mark: | :white_check_mark: | 无限制，Slack MCP Server（模型上下文协议服务器）功能完整。 |\n\n### 调试工具\n\n```bash\n# Run the inspector with stdio transport\nnpx @modelcontextprotocol\u002Finspector go run mcp\u002Fmcp-server.go --transport stdio\n\n# View logs\ntail -n 20 -f ~\u002FLibrary\u002FLogs\u002FClaude\u002Fmcp*.log\n```\n\n## 安全\n\n- 切勿分享 API 令牌\n- 确保 .env 文件的安全性和私密性\n\n## 许可证\n\n采用 MIT 许可 - 详见 [LICENSE](LICENSE) 文件。这不是官方的 Slack 产品。","# slack-mcp-server 快速上手指南\n\n`slack-mcp-server` 是一个功能强大的 Slack 工作区 Model Context Protocol (MCP) 服务器。它支持多种传输方式（Stdio, SSE, HTTP），提供“隐身模式”和 OAuth 两种接入方式，并能高效处理消息历史检索、搜索及发送等功能。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n- **系统要求**：支持 Linux, macOS 或 Windows。\n- **运行时环境**：建议安装 Node.js 环境（版本需符合项目依赖要求）。\n- **Git 工具**：用于克隆源代码仓库。\n- **Slack 账号**：拥有目标 Slack 工作区的访问权限。\n- **网络环境**：能够访问 GitHub 及 Slack API 服务（国内用户建议使用代理或镜像加速）。\n\n## 安装步骤\n\n### 1. 克隆仓库\n从 GitHub 获取源代码。如果网络连接较慢，可尝试使用镜像源加速。\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server.git\ncd slack-mcp-server\n```\n\n### 2. 安装依赖\n进入项目目录后，安装所需的 Node.js 依赖包。\n\n```bash\nnpm install\n```\n\n### 3. 配置环境变量\n根据您的需求选择运行模式，并配置相应的环境变量。\n\n- **隐身模式 (Stealth Mode)**：无需额外权限或 Bot 安装，适合无权限场景。\n- **OAuth 模式**：使用安全的 OAuth Token 访问，无需刷新或提取浏览器 Token。\n\n若需启用消息发送功能（默认禁用以确保安全），请设置环境变量：\n\n```bash\n# 启用所有渠道的消息发送\nexport SLACK_MCP_ADD_MESSAGE_TOOL=true\n\n# 仅允许特定渠道 ID 发送消息\nexport SLACK_MCP_ADD_MESSAGE_TOOL=C0123456789,C0987654321\n```\n\n## 基本使用\n\n### 启动服务器\n根据 MCP 客户端的要求，启动服务器以支持 Stdio、SSE 或 HTTP 传输。通常通过以下方式运行：\n\n```bash\nnpm start\n# 或根据具体配置指定传输协议\nnode index.js --transport=stdio\n```\n\n### 调用工具示例\n连接成功后，您可以通过 MCP 客户端调用以下核心工具进行交互。\n\n#### 1. 获取频道历史消息\n检索特定频道或 DM 中的消息，支持按时间或数量分页。\n\n```json\n{\n  \"name\": \"conversations_history\",\n  \"arguments\": {\n    \"channel_id\": \"#general\", \n    \"limit\": \"1d\",\n    \"include_activity_messages\": false\n  }\n}\n```\n\n#### 2. 搜索消息\n在频道、线程或 DM 中搜索特定内容，支持日期和用户过滤。\n\n```json\n{\n  \"name\": \"conversations_search_messages\",\n  \"arguments\": {\n    \"search_query\": \"marketing report\",\n    \"filter_in_channel\": \"C1234567890\",\n    \"filter_date_after\": \"2023-10-01\"\n  }\n}\n```\n\n#### 3. 添加消息（需开启权限）\n向公开频道、私有频道或 DM 发送消息。注意：此功能默认关闭，需在环境变量中开启。\n\n```json\n{\n  \"name\": \"conversations_add_message\",\n  \"arguments\": {\n    \"channel_id\": \"#general\",\n    \"payload\": \"Hello, world!\",\n    \"content_type\": \"text\u002Fmarkdown\"\n  }\n}\n```\n\n#### 4. 获取用户列表\n搜索用户详细信息，包括 DM 通道 ID。\n\n```json\n{\n  \"name\": \"users_search\",\n  \"arguments\": {\n    \"query\": \"zhangsan\",\n    \"limit\": 10\n  }\n}\n```\n\n> **提示**：对于敏感操作（如发送消息、添加反应），请确保已在环境变量中正确配置 `SLACK_MCP_ADD_MESSAGE_TOOL` 并限制允许的频道范围。","某互联网公司的运维主管需要快速复盘上周三发生的线上服务故障，希望借助 AI 助手梳理 Slack 技术群中的讨论记录并生成详细报告。\n\n### 没有 slack-mcp-server 时\n- 需要人工逐个频道翻阅聊天记录，不仅耗时费力还容易遗漏关键细节。\n- 无法直接关联特定时间段的对话，手动筛选海量信息效率极低。\n- 传统 Bot 配置复杂，涉及权限申请和审批流程，严重阻碍自动化集成。\n- 跨群组或私聊中的关键决策往往被分散，难以形成完整的故障分析视图。\n\n### 使用 slack-mcp-server 后\n- slack-mcp-server 通过智能历史获取功能，一键拉取指定日期范围内的所有消息。\n- 支持按线程检索，AI 能精准定位故障讨论的子线程上下文而不丢失脉络。\n- 采用无权限模式运行，无需繁琐的 Workspace 授权即可安全连接数据源。\n- 自动聚合多通道及私聊信息，为 AI 模型提供完整的决策背景上下文。\n\nslack-mcp-server 让 AI 能够无缝理解 Slack 沟通语境，极大提升了故障排查与知识沉淀的效率。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkorotovsky_slack-mcp-server_42ef4317.gif","korotovsky","Dmitrii Korotovskii","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fkorotovsky_49fba11e.jpg",null,"Berlin, Germany","https:\u002F\u002Fwww.patreon.com\u002Fkorotovskii","https:\u002F\u002Fgithub.com\u002Fkorotovsky",[83,87,91,95],{"name":84,"color":85,"percentage":86},"Go","#00ADD8",97.6,{"name":88,"color":89,"percentage":90},"Makefile","#427819",1.5,{"name":92,"color":93,"percentage":94},"JavaScript","#f1e05a",0.6,{"name":96,"color":97,"percentage":98},"Dockerfile","#384d54",0.2,1509,280,"2026-04-05T12:17:00","MIT","未说明",{"notes":105,"python":103,"dependencies":106},"支持 Stdio、SSE 和 HTTP 传输协议；需配置 Slack 访问令牌（OAuth 或隐身模式）；部分功能（如发消息、加表情）默认禁用，需通过环境变量 SLACK_MCP_ADD_MESSAGE_TOOL 启用；搜索消息功能不支持 Bot Token（xoxb-*）。",[103],[26,53,13],[109,110,111,112,113,114,115],"assistants","llm","mcp","mcp-server","slack","slack-api","govslack","2026-03-27T02:49:30.150509","2026-04-06T08:41:36.130511",[119,124,129,134,139,144],{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},3244,"Slack MCP 服务器是否支持获取未读消息？","目前实现较为复杂。未读消息可能分布在公共频道、私聊、群组聊天及线程中，且涉及多种认证方式（如 `xoxp`）。虽然可通过 API 获取，但由于用例繁多且需要兼容不同认证方法，工作量较大，目前尚未完全支持此功能。","https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fissues\u002F34",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},3245,"`channels_list` 工具返回空结果（仅表头）是什么原因？","这是一个已知问题，已在版本 `v1.1.26` 中修复。如果您遇到此情况，请确保将 MCP 服务器更新至该版本或更高版本。同时确认 OAuth 设置中的频道范围权限已正确授予。","https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fissues\u002F92",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},3246,"使用 XOXP 令牌时无法获取频道缓存怎么办？","旧版本使用了未记录的 Slack 端点导致 `not_allowed_token_type` 错误。请更新到最新版本（修复后），新版本已调整逻辑以兼容 XOXP 令牌。如果是企业版环境，请注意 XOXD\u002FXOXC 令牌可能因安全策略受限。","https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fissues\u002F73",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},3247,"如何查找和读取私有频道？","首先确保 OAuth scopes 配置正确。如果遇到限制，建议尝试使用 `xoxc` 或 `xoxd` 认证方法代替标准用户令牌，这通常能绕过部分限制并允许在代表用户的情况下完全运行。","https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fissues\u002F42",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},3248,"如何通过 Slack 消息链接直接获取特定消息内容？","无需额外代码修改。Slack Search API 支持将完整的消息链接作为 `search_query` 参数传递。只需将链接传入搜索查询，工具即可自动解析并返回该特定消息，无需遍历频道历史。","https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fissues\u002F41",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},3249,"`channels_list` 返回的频道数量少于实际可访问的数量如何解决？","即使令牌权限足够，API 调用可能受限于分页或特定的 API 要求。建议检查 `channel_types` 参数是否包含所有类型（如 `public_channel`, `private_channel` 等），并确保使用最新版本的服务器以解决潜在的列表截断问题。若 `conversations_search_messages` 能查到更多频道，则可能是 `channels_list` 接口本身的限制。","https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fissues\u002F148",[150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245],{"id":151,"version":152,"summary_zh":153,"released_at":154},112458,"v1.2.3","## What's Changed\n* fix: channels_list returns empty results on Enterprise Grid with xoxc\u002Fxoxd tokens by @georgebashi in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F218\n* Allow to filter out users_search tool via enabled-tools by @kirecek in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F213\n\n## New Contributors\n* @georgebashi made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F218\n* @kirecek made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F213\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.2.2...v1.2.3","2026-03-03T21:42:02",{"id":156,"version":157,"summary_zh":158,"released_at":159},112459,"v1.2.2","##  What's Changed                                                                                                                                                                        \r\n                                                                                                                                                                                        \r\n  - feat: add reaction tool by @xav-ie in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F141                                                                                       \r\n  - feat: Add tool annotations for improved LLM tool understanding by @bryankthompson in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F144                                        \r\n  - fix: wait for cache to be ready before serving stdio requests by @bhaskoro-muthohar in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F155                                      \r\n  - feat(docker): Set mcp-server as ENTRYPOINT for improved usability by @JAORMX in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F156                                             \r\n  - ci: add Trivy scan for Go dependencies by @JAORMX in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F157                                                                        \r\n  - ci: add Dependabot for Go modules and GitHub Actions by @JAORMX in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F158\r\n  - feat: govslack compatibility by @aron-muon in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F165\r\n  - feat: add reactions_remove tool by @Flare576 in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F169\r\n  - feat: add BotName, FileCount, HasMedia fields to message output by @Flare576 in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F170\r\n  - feat: add conversations_unreads and conversations_mark tools by @Flare576 in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F171\r\n  - feat: add --enabled-tools flag to filter available MCP tools by @RedSlowpoke in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F173\r\n  - fix: include thread_broadcast replies in conversations_replies by @dhpwd in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F174\r\n  - fix: support user id with W prefix by @dosentmatter in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F175\r\n  - fix(dxt): add missing xoxb_token workaround for DXT bug by @dalley in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F178\r\n  - feat: add users_search tool for finding users by name\u002Femail by @Flare576 in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F179\r\n  - feat: add cache TTL and refresh-on-error for channel lookups by @ljagiello in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F180\r\n  - feat: add startup auth validation and workspace-isolated cache paths by @Flare576 in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F183\r\n  - fix: correct channel allowlist\u002Fblocklist logic by @RedSlowpoke in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F189\r\n  - feat: add user group management tools by @RedSlowpoke in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F193\r\n  - fix: rename payload parameter to text in conversations_add_message by @RedSlowpoke in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F194\r\n  - fix: return tool errors as isError results instead of JSON-RPC errors by @aminsaedi in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F196\r\n\r\n##  New Contributors\r\n\r\n  - @xav-ie made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F141\r\n  - @bryankthompson made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F144\r\n  - @bhaskoro-muthohar made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F155\r\n  - @JAORMX made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F156\r\n  - @aron-muon made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F165\r\n  - @Flare576 made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F169\r\n  - @dhpwd made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F174\r\n  - @dosentmatter made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F175\r\n  - @dalley made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F178\r\n  - @RedSlowpoke made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F173\r\n  - @aminsaedi made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F196\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.2.0...v1.2.2","2026-02-25T19:31:48",{"id":161,"version":162,"summary_zh":163,"released_at":164},112460,"v1.1.28","## What's Changed\n* Add slack manifest to XOXP configuration by @mattppal in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F116\n* Fix: Preserve user IDs in channel cache for DM name display by @tp-beer in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F122\n* fix: update slack-go\u002Fslack to v0.17.3 to fix JSON unmarshal error by @ljagiello in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F134\n* Default cache file creation to os cache dir by @redaphid in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F126\n* Add bot token (xoxb) support by @sanghoon in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F117\n\n## New Contributors\n* @mattppal made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F116\n* @tp-beer made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F122\n* @ljagiello made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F134\n* @redaphid made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F126\n* @sanghoon made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F117\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.26...v1.1.28","2025-12-09T22:19:17",{"id":166,"version":167,"summary_zh":168,"released_at":169},112461,"v1.1.26","## What's Changed\n* fix pagination by @wllmtrng in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F106\n* Fix filter by private channel id, and private channel name by @wllmtrng in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F107\n* Fixed #110. Removed chans variable by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F113\n\n## New Contributors\n* @wllmtrng made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F106\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.25...v1.1.26","2025-10-11T11:02:13",{"id":171,"version":172,"summary_zh":173,"released_at":174},112462,"v1.1.25","## What's Changed\n* MCP Trust Score by @Matvey-Kuk in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F85\n* feat: add reactions payload to messages by @koladev32 in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F91\n* fix: serialize getting message types to avoid slack rate limits by @orinciog in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F97\n* Fix newline preservation in text processing by @Graf2242 in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F99\n* Update cursor links by @budnik in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F104\n* Implement Streamable HTTP transport by @Graf2242 in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F102\n* docs: correct typo \"Useed\" in comment by @ztNIE in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F103\n\n## New Contributors\n* @Matvey-Kuk made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F85\n* @koladev32 made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F91\n* @Graf2242 made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F99\n* @budnik made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F104\n* @ztNIE made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F103\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.24...v1.1.25","2025-09-28T18:27:50",{"id":176,"version":177,"summary_zh":178,"released_at":179},112463,"v1.1.24","## What's Changed\r\n* automatically generate version for dxt extension by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F70\r\n* Update 03-configuration-and-usage.md by @dhamariT in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F75\r\n* fixed timestamps issue misinterpretation by LLMs by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F76\r\n* read messages from bots and webhooks by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F77\r\n* Update Docker install docs by @konovalov-nk in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F83\r\n* Fixed channels fetch using xoxp in Enterprise Grid by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F84\r\n\r\n## New Contributors\r\n* @dhamariT made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F75\r\n* @konovalov-nk made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F83\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.23...v1.1.24","2025-08-15T09:16:56",{"id":181,"version":182,"summary_zh":183,"released_at":184},112464,"v1.1.23","## Security Release v1.1.23\r\n\r\nThis might be a \"breaking\" release of your workflows as it disables unfurling behavior by-default.\r\n\r\nYou may enable it back a) in full or b) (recommended) for specified hosts using new env variable `SLACK_MCP_ADD_MESSAGE_UNFURLING`. The following values are valid:\r\n\r\n- Fully disabled: ` ` (empty, no whitespace), `no`, `0` or `false`\r\n- Fully enabled: `yes`, `1` or `true`\r\n- RECOMMENDED - Specified hosts: `google.com,github.com,...`\r\n\r\n* Unfurling by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F69\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.22...v1.1.23\r\n\r\n## What's Changed in v1.1.22\r\n\r\n* Fix: Redirect console logs to stderr for stdio transport compatibility by @clement-izard in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F65\r\n* Send fake TLS handshake to avoid fingerprinting detection by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F66\r\n\r\nFor Slack Enterprise Grid has been developed a new layer of \"anti-protection\". In case you are getting instant log-outs then make sure:\r\n1. set `SLACK_MCP_USER_AGENT` environment variable to match your browser's User-Agent string from where you extracted xoxc and xoxd\r\n2. enable `SLACK_MCP_CUSTOM_TLS` to enable custom TLS-handshakes to start to look like a real browser. ","2025-07-26T19:46:45",{"id":186,"version":187,"summary_zh":188,"released_at":189},112465,"v1.1.22","## What's Changed\r\n* Fix: Redirect console logs to stderr for stdio transport compatibility by @clement-izard in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F65\r\n* Send fake TLS handshake to avoid fingerprinting detection by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F66\r\n\r\nFor Slack Enterprise Grid has been developed a new layer of \"anti-protection\". In case you are getting instant log-outs then make sure:\r\n1. set `SLACK_MCP_USER_AGENT` environment variable to match your browser's User-Agent string from where you extracted xoxc and xoxd\r\n2. enable `SLACK_MCP_CUSTOM_TLS` to enable custom TLS-handshakes to start to look like a real browser. \r\n\r\n## New Contributors\r\n* @clement-izard made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F65\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.21...v1.1.22","2025-07-25T16:42:36",{"id":191,"version":192,"summary_zh":193,"released_at":194},112466,"v1.1.21","## What's Changed\n* Added default numeric and string limits by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F54\n* Slack connect by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F56\n* mark conversations as read after message posting by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F58\n* fetch message by full slack url by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F59\n* Added basic layout for integration tests by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F60\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.20...v1.1.21","2025-07-22T07:19:53",{"id":196,"version":197,"summary_zh":198,"released_at":199},112467,"v1.1.20","## What's Changed\n* Update docs \u002F Cursor installer by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F47\n* Improved date parsing, adding tests by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F50\n* Indicate that sync process (users, channels) is in process by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F51\n* Added MCP Resources by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F52\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.19...v1.1.20","2025-07-16T09:44:07",{"id":201,"version":202,"summary_zh":203,"released_at":204},112468,"v1.1.19","## What's Changed\n* Build multi-platform Docker image to be able to run on Mac by @weekens in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F43\n* [#27] DXT Extension by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F45\n\n## New Contributors\n* @weekens made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F43\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.18...v1.1.19","2025-07-12T15:15:57",{"id":206,"version":207,"summary_zh":208,"released_at":209},112469,"v1.1.18","## What's Changed\r\n* document SLACK_MCP_USERS_CACHE and SLACK_MCP_CHANNELS_CACHE by @kym6464 in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F37\r\n* (fix) Fixed environment variables for host and port and default values by @failattu in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F39\r\n* New tools: Add Message & Search by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F36\r\n\r\n## For OAuth users with xoxp tokens\r\n\r\nOld scopes:\r\n\r\n - `channels:history` - View messages in public channels\r\n - `channels:read` - View basic information about public channels\r\n - `groups:history` - View messages in private channels\r\n - `groups:read` - View basic information about private channels\r\n - `im:history` - View messages in direct messages.\r\n - `im:read` - View basic information about direct messages\r\n - `mpim:history` - View messages in group direct messages\r\n - `mpim:read` - View basic information about group direct messages\r\n - `users:read` - View people in a workspace.\r\n\r\nNew scopes to be added: \r\n - `im:write` - Start direct messages with people on a user’s behalf (new since `v1.1.18`) - required for add_message tool\r\n - `mpim:write` - Start group direct messages with people on a user’s behalf (new since `v1.1.18`) - required for add_message tool\r\n - `chat:write` - Send messages on a user’s behalf. (new since `v1.1.18`) - required for add_message tool\r\n - `search:read` - Search a workspace’s content. (new since `v1.1.18`) - required for search_messages tool\r\n\r\n## New Contributors\r\n* @kym6464 made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F37\r\n* @failattu made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F39\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.17...v1.1.18","2025-07-09T22:44:49",{"id":211,"version":212,"summary_zh":213,"released_at":214},112470,"v1.1.17","## What's Changed\n* Add logic to improve fetching channels list on slack workspaces with enterprise setting by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F33\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.16...v1.1.17","2025-07-03T19:26:33",{"id":216,"version":217,"summary_zh":218,"released_at":219},112471,"v1.1.16","## What's Changed\n* Possibility to redefine user agent by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F30\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.15...v1.1.16","2025-06-27T10:08:09",{"id":221,"version":222,"summary_zh":223,"released_at":224},112472,"v1.1.15","## What's Changed\n* feat: add SLACK_MCP_XOXP_TOKEN user OAuth authentication support by @HeroSizy in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F23\n* readme improvements by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F26\n\n## New Contributors\n* @HeroSizy made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F23\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.14...v1.1.15","2025-06-25T19:41:15",{"id":226,"version":227,"summary_zh":228,"released_at":229},112473,"v1.1.14","## What's Changed\n* make limit optional for channels_list by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F22\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.13...v1.1.14","2025-06-21T18:09:51",{"id":231,"version":232,"summary_zh":233,"released_at":234},112474,"v1.1.13","## What's Changed\n* Disable by default system activity messages like channel_join by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F17\n* Resolve html, markdown and slack links correctly by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F18\n* For direct messages, display username in conversation list by @orinciog in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F19\n* Сhannels maps to resolve conversations.list by channel name by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F20\n\n## New Contributors\n* @orinciog made their first contribution in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F19\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.12...v1.1.13","2025-06-17T11:32:45",{"id":236,"version":237,"summary_zh":238,"released_at":239},112475,"v1.1.12","## What's Changed\n* fix for channels_list, added limit check on maximum limit value by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F14\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.11...v1.1.12","2025-06-13T07:33:26",{"id":241,"version":242,"summary_zh":243,"released_at":244},112476,"v1.1.11","## What's Changed\n* Added conversations_replies tool by @korotovsky in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F13\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.10...v1.1.11","2025-06-11T19:35:11",{"id":246,"version":247,"summary_zh":248,"released_at":249},112477,"v1.1.10","## What's Changed\n* more flexible params for channels_list by @harrycis in https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fpull\u002F10\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkorotovsky\u002Fslack-mcp-server\u002Fcompare\u002Fv1.1.8...v1.1.10","2025-06-07T19:43:07"]