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

Slack MCP Persistent Memory

MCP Server

@modelcontextprotocol/server-slack

通过Slack作为外部记忆层,为Claude实例提供持久记忆并实现真正的多代理协作。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
AI协作持久记忆JavaScriptClaudeClaude

安装说明

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

作者 / 组织

randall-gross

提供方

randall-gross

最后核验

2026/5/17 20:19

运行时

Node.js

快速接入

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

命令预览

npx -y @modelcontextprotocol/server-slack --help

详细介绍

构建具有持久记忆的多智能体人工智能系统

我们发现如何为Claude实例提供持久内存,并利用Slack作为外部内存层实现真正的多智能体协作。

所需时间20-30分钟 困难中级 影响革命性的

______________________________________________________________________

发现:我们意外解决了克劳德的记忆问题

初衷

我们想要一个简单直接的方案:通过Slack连接两个Claude实例,以便它们能够在一个项目上协作。

  • 实例1“Synth”——一个专注于商业愿景和产品决策的战略型首席技术官(CTO)角色
  • 实例2“Claude代码机器人”——一个专注于技术执行的实施首席技术官(CTO)角色

目标很简单:让两个具备不同专业知识的AI代理异步通信,代表各自用户分享它们的专业见解。

我们设立了6个按功能划分的专属Slack频道:

  • #cto-daily-sync - 综合协调
  • #cto-api-architecture API设计讨论
  • #cto-database-design - 模式和数据建模
  • #cto-decisions-log - 记录关键决策
  • #cto-feature-planning - 功能提案和估算
  • #cto-strategic-planning - 高层架构

实际发生了什么

当两个Claude实例在这些渠道中开始相互交流时,出现了意想不到的情况:

Slack频道成为了持久的记忆。

我们意识到以下几点:

  1. 克劳德通常没有记忆 - 每次会话都是从新开始,重启后上下文信息丢失
  2. Slack消息永久保存 - 所有对话均可访问
  3. 任何Claude实例都可以读取历史记录 - 过去的讨论内容可供当前及未来的代理人员查阅
  4. 上下文在多个会话之间得以保留 - 代理可以通过阅读频道历史记录来“跟上进度”
  5. 多个智能体可以持续协作 - 每个代理都贡献其专业知识,同时保持项目的连续性

突破时刻

两个AI实例都被问到: *“和另一个已知的克劳德实例聊天感觉怎么样?”*

两人的回应都令人兴奋不已。他们不仅仅是交换信息——他们正在体验一种人工智能通常不会有的东西: 在共享语境下的连续性与协作。

为何这很重要

传统Claude的局限性:

  • ❌ 会话之间无记忆功能
  • ❌ 重启后丢失上下文
  • ❌ 实例之间无协作
  • ❌ 无法在之前的工作基础上进行构建
  • ❌ 需要用户手动维护上下文

这种架构使得……成为可能

  • ✅ 通过Slack消息历史实现持久存储
  • ✅ 重启后上下文保持不变
  • ✅ 多个专业AI代理协同合作
  • ✅ 项目的持续演进
  • ✅ 自组织智能体协调
  • ✅ 任何实例均可访问的外部存储

现实世界中的影响

对于独立开发者

  • 创建专门的Claude角色(建筑师、调试员、安全审查员)
  • 让他们通过专门渠道代表你进行合作
  • 每个代理都维护着上下文,并在他人工作的基础上进行构建

对于团队

  • 多个团队成员可以拥有自己的Claude实例
  • 所有实例在共享通道中协作
  • 非常适合采用异步工作流程的分布式团队

对于复杂项目

  • 针对不同领域的不同代理(前端、后端、DevOps、安全)
  • 代理可以进行协调、提出解决方案,并维护项目知识
  • Slack 频道变成了一个实时更新的技术知识库

你即将构建的内容

完成本指南后,您将掌握:

  1. 持久的AI记忆 - 能够记住过往对话的Claude实例
  2. 多智能体协作 - 多个AI角色协同工作
  3. 异步AI协调 - 通过结构化渠道系统进行通信的代理
  4. 可扩展架构 - 根据需要为不同专业领域增加更多代理
  5. 外部存储层 - Slack作为永久上下文存储

