# Slack OAuth 앱 등록 가이드

## 1. Slack API 콘솔 접속

1. https://api.slack.com/apps 접속
2. Slack 워크스페이스 관리자 계정으로 로그인
3. **Create New App** → **From scratch** 선택

## 2. 앱 정보 입력

- **App Name**: 예) "MCP Hub Integration"
- **Pick a workspace**: 앱을 설치할 워크스페이스 선택
- 생성 후 좌측 메뉴에서 'Basic Information' 확인

## 3. Redirect URL 등록

- 좌측 메뉴 → **OAuth & Permissions**
- 'Redirect URLs' 섹션에 `https://mcp-hub.wrks.ai/oauth/callback` 추가 → **Save URLs**

## 4. Bot Token Scope 추가

같은 화면 하단 'Scopes' → **Bot Token Scopes** 에 필요한 권한을 추가합니다.
바로 아래 'User Token Scopes' 가 아니라 **Bot Token Scopes** 입니다 — 두 칸이 붙어 있어
헷갈리기 쉽습니다.

- `chat:write` — 메시지 발송
- `channels:read` — 공개 채널 목록 · 정보 조회
- `channels:history` — 공개 채널 메시지 조회
- `groups:read` — 프라이빗 채널 조회
- `im:read` — DM 조회
- `users:read` — 사용자 목록 조회
- `users:read.email` — 사용자 이메일 조회
- `files:write` — 파일 업로드
- `reactions:write` — 이모지 리액션

**이 앱은 워크스페이스 단위로 동작합니다.** 봇이 볼 수 있는 것만 AI 도 볼 수 있고,
질문한 사람의 개인 권한과는 다릅니다. 봇을 채널에 초대해야 그 채널이 보입니다.

**검색은 빠져 있습니다.** Slack 이 메시지 검색(`search:read`)을 봇에게 허용하지 않습니다.
개인 권한으로 검색까지 필요하시면 알려주세요 — 별도 방식으로 준비합니다.

## 5. 자격 정보 발급

- 좌측 메뉴 → **Basic Information** → 'App Credentials'
- **Client ID** · **Client Secret** 확인
- Studio → Toolkits → New → 'Slack' 템플릿 선택 → OAuth 설정 화면에 입력

## 6. 배포 설정 (여러 워크스페이스 지원 시)

- 좌측 메뉴 → **Manage Distribution**
- 'Remove Hard Coded Information' 체크리스트 확인 후 **Activate Public Distribution**
- (단일 워크스페이스 전용이면 이 단계 생략 가능)

## 참고

- Scope 전체 목록: https://api.slack.com/scopes
- 주의: 이 앱은 Bot Token (`xoxb-*`) 으로 동작합니다. 봇이 초대되지 않은 채널은 목록에도
  메시지에도 나오지 않습니다 — AI 가 "채널이 없다" 고 답하면 대개 봇 초대가 빠진 것입니다.
