slack-max-api-mcp 1.0.5 → 1.0.7
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 +59 -4
- package/README.md +223 -77
- package/data/slack-catalog.json +3700 -3700
- package/package.json +32 -28
- package/src/slack-mcp-server.js +2209 -580
package/.env.example
CHANGED
|
@@ -1,9 +1,64 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
# Preferred setup: OAuth login (per-user token issuance, no verbal token sharing)
|
|
2
|
+
SLACK_CLIENT_ID=
|
|
3
|
+
SLACK_CLIENT_SECRET=
|
|
4
|
+
|
|
5
|
+
# Optional OAuth defaults for `slack-max-api-mcp oauth login`
|
|
6
|
+
# SLACK_OAUTH_TEAM_ID=T1234567890
|
|
7
|
+
# SLACK_OAUTH_BOT_SCOPES=chat:write,channels:read,groups:read,users:read
|
|
8
|
+
# SLACK_OAUTH_USER_SCOPES=search:read,channels:read,groups:read,channels:history,groups:history
|
|
9
|
+
# SLACK_OAUTH_CALLBACK_HOST=127.0.0.1
|
|
10
|
+
# SLACK_OAUTH_CALLBACK_PORT=8787
|
|
11
|
+
# SLACK_OAUTH_CALLBACK_PATH=/slack/oauth/callback
|
|
12
|
+
# SLACK_OAUTH_TIMEOUT_MS=300000
|
|
13
|
+
|
|
14
|
+
# Runtime profile selection from token store (~/.slack-max-api-mcp/tokens.json)
|
|
15
|
+
# SLACK_PROFILE=
|
|
16
|
+
# SLACK_DEFAULT_TOKEN_TYPE=bot
|
|
17
|
+
# SLACK_TOKEN_STORE_PATH=
|
|
18
|
+
# SLACK_CLIENT_CONFIG_PATH=
|
|
19
|
+
|
|
20
|
+
# Central gateway mode (recommended for team/shared workspace operations)
|
|
21
|
+
# Server-side (only on the gateway host):
|
|
22
|
+
# SLACK_GATEWAY_HOST=127.0.0.1
|
|
23
|
+
# SLACK_GATEWAY_PORT=8790
|
|
24
|
+
# SLACK_GATEWAY_PUBLIC_BASE_URL=https://mcp-gateway.example.com
|
|
25
|
+
# SLACK_GATEWAY_SHARED_SECRET=change-this-to-long-random-secret
|
|
26
|
+
# SLACK_GATEWAY_CLIENT_API_KEY=change-this-to-random-client-key
|
|
27
|
+
# SLACK_GATEWAY_ALLOW_PUBLIC=false
|
|
28
|
+
# SLACK_GATEWAY_PUBLIC_ONBOARD=true
|
|
29
|
+
# SLACK_GATEWAY_PUBLIC_ONBOARD_API_KEY=change-this-to-random-client-key
|
|
30
|
+
# SLACK_GATEWAY_PUBLIC_ONBOARD_EXPOSE_API_KEY=false
|
|
31
|
+
# SLACK_GATEWAY_PUBLIC_ONBOARD_PROFILE_PREFIX=auto
|
|
32
|
+
# SLACK_INVITE_TOKEN_DEFAULT_DAYS=7
|
|
33
|
+
#
|
|
34
|
+
# Client-side (each local Codex/Claude machine):
|
|
35
|
+
# SLACK_GATEWAY_URL=https://mcp-gateway.example.com
|
|
36
|
+
# SLACK_GATEWAY_API_KEY=change-this-to-random-client-key
|
|
37
|
+
# SLACK_GATEWAY_PROFILE=
|
|
38
|
+
|
|
39
|
+
# Optional auto-onboarding trigger for interactive `slack-max-api-mcp` runs
|
|
40
|
+
# SLACK_AUTO_ONBOARD=true
|
|
41
|
+
# SLACK_AUTO_ONBOARD_URL=https://mcp-gateway.example.com/onboard.ps1?token=...
|
|
42
|
+
# or
|
|
43
|
+
# SLACK_AUTO_ONBOARD_GATEWAY=https://mcp-gateway.example.com
|
|
44
|
+
# SLACK_AUTO_ONBOARD_TOKEN=invite-token-issued-by-gateway
|
|
45
|
+
# Optional tokenless variant:
|
|
46
|
+
# SLACK_AUTO_ONBOARD_GATEWAY=https://mcp-gateway.example.com
|
|
47
|
+
# SLACK_AUTO_ONBOARD_PROFILE_PREFIX=auto
|
|
48
|
+
# SLACK_AUTO_ONBOARD_PROFILE=
|
|
49
|
+
# SLACK_ONBOARD_SKIP_TLS_VERIFY=false
|
|
50
|
+
|
|
51
|
+
# Legacy/manual token mode (optional)
|
|
52
|
+
# SLACK_BOT_TOKEN=xoxb-your-bot-token
|
|
53
|
+
# SLACK_USER_TOKEN=xoxp-your-user-token
|
|
4
54
|
# SLACK_TOKEN=xoxb-or-xoxp-token
|
|
55
|
+
|
|
56
|
+
# Disabled by default for security. Turn on only when migrating old setups.
|
|
57
|
+
# SLACK_ALLOW_ENV_EXAMPLE_FALLBACK=true
|
|
58
|
+
|
|
59
|
+
# Optional base URL override
|
|
5
60
|
# SLACK_API_BASE_URL=https://slack.com/api
|
|
6
|
-
|
|
61
|
+
|
|
7
62
|
# Catalog-driven method tool settings
|
|
8
63
|
# SLACK_CATALOG_PATH=C:\code_test\test22\data\slack-catalog.json
|
|
9
64
|
# SLACK_ENABLE_METHOD_TOOLS=true
|
package/README.md
CHANGED
|
@@ -1,108 +1,254 @@
|
|
|
1
|
-
# Slack Max API MCP
|
|
2
|
-
|
|
3
|
-
Slack Web API를
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
1
|
+
# Slack Max API MCP
|
|
2
|
+
|
|
3
|
+
Slack Web API를 Codex/Claude Code에서 바로 사용할 수 있게 만든 `stdio` MCP 서버입니다.
|
|
4
|
+
|
|
5
|
+
- 패키지: `slack-max-api-mcp`
|
|
6
|
+
- 실행 방식: MCP 클라이언트(Codex/Claude)에서 도구 호출
|
|
7
|
+
- 목적: Slack 조회/검색/전송/캔버스/API 직접 호출 자동화
|
|
8
|
+
|
|
9
|
+
## 이 MCP가 무엇을 하는가
|
|
10
|
+
|
|
11
|
+
1. Slack API를 MCP 도구로 감싸서 AI가 호출할 수 있게 합니다.
|
|
12
|
+
2. 고정 도구 13개 + 카탈로그 기반 동적 메서드 도구(현재 304개)를 제공합니다.
|
|
13
|
+
3. 토큰/권한 범위 안에서 Slack 작업을 대화로 실행할 수 있습니다.
|
|
14
|
+
|
|
15
|
+
## Slack API로 만들 수 있는 것 vs 이 MCP에서 구현한 것
|
|
16
|
+
|
|
17
|
+
| 구분 | Slack API로 가능한 범위 | 이 MCP에서 구현한 방식 |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| 표준 Web API | 대부분 메서드 호출 가능 | `slack_api_call` + `slack_method_*` 자동 도구 |
|
|
20
|
+
| 비표준/특수 API (SCIM/Audit/Legal Holds 등) | 엔드포인트별 가능(권한 필요) | `slack_http_api_call` |
|
|
21
|
+
| 메시지/파일 검색 | `search.*` 계열 | `search_messages_files` |
|
|
22
|
+
| 유저/채널 탐색 | `users.*`, `conversations.*` | `search_users`, `search_channels`, `read_user_profile` |
|
|
23
|
+
| 메시지 전송/읽기 | `chat.postMessage`, `conversations.*` | `send_message`, `read_channel`, `read_thread` |
|
|
24
|
+
| 캔버스 | `canvases.*` | `create_canvas`, `update_canvas`, `read_canvas` |
|
|
25
|
+
|
|
26
|
+
참고:
|
|
27
|
+
- 고정 도구: 13개
|
|
28
|
+
- 카탈로그 메서드 수: 304개
|
|
29
|
+
- 카탈로그 스코프 수: 121개 (`data/slack-catalog.json` 기준)
|
|
30
|
+
|
|
31
|
+
## 제공 도구 목록
|
|
32
|
+
|
|
33
|
+
### 고정 도구 (13)
|
|
34
|
+
|
|
35
|
+
1. `slack_api_call`
|
|
36
|
+
2. `slack_http_api_call`
|
|
37
|
+
3. `search_messages_files`
|
|
38
|
+
4. `search_users`
|
|
39
|
+
5. `search_channels`
|
|
40
|
+
6. `send_message`
|
|
41
|
+
7. `read_channel`
|
|
42
|
+
8. `read_thread`
|
|
43
|
+
9. `create_canvas`
|
|
44
|
+
10. `update_canvas`
|
|
45
|
+
11. `read_canvas`
|
|
46
|
+
12. `read_user_profile`
|
|
47
|
+
13. `slack_method_tools_info`
|
|
48
|
+
|
|
49
|
+
### 동적 도구
|
|
50
|
+
|
|
51
|
+
1. `slack_method_<family_method>` 형식으로 자동 생성
|
|
52
|
+
2. 예: `slack_method_chat_postMessage`
|
|
53
|
+
3. 수량은 카탈로그/설정값에 따라 달라짐 (`SLACK_ENABLE_METHOD_TOOLS`, `SLACK_MAX_METHOD_TOOLS`)
|
|
54
|
+
|
|
55
|
+
## 현재 이 MCP가 할 수 있는 일
|
|
56
|
+
|
|
57
|
+
실시간 점검 결과 문서:
|
|
58
|
+
- [MCP_CURRENT_CAPABILITIES_NOW.md](./MCP_CURRENT_CAPABILITIES_NOW.md)
|
|
59
|
+
|
|
60
|
+
요약:
|
|
61
|
+
1. 기본(BOT)으로 유저/채널 조회, 프로필 조회, 캔버스 생성, 일반 API 호출 가능
|
|
62
|
+
2. USER 토큰 사용 시 메시지/파일 검색, 채널 읽기, 메시지 전송 가능
|
|
63
|
+
3. BOT으로 검색은 토큰 타입 제한(`not_allowed_token_type`)이 있어 USER 토큰 사용 권장
|
|
64
|
+
|
|
65
|
+
## 설치 및 실행
|
|
66
|
+
|
|
67
|
+
```powershell
|
|
68
|
+
npm install -g slack-max-api-mcp@latest
|
|
69
|
+
slack-max-api-mcp
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
또는:
|
|
73
|
+
|
|
74
|
+
```powershell
|
|
75
|
+
npx -y slack-max-api-mcp
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Codex / Claude Code 연결
|
|
79
|
+
|
|
80
|
+
### Codex
|
|
81
|
+
|
|
82
|
+
```powershell
|
|
83
|
+
codex mcp add slack-max -- npx -y slack-max-api-mcp
|
|
84
|
+
codex mcp list
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Claude Code
|
|
88
|
+
|
|
89
|
+
```powershell
|
|
90
|
+
claude mcp add slack-max -- npx -y slack-max-api-mcp
|
|
91
|
+
claude mcp list
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## 인증 설정
|
|
95
|
+
|
|
96
|
+
## 1) 팀 운영 권장: 중앙 Gateway 모드
|
|
97
|
+
|
|
98
|
+
핵심:
|
|
99
|
+
1. `SLACK_CLIENT_SECRET`은 중앙 서버에만 둡니다.
|
|
100
|
+
2. 각 사용자 로컬에는 Slack 토큰을 두지 않습니다.
|
|
101
|
+
3. OAuth 승인으로 중앙 저장소(`~/.slack-max-api-mcp/tokens.json`)에 사용자별 토큰이 저장됩니다.
|
|
102
|
+
|
|
103
|
+
### 중앙 서버(1대) 설정
|
|
42
104
|
|
|
43
105
|
```powershell
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
106
|
+
setx SLACK_CLIENT_ID "YOUR_CLIENT_ID"
|
|
107
|
+
setx SLACK_CLIENT_SECRET "YOUR_CLIENT_SECRET"
|
|
108
|
+
setx SLACK_GATEWAY_HOST "0.0.0.0"
|
|
109
|
+
setx SLACK_GATEWAY_PORT "8790"
|
|
110
|
+
setx SLACK_GATEWAY_PUBLIC_BASE_URL "https://your-gateway.example.com"
|
|
111
|
+
setx SLACK_GATEWAY_SHARED_SECRET "long-random-shared-secret"
|
|
112
|
+
setx SLACK_GATEWAY_CLIENT_API_KEY "long-random-client-api-key"
|
|
113
|
+
setx SLACK_GATEWAY_PUBLIC_ONBOARD "true"
|
|
114
|
+
setx SLACK_GATEWAY_PUBLIC_ONBOARD_API_KEY "long-random-client-api-key"
|
|
115
|
+
npx -y slack-max-api-mcp gateway start
|
|
47
116
|
```
|
|
48
117
|
|
|
49
|
-
|
|
118
|
+
주의:
|
|
119
|
+
1. `SLACK_GATEWAY_PUBLIC_ONBOARD=true`는 토큰 없는 온보딩을 허용합니다.
|
|
120
|
+
2. 게이트웨이가 비공개(`SLACK_GATEWAY_ALLOW_PUBLIC=false`)라면 `SLACK_GATEWAY_PUBLIC_ONBOARD_API_KEY`를 함께 설정해야 팀원 로컬 클라이언트가 API 호출할 수 있습니다.
|
|
121
|
+
|
|
122
|
+
### 팀원 경험 (토큰 전달 없이 권장)
|
|
50
123
|
|
|
51
124
|
```powershell
|
|
52
|
-
|
|
125
|
+
$env:NODE_TLS_REJECT_UNAUTHORIZED='0'
|
|
126
|
+
npx -y slack-max-api-mcp onboard run --gateway "https://your-gateway.example.com"
|
|
127
|
+
Remove-Item Env:NODE_TLS_REJECT_UNAUTHORIZED
|
|
53
128
|
```
|
|
54
129
|
|
|
55
|
-
|
|
130
|
+
자동 동작:
|
|
131
|
+
1. 로컬 클라이언트 설정 파일(`~/.slack-max-api-mcp/client.json`) 작성
|
|
132
|
+
2. 브라우저 OAuth 승인 페이지 자동 오픈
|
|
133
|
+
3. Slack Allow 승인
|
|
134
|
+
4. 완료 후 Codex에서 바로 사용
|
|
135
|
+
|
|
136
|
+
승인 후 Codex 연결(최초 1회):
|
|
56
137
|
|
|
57
138
|
```powershell
|
|
58
|
-
|
|
59
|
-
slack-max-api-mcp
|
|
139
|
+
codex mcp add slack-max -- npx -y slack-max-api-mcp
|
|
60
140
|
```
|
|
61
141
|
|
|
62
|
-
|
|
142
|
+
### 팀원 경험 (초대토큰 기반, 기존 방식)
|
|
143
|
+
|
|
144
|
+
운영자가 팀원용 원클릭 초대 커맨드 생성:
|
|
63
145
|
|
|
64
146
|
```powershell
|
|
65
|
-
|
|
147
|
+
npx -y slack-max-api-mcp gateway invite --profile woobin --team T0AHNJ8QN0N
|
|
66
148
|
```
|
|
67
149
|
|
|
68
|
-
|
|
150
|
+
위 명령이 팀원에게 전달할 "원클릭 설치 커맨드"를 출력합니다.
|
|
69
151
|
|
|
70
152
|
```powershell
|
|
71
|
-
|
|
72
|
-
codex mcp get slack-max
|
|
153
|
+
powershell -ExecutionPolicy Bypass -Command "irm 'https://your-gateway.example.com/onboard.ps1?token=...' | iex"
|
|
73
154
|
```
|
|
74
155
|
|
|
75
|
-
|
|
156
|
+
### 팀원 경험 (설치 후 `slack-max-api-mcp`만 실행)
|
|
157
|
+
|
|
158
|
+
운영자가 아래 값을 사전에 배포(이미지/스크립트/MDM)하면 팀원은 다음만 수행하면 됩니다.
|
|
76
159
|
|
|
77
160
|
```powershell
|
|
78
|
-
|
|
161
|
+
npm install -g slack-max-api-mcp@latest
|
|
162
|
+
slack-max-api-mcp
|
|
79
163
|
```
|
|
80
164
|
|
|
81
|
-
|
|
165
|
+
자동 동작:
|
|
166
|
+
1. 대화형 터미널에서 인증 설정이 비어 있으면 자동 온보딩 트리거
|
|
167
|
+
2. 브라우저 자동 오픈
|
|
168
|
+
3. Slack Allow 승인
|
|
169
|
+
4. 완료 후 Codex에서 바로 사용
|
|
170
|
+
|
|
171
|
+
필요한 사전 배포값(팀원이 직접 입력하지 않아도 됨):
|
|
172
|
+
1. `SLACK_AUTO_ONBOARD_URL` 또는
|
|
173
|
+
2. `SLACK_AUTO_ONBOARD_GATEWAY` + `SLACK_AUTO_ONBOARD_TOKEN`
|
|
174
|
+
3. 토큰 없는 자동 온보딩은 `SLACK_AUTO_ONBOARD_GATEWAY` 단독도 가능 (게이트웨이 `SLACK_GATEWAY_PUBLIC_ONBOARD=true` 필요)
|
|
175
|
+
|
|
176
|
+
## 2) 단독/개인 운영: 로컬 OAuth 모드
|
|
82
177
|
|
|
83
178
|
```powershell
|
|
84
|
-
|
|
85
|
-
|
|
179
|
+
setx SLACK_CLIENT_ID "YOUR_CLIENT_ID"
|
|
180
|
+
setx SLACK_CLIENT_SECRET "YOUR_CLIENT_SECRET"
|
|
181
|
+
npx -y slack-max-api-mcp oauth login --profile my-workspace --team T1234567890
|
|
86
182
|
```
|
|
87
183
|
|
|
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개만 등록
|
|
184
|
+
토큰은 기본적으로 `~/.slack-max-api-mcp/tokens.json`에 저장됩니다.
|
|
98
185
|
|
|
99
|
-
##
|
|
186
|
+
## 3) 수동 토큰 모드 (대안)
|
|
100
187
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
- `canvases.read`, `canvases.write`
|
|
106
|
-
- `search.read`
|
|
188
|
+
```powershell
|
|
189
|
+
setx SLACK_BOT_TOKEN "xoxb-..."
|
|
190
|
+
setx SLACK_USER_TOKEN "xoxp-..."
|
|
191
|
+
```
|
|
107
192
|
|
|
108
|
-
|
|
193
|
+
### 토큰 선택 우선순위
|
|
194
|
+
|
|
195
|
+
1. 도구 입력의 `token_override`
|
|
196
|
+
2. Gateway 모드가 켜진 경우: 로컬 `client.json` 또는 env의 Gateway 설정으로 중앙 호출
|
|
197
|
+
3. Gateway 미사용 시: 로컬 환경변수 (`SLACK_BOT_TOKEN` / `SLACK_USER_TOKEN` / `SLACK_TOKEN`)
|
|
198
|
+
4. OAuth 토큰 저장소의 활성 프로필 (`SLACK_PROFILE` 또는 기본 프로필)
|
|
199
|
+
5. `.env.example` fallback (`SLACK_ALLOW_ENV_EXAMPLE_FALLBACK=true`일 때만)
|
|
200
|
+
|
|
201
|
+
참고:
|
|
202
|
+
1. 기본 토큰 타입 우선순위는 `SLACK_DEFAULT_TOKEN_TYPE`으로 조정할 수 있음 (`bot` 기본값, `user`, `generic`, `auto` 지원)
|
|
203
|
+
2. `not_allowed_token_type`, `missing_scope` 오류 시 서버가 자동으로 다른 후보 토큰을 재시도함
|
|
204
|
+
|
|
205
|
+
## 실제 요청 예시 (Codex/Claude에 자연어로)
|
|
206
|
+
|
|
207
|
+
1. `채널 목록 조회해서 이름과 ID를 표로 정리해줘.`
|
|
208
|
+
2. `USER 토큰으로 C0AHJ8GF09H 채널 최근 30개 메시지 읽어 요약해줘.`
|
|
209
|
+
3. `USER 토큰으로 C0AHJ8GF09H 채널에 "테스트 메시지" 전송해줘.`
|
|
210
|
+
4. `회의록 캔버스 하나 만들고 제목을 "MCP 점검"으로 생성해줘.`
|
|
211
|
+
|
|
212
|
+
정확도 팁:
|
|
213
|
+
1. 검색/읽기/전송은 USER 토큰 사용을 명시
|
|
214
|
+
2. 실패 시 `error/needed/provided`를 같이 출력하도록 요청
|
|
215
|
+
|
|
216
|
+
## 제약 사항과 운영 주의
|
|
217
|
+
|
|
218
|
+
1. 중앙 Gateway 모드에서는 `SLACK_GATEWAY_SHARED_SECRET` 유출 시 즉시 교체해야 함
|
|
219
|
+
2. OAuth든 수동 토큰이든, 토큰 관리 책임은 운영자에게 있음 (노출 시 즉시 회수/재발급)
|
|
220
|
+
3. scope 변경 후에는 Slack 앱 재설치(재승인)가 필요할 수 있음
|
|
221
|
+
4. 채널 읽기/전송은 봇/사용자 멤버십이 없으면 실패 가능 (`not_in_channel`)
|
|
222
|
+
5. 일부 API는 Enterprise 또는 Admin 권한 전용
|
|
223
|
+
6. Slack rate limit에 걸릴 수 있음
|
|
224
|
+
7. OAuth 저장소(`~/.slack-max-api-mcp/tokens.json`)를 공유 드라이브에 두면 보안 위험이 커짐
|
|
225
|
+
|
|
226
|
+
## 보안 주의
|
|
227
|
+
|
|
228
|
+
1. 실제 토큰을 README/코드/패키지/커밋에 넣지 마세요.
|
|
229
|
+
2. 토큰 노출 시 즉시 폐기 후 재발급하세요.
|
|
230
|
+
3. 필요하면 시크릿 매니저(1Password/Vault/AWS Secrets Manager) 사용을 권장합니다.
|
|
231
|
+
|
|
232
|
+
## 트러블슈팅 빠른 체크
|
|
233
|
+
|
|
234
|
+
1. 토큰 유효성: `auth.test`
|
|
235
|
+
2. 권한 부족: 응답의 `needed`/`provided` 확인
|
|
236
|
+
3. 메시지 전송 실패: 채널 멤버십(`not_in_channel`) 여부 확인
|
|
237
|
+
4. 검색 실패: BOT 토큰 사용 여부 확인 (`not_allowed_token_type`)
|
|
238
|
+
|
|
239
|
+
## 개발 정보
|
|
240
|
+
|
|
241
|
+
```powershell
|
|
242
|
+
npm install
|
|
243
|
+
npm run check
|
|
244
|
+
npm run build:catalog
|
|
245
|
+
npm run start
|
|
246
|
+
node src/slack-mcp-server.js oauth help
|
|
247
|
+
node src/slack-mcp-server.js gateway help
|
|
248
|
+
node src/slack-mcp-server.js onboard help
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
관련 파일:
|
|
252
|
+
- 서버: `src/slack-mcp-server.js`
|
|
253
|
+
- 카탈로그: `data/slack-catalog.json`
|
|
254
|
+
- 현재 기능 점검 결과: `MCP_CURRENT_CAPABILITIES_NOW.md`
|