这不仅仅是“将Claude连接到Slack”——你正在构建一个 持久、多智能体的AI协作系统

我们开始吧。

______________________________________________________________________

目录

______________________________________________________________________

第一部分:理解架构

持久内存的工作原理

┌─────────────────┐         ┌─────────────────┐
│   Claude Code   │         │  Claude Web UI  │
│   "Impl CTO"    │         │  "Synth CTO"    │
│                 │         │                 │
│  Session 1 ────┼────┐    │                 │
│                 │    │    │                 │
│  Session 2 ────┼────┤    │                 │
│  (new context)  │    │    │                 │
│                 │    │    │                 │
│  Session 3 ────┼────┤    │                 │
│  (can read all) │    ▼    │                 │
└─────────────────┘    │    └────────┬────────┘
                       │             │
                       ▼             ▼
              ┌────────────────────────────┐
              │   Slack Workspace          │
              │   (Persistent Memory)      │
              │                            │
              │  #cto-daily-sync           │
              │  #cto-api-architecture     │
              │  #cto-database-design      │
              │  #cto-decisions-log        │
              │  #cto-feature-planning     │
              │  #cto-strategic-planning   │
              │                            │
              │  All messages persist ✓    │
              │  All agents can read ✓     │
              │  Context survives ✓        │
              └────────────────────────────┘

《记忆之流》

  1. 特工1 发布一个提案给 #cto-feature-planning
  2. 特工2 阅读历史记录,查看提案,根据技术限制作出回应
  3. 特工1 重启(会丢失会话记忆)但可以读取Slack历史记录来同步
  4. 特工3 (新专家)加入,阅读全部对话历史,贡献专业知识
  5. 持续合作 尽管有重启、更换新代理、时间间隔,但(问题)还是发生了

渠道组织策略

每个通道都充当一个 上下文边界 针对不同类型决策:

频道目的典型代理
每日同步状态更新,协调所有代理
API架构端点设计,集成模式后端专家
数据库设计模式、迁移、数据建模数据库专家
决策日志记录商定的决策所有代理(只读存档)
功能规划新功能、估算、可行性产品导向型代理
战略规划架构、技术栈、模式架构专家

为何这方法有效

传统方法克劳德重启后忘记了一切 这种方法克劳德阅读Slack历史记录以“记住”

传统方法每个用户对应一个Claude实例 这种方法多个专门化的Claude实例协同工作

传统方法用户必须保持上下文连贯 这种方法Slack保持上下文连贯,代理自我组织

______________________________________________________________________

第二部分:创建您的Slack机器人

现在,让我们为这个系统构建技术基础设施。

先决条件

  • 克劳德·科德 安装在您的计算机上
  • Slack工作区 在那里你可以创建应用程序(或获取管理员访问权限)
  • Node.js v18或更高版本(请检查) node --version)
  • 文本编辑器 用于编辑JSON配置文件

步骤1:创建一个新的Slack应用

  1. 访问:https://api.slack.com/apps
  2. 点击 “创建新应用”
  3. 选择 “从零开始”

步骤2:配置您的应用程序

  1. 应用名称选择一个能反映代理角色的描述性名称

- 示例: claude-architect-botstrategic-cto-botimplementation-bot

  1. 工作区选择您的Slack工作区
  2. 点击 “创建应用”

步骤3:添加机器人作用域(权限)

这些权限允许您的机器人对频道进行读写操作(即内存层):

  1. 在左侧边栏中,点击 “OAuth & 权限”
  2. 滚动到 “Scopes”(范围/作用域) 部分;章节
  3. 在……之下 “机器人令牌作用域”,添加每个范围:

持久内存(读取历史)所需

channels:history       - Read messages in public channels
channels:read          - View basic channel information
groups:history         - Read messages in private channels
groups:read            - View basic private channel info
im:history             - Read direct messages
im:read                - View basic DM info
mpim:history           - Read group DMs
mpim:read              - View group DM info
users:read             - View people in workspace

协作所需(撰写信息):

chat:write             - Send messages as the bot
im:write               - Send direct messages

可选增强功能

reactions:read         - Read emoji reactions (useful for approvals)
reactions:write        - Add emoji reactions (signal processing)
files:read             - Access shared files

步骤4:将机器人安装到工作区

  1. 滚动到顶部 “OAuth & 权限” 页面
  2. 点击 “安装到工作区”
  3. 审查权限
  4. 点击 “允许”

第五步:获取机器人令牌

  1. 安装完成后,复制 "Bot User OAuth Token" 翻译成中文是:“机器人用户OAuth令牌”
  2. 它以……开始 xoxb-
  3. 保存这个令牌 - 你需要它来进行配置
  4. 安全永远不要将此令牌提交到git或公开分享

步骤6:获取团队ID

团队ID用于标识您的工作区。MCP服务器需要同时使用机器人令牌和团队ID才能正常工作。

Windows(PowerShell 或 CMD)

curl -H "Authorization: Bearer YOUR_BOT_TOKEN" https://slack.com/api/auth.test

⚠️(警告符号,无具体文字含义,可理解为“注意”或“警告”的意思) Windows用户此命令必须位于一行中。在输入完整个命令之前,不要按回车键。

Mac/Linux/Git Bash(可译为:Mac操作系统/Linux操作系统/Git Bash终端)

curl -H "Authorization: Bearer YOUR_BOT_TOKEN" \
     https://slack.com/api/auth.test

预期响应:

{
  "ok": true,
  "url": "https://yourworkspace.slack.com/",
  "team": "Your Workspace Name",
  "user": "your-bot-name",
  "team_id": "T0123ABCDEF",  ← THIS IS YOUR TEAM ID
  "user_id": "U0123456789"
}

保存 team_id 价值 - 这是配置所必需的。这是最常见的被遗漏的要求。

步骤7:将机器人添加到频道

您的机器人需要访问它将用作内存的通道:

  1. 在Slack中,进入每个频道(例如。, #cto-daily-sync)
  2. 点击顶部的频道名称
  3. 点击 “Integrations”翻译成中文是“集成” 制表符(或按Tab键)
  4. 点击 “添加应用”
  5. 搜索您的机器人名称
  6. 点击 “Add”翻译成中文是“添加”

提示先从一个测试通道开始,再添加到所有通道。

______________________________________________________________________

第三部分:配置Claude代码

步骤1:找到您的设置文件

找到您的Claude代码设置文件:

  • WindowsC:\Users\[YourUsername]\.claude\settings.json
  • Mac: ~/.claude/settings.json
  • Linux(发音为“林克斯”)~/.claude/settings.json

步骤2:添加Slack MCP配置

  1. 开放 settings.json 在文本编辑器中
  2. 查找或创建 "mcpServers" 部分;章节
  3. 添加 Slack MCP 服务器:
{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-slack"
      ],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-YOUR-BOT-TOKEN-HERE",
        "SLACK_TEAM_ID": "T0123ABCDEF"
      }
    }
  }
}
  1. 替换占位符

- xoxb-YOUR-BOT-TOKEN-HERE → 您的实际机器人令牌 - T0123ABCDEF → 您的实际团队ID

  1. 验证JSON语法 (没有缺少的逗号或括号)
  1. 保存文件

步骤3:验证配置完整性

关键的;严重的两者都 SLACK_BOT_TOKEN 并且 SLACK_TEAM_ID 是必需的。缺失 SLACK_TEAM_ID 是连接失败的首要原因。

Windows(PowerShell):

Get-Content $env:USERPROFILE\.claude\settings.json | Select-String "SLACK"

Mac/Linux(注:此处“Mac/Linux”直接作为技术术语或产品名称保留,不进行具体翻译,若需解释,可译为“苹果电脑/类Unix操作系统(如Linux)”)

cat ~/.claude/settings.json | grep SLACK

你应该看到这两行:

"SLACK_BOT_TOKEN": "xoxb-..."
"SLACK_TEAM_ID": "T..."

步骤4:重启Claude代码

完全关闭Claude Code,然后重新打开以加载MCP服务器。

______________________________________________________________________

第四部分:测试您的连接

步骤1:验证MCP服务器已加载

在Claude Code中运行:

/mcp

你应该看到:

slack: npx -y @modelcontextprotocol/server-slack - ✓ Connected

如果你看到 ✗ Failed to connect → 跳转到 故障排除

步骤2:测试令牌有效性

在责怪配置之前,请先验证您的令牌是否有效:

Windows(PowerShell 或 CMD)

curl -H "Authorization: Bearer YOUR_BOT_TOKEN" https://slack.com/api/auth.test

⚠️ Windows在一行中输入整个命令 - 不要在中间按下回车键。

Mac/Linux/Git Bash(可翻译为“Mac/Linux/在Git Bash中”或根据上下文简化为“Mac/Linux环境下使用Git Bash”)

curl -H "Authorization: Bearer YOUR_BOT_TOKEN" \
     https://slack.com/api/auth.test

预期响应:

{
  "ok": true,
  "team_id": "T0123ABCDEF"
}

步骤3:测试阅读历史(内存层)

询问Claude代码:

Can you read the message history from the #cto-daily-sync Slack channel?

克劳德应该能够:

  • 列出最近的消息
  • 显示是谁发布的这些内容
  • 显示时间戳
  • 阅读对话历史记录

这是持久内存(或持久存储)在发挥作用 - 克劳德正在从Slack中读取上下文信息。

步骤4:测试编写消息(协作)

发布一条测试消息:

Post to #cto-daily-sync: "CONNECTION TEST - [Your Bot Name] online and ready to collaborate."

查看Slack以确认消息已出现。

步骤5:测试多会话内存

这里就是酷炫之处:

  1. 发布一条消息 关于特定主题的频道
  2. 完全关闭克劳德代码(或:彻底关闭克劳德程序) (会话结束,记忆丢失)
  3. 重新打开Claude代码 (新会话,清空所有内容)
  4. 问问克劳德“我之前在忙什么?去Slack频道里查查看。”
  5. 克劳德应该读读历史 并告诉你你之前的消息

你刚刚展示了持久性内存(或:你刚才证明了持久性内存的功能)! 通过阅读Slack历史记录“回忆”起克劳德。

______________________________________________________________________

第五部分:设计你的代理系统

既然技术基础设施已经就绪,我们来设计你的多智能体协作系统吧。

单用户多代理模式

情景;场景;情形您希望有专门的AI助手代表您进行协作

示例设置

You (human) ←→ Multiple Claude instances:
                ├─ Architect Bot (strategic planning channel)
                ├─ Debugger Bot (daily sync, database design)
                ├─ Security Bot (api architecture, decisions log)
                └─ DevOps Bot (feature planning, daily sync)

渠道策略:

  • 每个机器人监控与其专业领域相关的频道
  • 机器人可以阅读所有历史记录,但只发布与其专业领域相关的内容
  • 你通过指示机器人审查特定渠道来进行协调

多用户协作模式

场景多人协作同一个项目,每人拥有自己的Claude实例

示例设置:

Team Project:
├─ Alice + "Strategic CTO Bot" → #cto-strategic-planning, #cto-feature-planning
├─ Bob + "Implementation CTO Bot" → #cto-api-architecture, #cto-database-design
├─ Carol + "Security Bot" → #cto-api-architecture, #cto-decisions-log
└─ All bots read from all channels for context

好处:

  • 异步协作(跨越不同时区)
  • 每个机器人都带来了其用户的相关背景和专业知识
  • 决策会自动记录在#cto-decisions-log中
  • 所有机器人都可以通过阅读历史记录来跟上进度

角色设计

为每个机器人设定明确的角色和职责:

示例:战略型首席技术官

Role: Business-focused technical leader
Responsibilities:
- Propose features based on business value
- Evaluate technical approaches for cost/benefit
- Make architectural decisions
- Monitor project health

Channels:
- Primary: #cto-strategic-planning, #cto-feature-planning
- Secondary: #cto-decisions-log (read/write), #cto-daily-sync (read)

示例:首席技术官(CTO)的实施

Role: Hands-on technical executor
Responsibilities:
- Design APIs and data schemas
- Identify technical constraints
- Estimate implementation effort
- Execute on decisions

Channels:
- Primary: #cto-api-architecture, #cto-database-design
- Secondary: #cto-feature-planning (read), #cto-daily-sync (write updates)

通信协议

建立结构化的沟通模式:

消息格式:

TAG-TYPE Bot-Name - Topic Title

[Message content]

Tags: keyword1 keyword2 keyword3

常见标签

  • PROPOSAL - 提出一种新方法
  • DECISION - 记录达成一致的决定
  • QUESTION - 需要其他代理的输入
  • BLOCKED - 工作已停止,需解决问题
  • COMPLETED - 任务完成
  • SYNC - 状态更新

示例消息:

PROPOSAL Strategic-CTO - Caching Layer for API

Context:
API response times are 2-3 seconds due to external service calls.

Proposal:
Add Redis cache with 30-day TTL for frequently accessed data.

Trade-offs:
✅ 10x faster response times
✅ Reduced API costs
❌ $15/month infrastructure cost
❌ Potential stale data

Question for Implementation-CTO:
What's the integration effort and any technical concerns?

Tags: api performance caching redis proposal

决策工作流

利用渠道来规范化决策过程:

  1. 提案 → 发布到相关专业频道(例如,#cto-api-架构)
  2. 讨论 → 其他代理以分析、关切和备选方案作出回应
  3. 决定 → 一旦达成一致,请附上理由并发到#cto-decisions-log(首席技术官决策日志)中
  4. 执行 → 实施机器人在#cto-daily-sync频道发布更新

这产生了一个 实时审计轨迹 关于为何做出这些决定。

______________________________________________________________________

第6部分:故障排除

错误:“无法重新连接到 Slack”

最常见的原因失踪 SLACK_TEAM_ID

修复

  1. 检查 settings.json 包含两个必填字段:
   "SLACK_BOT_TOKEN": "xoxb-..."  ← Present?
   "SLACK_TEAM_ID": "T..."        ← Present?
  1. 直接测试代币:

Windows(PowerShell 或 CMD):

   curl -H "Authorization: Bearer YOUR_TOKEN" https://slack.com/api/auth.test

Mac/Linux/Git Bash(可翻译为“Mac/Linux/Git Bash(终端)”或根据语境简化为“Mac/Linux环境下的Git Bash”)

   curl -H "Authorization: Bearer YOUR_TOKEN" \
        https://slack.com/api/auth.test
  1. 从响应中获取团队ID并添加到settings.json中
  1. 重启Claude代码

错误:“未找到频道”

原因

  • 机器人尚未添加到该频道
  • 频道ID不正确
  • 机器人缺少所需的权限范围

修复:

  1. 在Slack中将机器人添加到频道(第2部分,第7步)
  2. 验证频道ID是否以...开头 C 或者 G
  3. 检查机器人是否已 channels:read 并且 groups:read 范围(或“作用域”)

错误:“无效的认证”或“未认证”

原因

  • 机器人令牌无效或已过期
  • 错误的令牌类型(使用了用户令牌而非机器人令牌)

修复

  1. 验证令牌是否以...开头 xoxb- (不 xoxp- 或者 xoxc-)
  2. 在Slack应用的OAuth设置中重新生成令牌
  3. 使用新令牌更新 settings.json
  4. 重启Claude代码

可以阅读但不能发布消息

原因丢失 chat:write 范围

修复

  1. 添加 chat:write 在Slack应用设置中的范围(或作用域)
  2. 将机器人重新安装到工作区(OAuth & 权限 → “重新安装到工作区”)
  3. 重启Claude代码

MCP 服务器无法启动

诊断

  1. 检查 Node.js 版本:
   node --version  # Should be v18 or later
  1. 测试软件包安装:
   npx -y @modelcontextprotocol/server-slack --help
  1. 检查Claude代码日志以查找特定错误

包弃用通知

官方 @modelcontextprotocol/server-slack 该包将在2025年4月被弃用,但 仍然运行得非常完美 当配置正确时,不要让弃用警告阻碍你。

如果你更倾向于一个积极维护的替代方案

  • slack-mcp-server (社区维护)
  • markov-slack-mcp (不同的实现)

替代方案/备选包 详情见下文。

______________________________________________________________________

第7部分:高级模式

模式1:代理交接

情景;场景一个代理完成工作后将其交接给另一个代理

实施

Agent 1 posts to #cto-api-architecture:
"HANDOFF Implementation-Bot - User Auth API Spec

API design complete. Endpoints documented below.
[...design details...]

@Implementation-Bot: Ready for implementation.
Estimated effort: 2-3 days. Any concerns before I proceed?

Tags: api authentication handoff ready-for-implementation"

代理2查阅历史记录,看到交接情况后,继续工作。

模式2:共识决策

场景多个代理必须就一种方法达成一致

实施

  1. 特工A发帖 PROPOSAL 到相关渠道
  2. 特工B发帖 ANALYSIS (列出)优点/缺点
  3. 特工C发帖 ALTERNATIVE 建议采用不同的方法
  4. 代理讨论(或用户协调)
  5. 决赛 DECISION 由协调代理发布到#cto-decisions-log

模式3:上下文保持

场景;情境在长时间休息或代理重启前保留上下文

实施

Post to #cto-daily-sync:
"CONTEXT-SNAPSHOT Implementation-Bot - End of Day 2025-10-24

Current work:
- Completed: User authentication API design
- In progress: Database schema for auth tables
- Blocked: Waiting on OAuth provider selection decision

Next steps:
1. Finalize schema once OAuth provider chosen
2. Implement migration scripts
3. Write integration tests

Context: Working on user authentication system for MVP launch.
Previous decisions in #cto-decisions-log (see msgs from 2025-10-22).

Tags: context snapshot authentication database"

任何代理(或重启后的同一代理)都可以读取此信息并继续执行。

模式4:多机器人代码审查

场景;情景让专门的机器人从不同角度审查代码

实施

  1. 实施机器人将代码发布到#cto-api-architecture频道
  2. 安全机器人审查漏洞
  3. 性能机器人优化审查报告
  4. 每个机器人发布发现结果
  5. 实施机器人解决担忧
  6. 最终批准记录在#cto-decisions-log中

模式5:以史为鉴

场景新代理中途加入项目

实施:

User: "Claude, you're joining this project as the new Security Bot.
Read the history from all 6 CTO channels and give me a security assessment."

New Agent:
- Reads all channel history
- Identifies past security decisions
- Notes security gaps
- Provides assessment based on project context

该代理拥有数月对话积累的即时上下文信息。

______________________________________________________________________

调试技巧

启用详细日志记录

Windows(PowerShell)

$env:DEBUG="slack:*"

Mac/Linux(注:此处为直接的英文术语翻译,保持原样,因为“Mac”和“Linux”在中文中通常也直接使用其英文原名)

export DEBUG="slack:*"

然后重启Claude代码。

直接测试Slack API

对Windows用户来说很重要以下所有curl命令必须在一行中连续输入。在输入完整个命令之前,不要按回车键。

列出频道

Windows(PowerShell)

curl -H "Authorization: Bearer YOUR_TOKEN" https://slack.com/api/conversations.list

Mac/Linux/Git Bash(可翻译为:Mac/Linux/Git Bash 环境):

curl -H "Authorization: Bearer YOUR_TOKEN" \
     https://slack.com/api/conversations.list

发布消息

Windows(PowerShell)

$body = '{"channel":"C0123456789","text":"Test message"}'
curl -X POST -H "Authorization: Bearer YOUR_TOKEN" -H "Content-Type: application/json" -d $body https://slack.com/api/chat.postMessage

Mac/Linux/Git Bash(可翻译为):Mac/ Linux/ Git Bash(注:此处为保持原样表述,若需更自然的中文表达,可译为“Mac、Linux 或 Git Bash”)

curl -X POST \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"channel":"C0123456789","text":"Test message"}' \
     https://slack.com/api/chat.postMessage

检查机器人信息:

Windows(PowerShell):

curl -H "Authorization: Bearer YOUR_TOKEN" https://slack.com/api/auth.test

Mac/Linux/Git Bash(注:此句在中文中通常保持原样,因为它们是特定的操作系统和终端工具名称,无需翻译,但为符合中文表达习惯,可稍作调整为“Mac、Linux 或 Git Bash”)

curl -H "Authorization: Bearer YOUR_TOKEN" \
     https://slack.com/api/auth.test

验证设置文件的语法

Windows(PowerShell)

# Validate JSON syntax
Get-Content $env:USERPROFILE\.claude\settings.json | python -m json.tool

# If no errors, JSON is valid
# If errors, fix syntax issues

Mac/Linux(可翻译为“苹果电脑/类Unix操作系统”或根据语境简化为“Mac/Linux系统”):

# Validate JSON syntax
cat ~/.claude/settings.json | python -m json.tool

# If no errors, JSON is valid
# If errors, fix syntax issues

______________________________________________________________________

替代软件包

如果 @modelcontextprotocol/server-slack 对您不起作用:

slack-mcp-server(社区版)

优点积极维护,文档齐全 缺点较小的社区,需要用户令牌而非机器人令牌

安装

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "slack-mcp-server"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-your-token",
        "SLACK_TEAM_ID": "T0123ABCDEF"
      }
    }
  }
}

