mcp松弛代理团队
基于Slack的Claude Code远程控制和多代理团队管理MCP服务器。
您可以在Slack频道向Claude Code代理发送命令、接收结果并协调多代理团队。
配置
commands/ # Claude Code 슬래시 커맨드
├── slack-loop.md # /slack-loop — Slack 명령 대기 루프
└── slack-team-resume.md # /slack-team-resume — 팀 세션 복구
mcp-servers/slack/ # Slack MCP 서버
├── src/
│ ├── index.ts # 엔트리포인트 (도구 등록 + 서버 시작)
│ ├── wrapper.ts # 자동 재시작 래퍼 (핫 리로드 지원)
│ ├── background-poller.ts # 백그라운드 메시지 수집기 (10초 간격)
│ ├── types.ts # 인터페이스, 상수, 타입 정의 + 에이전트 페르소나
│ ├── db.ts # SQLite 초기화 + 데이터 접근 헬퍼
│ ├── state.ts # SQLite 기반 상태 관리 + 팀 레지스트리
│ ├── slack-client.ts # WebClient + sendSmart + 메시지 분할
│ ├── formatting.ts # 메시지 포맷 + 리치 포맷팅 유틸리티
│ ├── rate-limiter.ts # 중앙집중 Rate Limiter (토큰 버킷 + 자동 백오프)
│ ├── approval-hook.ts # 범용 Slack 승인 훅 (Bash + 도구 + 권한)
│ ├── test.ts # 연결 테스트
│ ├── check.ts # 간단한 연결 확인
│ └── tools/ # 도구 모듈 (총 55개)
│ ├── basic.ts # 기본 통신 + 리액션 관리 + 진단 (11개)
│ ├── content.ts # 코드/스니펫 업로드 (2개)
│ ├── loop.ts # 명령 루프 + 인박스 + 리액션 커맨드 (3개)
│ ├── team.ts # 팀 관리 + 멘션 + 알림 통합 (14개)
│ ├── context.ts # 팀 컨텍스트 관리 + whoami (8개)
│ ├── approval.ts # 승인 요청 (1개)
│ ├── file.ts # 파일 다운로드/업로드 (2개)
│ ├── state.ts # 상태 저장/복원 + 비용 보고 (3개)
│ └── dashboard.ts # 대시보드 + 하트비트 + DM + 예약/권한 (11개)
├── package.json
├── tsconfig.json
└── .env.example主要功能
- 远程控制 -在Slack中输入命令→运行代理→通过线程回复结果
- 命令循环 —
slack_command_loop完全替换聊天界面 - 无阻塞检查 —
slack_command_loop(timeout=0),slack_team_wait(timeout=0)防止在使用时错过Slack命令 - 多代理团队 -创建专用频道,按角色命名/图标,广播,存档
- 代理Persona -12种named persona(Aria、Sage、Forge等)-自动显示每个角色的唯一名称/表情
- @Mention系统 -以Persona的名字、角色、成员ID保存在@Mention→Mention Q→确认收件人
- 反应-命令 -Slack阿姨的反应(🚀🔄🗑️❓)自动将转换为命令
- 后台收集 -10秒钟自动轮询消息,无需调用工具即可防止Slack消息丢失
- 多进程安全 -SQLite WAL+busy_timeout+无文件夹DB+按团队单独存储
- 永久上下文管理 -保存基于SQLite的任务/决策/代理上下文,压缩上下文后立即恢复
- 热加载 —
slack_reload通过构建代码+重新启动服务器,wrapper.js使用Claude Code保持连接 - 通用批准挂钩 -支持Bash命令+MCP工具+权限请求,自动绕过安全命令
- 速率限制器 -集中控制Slack API调用(令牌桶+429自动回退)
- 仪表板 -以可视化仪表板显示团队进度、代理状态和Rate Limiter度量
- 心跳信号 -代理生存监视,无响应代理自动检测和通知
- DM+保留信息 -个人DM、预约发送、邮件固定
- 内嵌搜索 -通过FTS5专业搜索搜索收件箱消息
- Grace全关闭 -SIGINT/SIGTERM时自动保存状态+Slack通知
- 文件传输 -下载/上传Slack文件(图像、文档、日志等)
- 自动处理长消息 -分割传输或上载文件
- 成本报告 -使用ccusage集成报告Claude Code令牌/费用Slack
- 会话恢复 -compact/重新启动后自动恢复状态
快速入门
# 1. 클론 & 설치
git clone https://github.com/berrzebb/mcp-slack-agent-team.git
cd mcp-slack-agent-team/mcp-servers/slack
npm install
npm run build
# 2. 연결 테스트
cp .env.example .env
# .env에 SLACK_BOT_TOKEN, SLACK_DEFAULT_CHANNEL 입력
npx tsx src/test.ts注册Claude Code
.claude/settings.json 或 ~/.claude.json:
{
"mcpServers": {
"slack": {
"command": "node",
"args": ["path/to/mcp-slack-agent-team/mcp-servers/slack/dist/wrapper.js"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-bot-token",
"SLACK_DEFAULT_CHANNEL": "C채널ID"
}
}
}
}工作流
사용자 (Slack) Agent (Claude Code)
│ │
├─── 명령 입력 ────────────→│ slack_command_loop
│ ├── 👀 수신 확인
│ ├── 작업 수행
│ ├── 결과 전송 (스레드)
│←── 결과 수신 ────────────┤ ✅ 완료
├─── 피드백 ──────────────→│ slack_wait_for_reply
│ └── 다음 명령 대기提供的工具(55个)
| 类别 | 工具 |
|---|---|
| 基本通信+反应 (11) | slack_send_message, slack_respond, slack_update_message, slack_read_messages, slack_reply_thread, slack_add_reaction, slack_remove_reaction, slack_list_channels, slack_get_thread, slack_reload, slack_inbox_status |
| 内容 (2) | slack_upload_snippet, slack_send_code |
| 命令循环+内框 (3) | slack_command_loop, slack_check_inbox, slack_wait_for_reply |
| 团队管理+通知 (14) | slack_team_create, slack_team_register, slack_team_send, slack_team_read, slack_team_wait, slack_team_thread, slack_team_status, slack_team_broadcast, slack_team_report, slack_team_close, slack_mention_check, slack_check_all_notifications, slack_team_update_message, slack_team_delete_message |
| 团队上下文 (8) | slack_team_assign_task, slack_team_update_task, slack_team_list_tasks, slack_team_save_context, slack_team_get_context, slack_team_log_decision, slack_team_decisions, slack_whoami |
| 批准 (1) | slack_request_approval |
| 文件 (2) | slack_download_file, slack_upload_file |
| 状态+成本 (3) | slack_save_state, slack_load_state, slack_cost_report |
| 仪表板+操作 (11) | slack_progress_dashboard, slack_heartbeat, slack_heartbeat_status, slack_thread_summary, slack_search_inbox, slack_pin_message, slack_send_dm, slack_schedule_message, slack_team_request_permission, slack_list_permissions, slack_resolve_permission |
需要Slack Bot Token Scopes
| Scope | 用途 |
|---|---|
chat:write | 发送消息 |
chat:write.customize | 显示每个代理角色的名称/图标 |
channels:history | 读取频道消息 |
groups:history | 阅读私人频道消息 |
reactions:write | 添加反应 |
reactions:read | 阅读反应(批准钩子) |
channels:read / groups:read | 查看频道列表 |
channels:manage | 创建/存档团队渠道 |
channels:join 自动加入频道 | |
users:read 自动检测机器人ID | |
files:write | 上传文件 |
pins:write | 邮件冻结/关闭 |
im:write 发送直接消息 |
详细设置指南: mcp服务器/松弛/README.md
许可证
麻省理工学院
