MCP Slack 서버를 클라우드에 배포한 후 Claude Desktop 과 연동하면, 어디서든 일관된 AI 워크플로우를 사용할 수 있습니다. 로컬 실행의 제약 없이 팀 전체가 공유하는 엔터프라이즈급 설정입니다.
🎯 배포 아키텍처 한눈에
┌──────────────────────────────────────────────────────────────┐
│ Claude Desktop (사용자 PC) │
│ "어제 #프로젝트 채널 요약해줘" │
│ ↓ (HTTPS/SSE) │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ MCP Supergateway (클라우드 게이트웨이) │ │
│ │ - 인증/인가 처리 │ │
│ │ - SSE 스트리밍 중계 │ │
│ └──────────────────────────────────────────────────────┘ │
│ ↓ (내부망/VPN) │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ MCP Slack Server (Fly.io / AWS / GCP) │ │
│ │ - Slack API 연동 │ │
│ │ - 채널 조회/메시지 발송 │ │
│ └──────────────────────────────────────────────────────┘ │
│ ↓ │
│ Slack API (api.slack.com) │
└──────────────────────────────────────────────────────────────┘
📋 연동 전 필수 조건
| 항목 | 필요 조건 | 확인 방법 |
|---|---|---|
| 배포 완료된 MCP Slack 서버 | Fly.io, AWS, GCP 등 클라우드 환경 | 엔드포인트 URL (예: https://slack-mcp.fly.dev/sse) |
| Claude Desktop | v1.20+ (MCP 원격 서버 지원) | Claude → Check for Updates |
| Supergateway (선택) | stdio 기반 서버를 SSE 로 변환 | npx -y supergateway |
| 인증 토큰 | API 키 또는 OAuth (보안 권장) | 배포 시 생성한 시크릿 |
🚀 1단계: 배포된 MCP 서버 엔드포인트 확인 (1분)
Fly.io 배포 예시
배포 완료 후 다음 정보 확인:
# Fly.io 앱 URL 확인
flyctl status --app slack-mcp-server
# 출력 예시:
# Hostname: slack-mcp-server.fly.dev
# HTTPS URL: https://slack-mcp-server.fly.dev
# SSE 엔드포인트: https://slack-mcp-server.fly.dev/sse
확인해야 할 정보
| 항목 | 예시 | 용도 |
|---|---|---|
| SSE 엔드포인트 | https://slack-mcp-server.fly.dev/sse |
Claude Desktop 연결 URL |
| API 토큰 | sk-mcp-xxxxxxxx (배포 시 생성) |
인증용 (선택, 보안 권장) |
| 서버 상태 | 200 OK (브라우저에서 /sse 접속 테스트) |
연결 가능성 확인 |
테스트: 브라우저에서
https://slack-mcp-server.fly.dev/sse접속 →text/event-stream응답이 보이면 정상.
⚙️ 2단계: Claude Desktop 설정 (3분)
2-1. 설정 파일 열기
| OS | 설정 파일 경로 |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
빠른 열기 (macOS):
open ~/Library/Application\ Support/Claude/claude_desktop_config.json
빠른 열기 (Windows):
notepad $env:APPDATA\Claude\claude_desktop_config.json
2-2. 원격 서버 설정 추가 (3가지 방법)
방법 A: Supergateway 경유 (권장 — 보안 + 안정성)
Supergateway 는 stdio 기반 MCP 서버를 SSE 로 변환하는 게이트웨이입니다.
{
"mcpServers": {
"slack-remote": {
"command": "npx",
"args": ,
"env": {
"MCP_AUTH_TOKEN": "sk-mcp-your-auth-token"
}
}
}
}
장점:
- 자동 재연결 + 에러 처리
- 인증 토큰 관리 용이
- 여러 클라이언트 동시 연결 지원
방법 B: 직접 SSE 연결 (간단하지만 제한적)
SSE 를 네이티브로 지원하는 클라이언트용:
{
"mcpServers": {
"slack-direct": {
"type": "sse",
"url": "https://slack-mcp-server.fly.dev/sse",
"env": {
"MCP_AUTH_TOKEN": "sk-mcp-your-auth-token"
}
}
}
}
주의: Claude Desktop 버전이 v1.20+ 이어야 type: "sse" 지원.
방법 C: WebSocket 경유 (고급, 실시간성 중시)
{
"mcpServers": {
"slack-ws": {
"type": "websocket",
"url": "wss://slack-mcp-server.fly.dev/ws",
"env": {
"MCP_AUTH_TOKEN": "sk-mcp-your-auth-token"
}
}
}
}
2-3. 설정 저장 후 Claude 재시작
- 파일 저장 (
Cmd/Ctrl + S) - Claude Desktop 완전히 종료 (
Cmd/Ctrl + Q) - 다시 실행
✅ 3단계: 연결 확인 (2분)
테스트 프롬프트
Claude 에게 다음 질문:
Slack 에 연결됐어? #general 채널의 최근 메시지 3 개만 요약해줘.
또는:
내 Slack 워크스페이스에서 내가 멤버인 채널 목록을 보여줘.
성공 응답 예시
네, Slack 에 연결되었습니다! (원격 서버: slack-mcp-server.fly.dev)
#general 채널의 최근 메시지 3 개:
1. @김팀장 (10:23)
"오늘 오후 3 시 전체 미팅 있습니다. Zoom 링크: ..."
2. @이대리 (11:05)
"Q3 보고서 초안 업로드했습니다. 확인 부탁드립니다."
3. @박과장 (11:42)
"주말 행사 준비 현황 공유드립니다..."
연결 상태 확인 (개발자 모드)
- Claude Desktop →
Settings→Developer - MCP Servers 섹션에서
slack-remote상태 확인 Connected(초록색) 이면 성공
🔐 4단계: 인증 & 보안 설정 (선택 but 권장)
4-1. 환경 변수 분리 관리 (보안 모범 사례)
민감한 토큰은 설정 파일이 아닌 별도 .env 파일로 관리:
.env 파일 생성 (설정 파일과 같은 디렉토리):
MCP_AUTH_TOKEN=sk-mcp-your-auth-token
SLACK_BOT_TOKEN=xoxb-123456789012-...
claude_desktop_config.json:
{
"mcpServers": {
"slack-remote": {
"command": "npx",
"args": ,
"env": {
"MCP_AUTH_TOKEN": "${env:MCP_AUTH_TOKEN}"
}
}
}
}
주의:
.env파일은.gitignore에 추가하여 Git 에 커밋되지 않도록 보호.
4-2. IP 화이트리스트 (엔터프라이즈)
배포 서버에서 특정 IP 만 접근 허용 설정:
Fly.io 예시 (fly.toml):
internal_port = 8080
force_https = true
type = "connections"
hard_limit = 250
soft_limit = 200
# IP 제한 (선택)
]
grace_period = "10s"
interval = "30s"
method = "GET"
timeout = "5s"
path = "/health"
방화벽 규칙으로 회사 IP 대역만 허용.
4-3. 토큰 순환 정책
| 항목 | 권장 주기 | 방법 |
|---|---|---|
| MCP_AUTH_TOKEN | 90 일 | 배포 서버 재배포 시 새 토큰 발급 |
| SLACK_BOT_TOKEN | 90 일 | Slack API → OAuth & Permissions → Rotate Token |
| 감사 로그 | 월 1 회 | Slack Admin → 앱 활동 로그 확인 |
🛠️ 5단계: 실전 활용 예시 (원격 서버)
예시 1: 재택근무 중 실시간 채널 모니터링
@Claude #고객지원 채널에서 지난 30 분 동안
'긴급' 또는 '바로 확인 필요'라고 언급된 메시지 있으면
나한테 DM 으로 알림 보내줘.
동작:
- Claude 가 원격 MCP 서버로 실시간 조회 요청
- 조건 매칭 메시지 발견 시 DM 발송
- 재택 중에도 사무실 채널 모니터링 가능
예시 2: 팀 전체 공유 워크플로우
시나리오: 10 명 팀 전체가 동일한 MCP 서버 사용
- 관리자: Fly.io 에 MCP Slack 서버 배포 (공용 엔드포인트)
- 팀원 10 명: 각자 Claude Desktop 에 동일한 설정 적용
- 모두 같은 채널·권한·워크플로우 공유
팀원 설정 파일 공유 (Slack 채널에 업로드):
{
"mcpServers": {
"slack-team": {
"command": "npx",
"args": }
}
}
예시 3: 다중 워크스페이스 연동
여러 Slack 워크스페이스를 하나의 Claude Desktop에서 관리:
{
"mcpServers": {
"slack-company": {
"command": "npx",
"args": ,
"env": { "MCP_AUTH_TOKEN": "${env:COMPANY_TOKEN}" }
},
"slack-personal": {
"command": "npx",
"args": ,
"env": { "MCP_AUTH_TOKEN": "${env:PERSONAL_TOKEN}" }
}
}
}
사용법:
@Claude #company-workspace 의 #프로젝트-A 채널과
#personal-workspace 의 #사이드프로젝트 채널을
모두 확인해서 오늘 할 일 5 개만 뽑아줘.
📊 로컬 vs 원격 배포 비교
| 항목 | 로컬 실행 | 원격 배포 (Fly.io 등) |
|---|---|---|
| 접근성 | 해당 PC 만 사용 가능 | 어디서든 접근 (재택·출장·모바일) |
| 팀 공유 | 설정 파일 수동 공유 | 단일 엔드포인트로 일괄 관리 |
| 보안 | PC 보안에 의존 | 게이트웨이 인증 + IP 제한 가능 |
| 안정성 | PC 종료 시 사용 불가 | 24/7 가동 (클라우드 uptime) |
| 유지보수 | 각 PC 별 업데이트 | 서버 1 대만 업데이트 |
| 비용 | 무료 (로컬 리소스) | Fly.io: $5~20/월 (소규모) |
| 추천 대상 | 개인 테스트 | 팀/엔터프라이즈 운영 |
⚠️ 문제 해결 (FAQ)
Q1. “연결 실패: 서버에 도달할 수 없습니다”
확인 리스트:
- 배포 서버 URL 이 올바른지 확인 (브라우저에서
/sse접속 테스트) - 방화벽/보안 그룹에서 HTTPS(443) 포트 개방 확인
- Fly.io 앱이
started상태인지 확인:flyctl status --app slack-mcp-server - Claude Desktop 재시작
로그 확인:
flyctl logs --app slack-mcp-server
Q2. “인증 실패: 유효하지 않은 토큰입니다”
해결법:
- 배포 서버의 환경 변수 (
MCP_AUTH_TOKEN) 확인:flyctl secrets list --app slack-mcp-server - Claude Desktop 설정의 토큰 값과 일치하는지 확인
- 토큰에 공백/줄바꿈이 포함되지 않았는지 확인
- 필요 시 토큰 재생성 → 서버 재배포
Q3. “연결은 되는데 메시지가 읽히지 않아요”
확인 리스트:
- Bot 이 해당 채널에 초대되었는지 확인:
/invite @Claude SLACK_CHANNEL_IDS에 해당 채널이 포함되었는지 확인 (배포 서버 환경 변수)- 비공개 채널인 경우
groups:historyScope 추가 - Slack API 토큰 만료 여부 확인 (90 일 주기)
Q4. “연결이 자주 끊겨요”
해결법:
- Supergateway 사용 (자동 재연결 지원) — 방법 A 참조
- Claude Desktop 설정에
timeout추가:
{
"mcpServers": {
"slack-remote": {
"command": "npx",
"args":
}
}
}
- 서버 리소스 부족 확인:
flyctl status --app slack-mcp-server(CPU/Memory) - 필요 시 서버 규모 업그레이드:
flyctl scale vm shared-cpu-2x --app slack-mcp-server
Q5. 팀원에게 설정을 배포하는 가장 쉬운 방법은?
권장 방법: 설정 파일을 팀 채널에 공유 + 자동화 스크립트 제공:
공유용 README.md:
## 팀 MCP Slack 서버 설정 (3 분)
### macOS
```bash
mkdir -p ~/Library/Application\ Support/Claude
curl -o ~/Library/Application\ Support/Claude/claude_desktop_config.json \
https://raw.githubusercontent.com/our-team/mcp-config/main/claude_desktop_config.json
Windows (PowerShell)
New-Item -ItemType Directory -Force -Path $env:APPDATA\Claude
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/our-team/mcp-config/main/claude_desktop_config.json" \
-OutFile "$env:APPDATA\Claude\claude_desktop_config.json"
그 후 Claude Desktop 재시작!
*
## 🚀 고급: CI/CD 로 자동 배포 (선택)
### GitHub Actions 예시
`.github/workflows/deploy.yml`:
```yaml
name: Deploy MCP Slack Server
on:
push:
branches:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Fly.io CLI
run: |
curl -L https://fly.io/install.sh | sh
echo "$HOME/.fly/bin" >> $GITHUB_PATH
- name: Login to Fly.io
run: flyctl auth login --access-token=${{ secrets.FLY_API_TOKEN }}
- name: Deploy
run: |
flyctl deploy --app slack-mcp-server \
--secret SLACK_BOT_TOKEN=${{ secrets.SLACK_BOT_TOKEN }} \
--secret MCP_AUTH_TOKEN=${{ secrets.MCP_AUTH_TOKEN }}
- name: Notify Slack
run: |
curl -X POST -H 'Content-type: application/json' \
--data '{"text":"MCP Slack 서버 배포 완료! 🚀"}' \
${{ secrets.SLACK_WEBHOOK_URL }}
📈 배포 완료 체크리스트
- MCP Slack 서버 클라우드 배포 완료 (Fly.io 등)
- SSE 엔드포인트 URL 확인 (
https://.../sse) - 브라우저에서
/sse접속 테스트 (200 OK) - Claude Desktop 설정 파일 (
claude_desktop_config.json) 수정 - 인증 토큰 환경 변수로 분리 관리 (선택, 권장)
- Claude Desktop 재시작
- 테스트 프롬프트로 연결 확인 (“Slack 에 연결됐어?”)
- Developer 탭에서
Connected상태 확인 - 팀원 공유용 설정 파일 및 가이드 준비 (팀 배포 시)
“원격 MCP 서버는 AI 에게 24/7 가동되는 전용 비서실을 제공하는 것입니다.”
30 분 투자로 팀 전체가 공유하는 엔터프라이즈급 AI 워크플로우를 구축하세요.