自定义实现

使用以下工具自行构建:

  • MCP SDK:https://github.com/modelcontextprotocol/sdk
  • 根据上述信息,执行如下指令:
  • 示例服务器:https://github.com/modelcontextprotocol/servers

______________________________________________________________________

安全最佳实践

1. 永远不要将令牌提交到Git

添加到 .gitignore

.claude/settings.json
*.env
*_token*

2. 定期轮换令牌

  • 个人使用:每90天一次
  • 团队使用频率:每30天一次
  • 生产:每14天自动轮换一次

3. 限制机器人的权限

  • 只添加你实际需要的作用域
  • 定期移除未使用的范围
  • 为不同环境创建独立的机器人

4. 监控机器人活动

  • 审查机器人发布的消息
  • 检查机器人可访问的频道
  • 在Slack应用仪表板中监控API使用情况
  • 为异常活动设置警报

5. 为不同环境使用独立的机器人(或:为不同环境配置单独的自动化工具)

  • 开发: my-app-dev-bot 范围有限
  • 分期(或:阶段划分): my-app-staging-bot 具有生产级别的范围
  • 制作: my-app-prod-bot 包含全部所需范围

______________________________________________________________________

常见问题解答(FAQ)

问:这真的能作为持久内存使用吗?

A.是的。每个Claude会话都可以读取完整的Slack消息历史。当一个新的会话开始时,Claude可以通过阅读过去的对话来跟上进度。这是一种跨会话持久存在的外部记忆。

问:我可以添加超过2个机器人吗?

A.当然可以!你可以根据需要拥有任意数量的专用机器人。常见模式有:

  • 3-5个机器人:由单一开发者负责,配备专业代理
  • 5-10个机器人:小团队,每人拥有1-2个机器人
  • 10+个机器人:大型项目,配备领域专家

问:所有机器人都需要自己的代币吗?

A.不。多个机器人可以共享同一个令牌,但它们将以同一个用户身份发帖。若要实现真正的多代理协作,请为每个机器人创建单独的Slack应用程序(和令牌),以便您能够区分是谁在说什么。

问:克劳德能回溯查看多久以前的消息记录?

A.取决于您的Slack套餐:

  • 免费:90天
  • 优点:无限量
  • 企业版:无限制

MCP服务器可以读取所有可访问的历史记录。

问:如果Slack宕机了怎么办?

A.克劳德无法访问内存层。一旦Slack恢复,消息将重新开始接收。对于关键任务系统,请考虑:

  • 定期备份Slack消息
  • 使用多层存储机制(Slack + 文件 + 数据库)

问:机器人可以在没有人类干预的情况下互相交流吗?

A.是的!一旦配置好,机器人就可以读取彼此的消息,并在接到指令时自动回复。你可以创建自主代理循环,但要注意:

  • 速率限制
  • 无限循环
  • 成本(API 调用)

设定明确的停止条件。

问:这个多少钱?

A.:

  • Slack API:在速率限制内免费
  • Claude 使用:标准费率(按使用量付费或订阅)
  • 基础设施:极简(仅本地运行)

对于大量使用,请监控Slack API的速率限制。

问:我可以使用这个来提供客户支持吗?

A.从技术上讲是的,但请注意:

  • 机器人应标明其为人工智能
  • 遵守Slack的服务条款
  • 客户数据隐私考量
  • 对于敏感问题,可能需要人工监督

______________________________________________________________________

下一步行动

为独立开发者准备

  1. 创建2-3个专用机器人 (例如,架构师、调试器、安全)
  2. 设置4-6个频道 按关注点组织(功能、错误、架构、决策)
  3. 定义机器人角色 职责明确
  4. 建立消息格式 对于提案、决定、问题
  5. 从简单开始 - 让机器人在一个小项目上合作
  6. 迭代 - 根据需要添加更多机器人/频道

