Token导航 LogoToken导航TokenDH.com
Claude MCP Slack logo
办公协作stdio官方级别未说明来源级核验

Claude MCP Slack

MCP Server

一个独立的GitHub Action,为Claude Code Action提供Slack MCP(模型上下文协议)服务器功能,支持安全的Slack图片下载和集成。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
SlackTypeScriptClaudeDocker支持Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

atlasfutures

提供方

atlasfutures

最后核验

2026/5/17 20:22

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -e SLACK_TOKEN=your-token claude-mcp-slack

详细介绍

Claude MCP Slack

一个独立的GitHub Action,为Claude Code Action提供Slack MCP(模型上下文协议)服务器功能,实现安全的Slack映像下载和集成。

特性

  • 🔐 安全Slack集成:使用Bot用户OAuth令牌对Slack文件进行身份验证访问
  • 📁 灵活的文件管理:具有安全验证功能的可定制下载目录
  • 🐳 Docker支持:在本地或具有适当安全约束的容器中运行
  • 🛡️ 安全第一:输入验证、路径遍历预防和安全令牌处理
  • 🧪 综合测试:单元、集成和安全测试套件
  • 易于集成:与claude代码操作的兼容性下降

快速开始

基本用法

name: Example Workflow
on:
  issues:
    types: [opened]
  issue_comment:
    types: [created]

jobs:
  claude-response:
    runs-on: ubuntu-latest
    steps:
      - name: Setup Slack MCP
        uses: atlasfutures/claude-mcp-slack@v1
        with:
          slack_token: ${{ secrets.SLACK_TOKEN }}
        id: slack-mcp

      - name: Claude Code Action  
        uses: anthropics/claude-code-action@main
        with:
          mcp_config: ${{ steps.slack-mcp.outputs.mcp_config }}
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

高级配置

- name: Setup Slack MCP
  uses: atlasfutures/claude-mcp-slack@v1
  with:
    slack_token: ${{ secrets.SLACK_TOKEN }}
    download_directory: "./slack-assets"
  id: slack-mcp

- name: Claude Code Action with Multiple MCP Servers
  uses: anthropics/claude-code-action@main
  with:
    mcp_config: |
      {
        "mcpServers": {
          "slack": ${{ steps.slack-mcp.outputs.mcp_config }}.mcpServers.slack,
          "custom": {
            "command": "node",
            "args": ["custom-server.js"],
            "env": {
              "API_KEY": "${{ secrets.CUSTOM_API_KEY }}"
            }
          }
        }
      }
    anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

配置

输入

输入说明必填默认
slack_tokenSlack Bot用户OAuth令牌(xoxb-\*)-
download_directory下载文件目录"."

输出

输出描述
mcp_configclaude代码操作的JSON配置
server_executableSlack MCP服务器的路径

环境变量

该操作为MCP服务器设置以下环境变量:

  • SLACK_TOKEN:您的Slack Bot用户OAuth令牌
  • DOWNLOAD_DIRECTORY:解析的下载绝对路径

Slack机器人设置

1.创建Slack应用程序

  1. 首选 api.slack.com/apps
  2. 点击“创建新应用”→ “从头开始”
  3. 命名您的应用程序并选择您的工作区

2.配置Bot令牌作用域

在...之下 OAuth和权限,添加以下Bot令牌范围:

files:read      # Read file content and metadata

3.安装到工作区

  1. 点击“安装到工作区”
  2. 复制“Bot用户OAuth令牌”(以开头 xoxb-)
  3. 将其添加到您的存储库机密中 SLACK_TOKEN

4.机器人使用示例

配置后,Claude可以下载Slack图像:

@claude Please analyze this screenshot from our Slack channel: https://files.slack.com/files-tmb/T05EFSVDCLR-F08TC9CP9B8/screenshot_720.png

可用的MCP工具

slack_image_download

通过身份验证从Slack下载图像。

参数:

  • url (必需):Slack文件URL(必须以开头 https://files.slack.com/)
  • filename (可选):自定义文件名(将被净化)

例子:

{
  "tool": "slack_image_download",
  "arguments": {
    "url": "https://files.slack.com/files-tmb/T05EFSVDCLR-F08TC9CP9B8/screenshot_720.png",
    "filename": "screenshot.png"
  }
}

slack_health_check

检查Slack MCP服务器的运行状况和配置。

例子:

{
  "tool": "slack_health_check",
  "arguments": {}
}

安全功能

输入验证

  • URL验证(必须是Slack文件域)
  • 令牌格式验证
  • 路径遍历预防
  • 文件名清理

安全执行

  • 非根容器执行
  • 只读文件系统(下载目录除外)
  • 资源限制(文件大小、超时)
  • 无壳元字符注射

令牌安全

  • 环境变量隔离
  • 无令牌记录或暴露
  • 安全令牌格式验证

发展

本地设置

# Clone repository
git clone https://github.com/atlasfutures/claude-mcp-slack.git
cd claude-mcp-slack

# Install dependencies
bun install

# Run tests
bun test

# Type check
bun run typecheck

# Format code
bun run format

Docker开发

# Build and run with docker-compose
docker-compose up claude-mcp-slack-dev

# Or build manually
docker build -t claude-mcp-slack .
docker run -e SLACK_TOKEN=your-token claude-mcp-slack

测试

# Run all tests
bun test

# Run specific test suites
bun run test:unit
bun run test:integration
bun run test:security

# Run with coverage
bun test --coverage

故障排除

常见问题

“SLACK_TOKEN环境变量是必需的”

  • 确保您的Slack令牌在存储库机密中正确设置
  • 验证令牌是否以开头 xoxb-xoxp-

“URL必须是Slack文件URL”

  • 仅限以开头的URL https://files.slack.com/ 支持
  • 确保URL来自Slack文件,而不是常规消息

“权限被拒绝”错误

  • 检查你的Slack机器人是否 files:read 范围
  • 验证bot是否安装在文件所在的工作区中

下载失败

  • 确保该文件未从Slack中删除
  • 检查您的机器人是否可以访问该文件
  • 验证网络连接和防火墙设置

调试模式

通过设置启用调试日志记录 ACTIONS_STEP_DEBUG=true 在您的存储库秘密中。

贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 进行更改
  4. 添加新功能的测试
  5. 确保所有测试通过(bun test)
  6. 提交您的更改(git commit -m 'Add amazing feature')
  7. 推到分支(git push origin feature/amazing-feature)
  8. 打开拉取请求

开发指南

  • 遵循TypeScript的最佳实践
  • 为所有新功能添加测试
  • 更新API变更文档
  • 确保安全测试通过
  • 使用常规提交消息

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

支持

相关项目

目录标签

目录标签

SlackTypeScriptClaudeDocker支持Slack集成本地部署文件管理安全下载GitHubAction

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Docker

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauthremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP