slack-max-api-mcp 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +11 -0
- package/README.md +108 -0
- package/data/slack-catalog.json +3701 -0
- package/package.json +28 -0
- package/src/slack-mcp-server.js +718 -0
package/.env.example
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
SLACK_BOT_TOKEN=xoxb-10600620838022-10607717448308-z3vxg14RBnOeatFJL8ewuylg
|
|
2
|
+
SLACK_USER_TOKEN=xoxp-10600620838022-10602682248866-10588661627527-06d02e0fe3950a8769f7739c812bf98c
|
|
3
|
+
# Optional alternatives
|
|
4
|
+
# SLACK_TOKEN=xoxb-or-xoxp-token
|
|
5
|
+
# SLACK_API_BASE_URL=https://slack.com/api
|
|
6
|
+
#
|
|
7
|
+
# Catalog-driven method tool settings
|
|
8
|
+
# SLACK_CATALOG_PATH=C:\code_test\test22\data\slack-catalog.json
|
|
9
|
+
# SLACK_ENABLE_METHOD_TOOLS=true
|
|
10
|
+
# SLACK_METHOD_TOOL_PREFIX=slack_method
|
|
11
|
+
# SLACK_MAX_METHOD_TOOLS=0
|
package/README.md
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Slack Max API MCP Server
|
|
2
|
+
|
|
3
|
+
Slack Web API를 최대한 활용하도록 만든 `stdio` MCP 서버입니다.
|
|
4
|
+
`Codex CLI`와 `Claude Code`에 바로 연결할 수 있습니다.
|
|
5
|
+
|
|
6
|
+
## 포함 범위
|
|
7
|
+
|
|
8
|
+
1. 고정 도구 12개
|
|
9
|
+
- `search_messages_files`
|
|
10
|
+
- `search_users`
|
|
11
|
+
- `search_channels`
|
|
12
|
+
- `send_message`
|
|
13
|
+
- `read_channel`
|
|
14
|
+
- `read_thread`
|
|
15
|
+
- `create_canvas`
|
|
16
|
+
- `update_canvas`
|
|
17
|
+
- `read_canvas`
|
|
18
|
+
- `read_user_profile`
|
|
19
|
+
- `slack_api_call` (임의 Web API 메서드 호출)
|
|
20
|
+
- `slack_http_api_call` (SCIM/Audit/Legal Holds 포함 범용 HTTP 호출)
|
|
21
|
+
|
|
22
|
+
2. 카탈로그 기반 메서드 도구 자동 등록
|
|
23
|
+
- `data/slack-catalog.json`의 Web API 메서드(현재 304개)를 자동 MCP 도구로 등록
|
|
24
|
+
- 도구명 형식: `slack_method_<method_name>`
|
|
25
|
+
- 예: `chat.postMessage` -> `slack_method_chat_postMessage`
|
|
26
|
+
|
|
27
|
+
3. 문서 자동 생성
|
|
28
|
+
- [SLACK_API_FUNCTIONS_KR.md](C:\code_test\test22\SLACK_API_FUNCTIONS_KR.md)
|
|
29
|
+
- 메서드별 기능 설명(공식 설명 + 한국어 재표현)
|
|
30
|
+
- scope 목록, family 요약 포함
|
|
31
|
+
|
|
32
|
+
## 준비
|
|
33
|
+
|
|
34
|
+
1. Node.js 20+
|
|
35
|
+
2. Slack 토큰
|
|
36
|
+
- 기본: `xoxb` bot token
|
|
37
|
+
- 필요시 `xoxp` user token 병행
|
|
38
|
+
- Admin/SCIM/Audit API는 별도 권한/토큰 필요
|
|
39
|
+
- 토큰은 기본적으로 프로젝트 루트의 `.env.example`에서 자동 로드됨
|
|
40
|
+
|
|
41
|
+
## 설치/생성/실행
|
|
42
|
+
|
|
43
|
+
```powershell
|
|
44
|
+
npm install
|
|
45
|
+
npm run build:catalog
|
|
46
|
+
npm run start
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## npm 한큐 설치/실행
|
|
50
|
+
|
|
51
|
+
```powershell
|
|
52
|
+
npx -y slack-max-api-mcp
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
또는 전역 설치:
|
|
56
|
+
|
|
57
|
+
```powershell
|
|
58
|
+
npm i -g slack-max-api-mcp
|
|
59
|
+
slack-max-api-mcp
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Codex CLI 연결
|
|
63
|
+
|
|
64
|
+
```powershell
|
|
65
|
+
codex mcp add slack-max -- npx -y slack-max-api-mcp
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
확인:
|
|
69
|
+
|
|
70
|
+
```powershell
|
|
71
|
+
codex mcp list
|
|
72
|
+
codex mcp get slack-max
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Claude Code 연결
|
|
76
|
+
|
|
77
|
+
```powershell
|
|
78
|
+
claude mcp add slack-max -- npx -y slack-max-api-mcp
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
확인:
|
|
82
|
+
|
|
83
|
+
```powershell
|
|
84
|
+
claude mcp list
|
|
85
|
+
claude mcp get slack-max
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## 메서드 도구 제어용 환경변수
|
|
89
|
+
|
|
90
|
+
- `SLACK_CATALOG_PATH`
|
|
91
|
+
카탈로그 JSON 경로 (기본: `data/slack-catalog.json`)
|
|
92
|
+
- `SLACK_ENABLE_METHOD_TOOLS`
|
|
93
|
+
`false`면 자동 메서드 도구 등록 비활성화
|
|
94
|
+
- `SLACK_METHOD_TOOL_PREFIX`
|
|
95
|
+
자동 도구명 prefix (기본: `slack_method`)
|
|
96
|
+
- `SLACK_MAX_METHOD_TOOLS`
|
|
97
|
+
0이면 전체 등록, 양수면 앞에서 N개만 등록
|
|
98
|
+
|
|
99
|
+
## 권장 scope (현재 고정 도구 10개 기준 최대 사용)
|
|
100
|
+
|
|
101
|
+
- `chat.write`
|
|
102
|
+
- `channels.read`, `groups.read`, `im.read`, `mpim.read`
|
|
103
|
+
- `channels.history`, `groups.history`, `im.history`, `mpim.history`
|
|
104
|
+
- `users.read`, `users.profile.read`, `users.read.email`
|
|
105
|
+
- `canvases.read`, `canvases.write`
|
|
106
|
+
- `search.read`
|
|
107
|
+
|
|
108
|
+
참고: 전체 Slack API 100%는 단일 토큰으로 불가하며, Admin/SCIM/Audit/Legal Holds는 조직/권한 제약이 있습니다.
|