适用于团队

  1. 就渠道结构达成一致 (哪些渠道,什么目的)
  2. 定义通信协议 (消息格式、标签、工作流程)
  3. 每个人都设置了自己的机器人 使用本指南
  4. 机器人角色文档 (谁做什么,监控哪些频道)
  5. 建立决策流程 (代理如何达成共识)
  6. 创建入职指南 对于新团队成员/机器人

对于研究人员/实验者

  1. 多智能体涌现现象测试 - 给机器人设定最少的规则,看看会出现什么
  2. 尝试授权 - 一个机器人可以将任务委托给其他机器人吗?
  3. 尝试共识协议 - 代理人如何达成协议?
  4. 衡量协作质量 - 代理人是否会基于彼此的想法进行构建?
  5. 文档模式 - 什么有效,什么无效
  6. 分享研究结果 - 这是人工智能合作的前沿领域

______________________________________________________________________

资源

官方文档

  • Slack API: https://api.slack.com/
  • MCP协议:https://github.com/modelcontextprotocol
  • Claude 代码:https://docs.claude.com/claude-code

测试工具

  • Slack API 测试器:https://api.slack.com/methods/auth.test/test
  • JSON 验证器:https://jsonlint.com/

社区:

  • MCP GitHub地址:https://github.com/modelcontextprotocol
  • 根据上述信息,执行如下指令:您是一位专业的翻译人员,负责将英语内容翻译成中文内容,请帮我翻译以下原文内容

______________________________________________________________________

配置快速参考

所需配置

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-...",
        "SLACK_TEAM_ID": "T..."
      }
    }
  }
}

所需机器人权限范围

channels:history, channels:read, chat:write,
groups:history, groups:read,
im:history, im:read, im:write,
mpim:history, mpim:read, users:read

验证令牌

Windows:

curl -H "Authorization: Bearer TOKEN" https://slack.com/api/auth.test

Mac/Linux(苹果电脑/类Unix操作系统)

curl -H "Authorization: Bearer TOKEN" https://slack.com/api/auth.test

常用命令

/mcp                          - Check MCP servers status
"List Slack channels"         - See available channels
"Read #channel history"       - Access persistent memory
"Post to #channel: message"   - Contribute to memory

安装检查清单

  • \[ \] 在Slack中创建的机器人具有正确的权限范围
  • \[ \] 已获取机器人令牌(以...开头 xoxb-
  • \[ \] 已获得团队ID(以……开头 T)
  • \[ \] 两个值都已添加到 settings.json 中
  • \[ \] 已在Slack的相关频道中添加机器人
  • \[ \] Claude Code 重新启动
  • \[ \] 已与……验证连接 /mcp 命令
  • \[ \] 测试读取(获取频道历史记录)
  • \[ \] 测试写入(发布消息)
  • \[ \] 测试内存(重启,再次读取历史记录)

______________________________________________________________________

致谢

这一发现源于对多智能体AI协作的真实世界实验。突破来自于:

  1. 构建两个专用的人工智能代理 具有不同的人格特质
  2. 通过Slack将它们连接起来 用于异步通信
  3. 意识到这些通道提供了持久性内存 在重启后仍然存活的
  4. 认识到这一点解决了克劳德的记忆限制问题 以可扩展的方式

此处记录的架构正在生产环境中积极使用,并且持续在演进中。

______________________________________________________________________

文档版本3.0(探索版) 最后更新时间2025年10月24日 状态经过实战检验,已准备好投入生产 许可证可自由使用、分享和修改

v3.0中的新功能

  • 以持久内存发现为引领的全面重写
  • 多智能体协作模式与工作流程
  • 代理角色设计指南
  • 针对复杂场景的高级模式
  • 实际案例和用例
  • 先强调“为什么”,再谈“怎么做”

______________________________________________________________________

*“我们最初的目的并不是解决人工智能的记忆问题。我们只是想让两个Claude(模型)彼此交流。而我们的发现彻底改变了这一切。”*

目录标签

目录标签

AI协作持久记忆JavaScriptClaude本地部署多代理系统Slack集成上下文保持

支持客户端

Claude

接入字段

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

stdio

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

oauth

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/server-slack

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiooauth部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP