Skip to main content

Slack MCP Server 템플릿

경로: Console → Agent Ops → Tool Management+ 도구 생성Quick Setup 에서 Slack 선택 Slack MCP Server — channels, messages, threads, reactions, users (6 tools) Slack 워크스페이스의 채널·메시지·스레드·리액션·사용자 관리를 MCP 도구로 제공합니다. 템플릿 기반으로 등록하면 자격 증명만 입력 하면 바로 사용 가능합니다.

사전 주입 값 (Basic Information)

Slack 선택 시 아래 값이 자동으로 채워집니다. 그대로 저장하면 됩니다.
필드
Nameslack
TransportStandard I/O (stdio)
설명Slack MCP Server — channels, messages, threads, reactions, users (6 tools)
Access기본 Private (운영 상황에 맞춰 Public 으로 변경 가능)

Run Settings

항목
Commandnpx
Args-y, @modelcontextprotocol/server-slack
Add Argument필요 시 추가 인자 (--debug 등)

환경 변수 (Environment Variables)

템플릿 기본 제공 (User Input · 필수)

Slack 템플릿이 사전 정의해둔 두 개의 User Input 변수 — 사용자가 직접 입력 해야 합니다.
변수타입설명예시
SLACK_BOT_TOKENUser InputSlack Bot User OAuth Token (xoxb-...)xoxb-1234567890-...
SLACK_TEAM_IDUser InputSlack Workspace/Team ID (T...)T01234ABCDE

추가 환경변수 (이 화면에서 직접 설정 가능)

사전 정의된 필드 아래 Add Environment Variable 버튼으로 변수를 추가할 수 있습니다. 각 변수는 두 가지 타입 중 선택:
타입이 화면에서 값 입력?용도
User Input✓ 직접 입력사용자 단위 설정 (개별 워크스페이스별 토큰 등)
System Default✗ 입력 불가 — This value is fixed and automatically used at runtime운영자가 Environment 에 미리 세팅한 값이 런타임에 자동 주입
자주 추가하는 변수
변수타입 권장설명
SLACK_CHANNEL_IDSUser Input접근 허용 채널 ID 목록 (쉼표 구분, 예: C01ABC,C02DEF)
SLACK_APP_TOKENUser InputSocket Mode 용 App Token (xapp-…) — 실시간 리스너에 별도 사용
SLACK_DEFAULT_CHANNELUser Input 또는 System Default기본 전송 채널 (예: #seahorse-bot)
HTTP_PROXY / HTTPS_PROXYSystem Default사내 프록시 경유가 필요한 경우 운영자가 전역 설정
User Input vs System Default 선택 기준
  • User Input — 도구마다 다른 값을 써야 하는 경우 (테넌트별·워크스페이스별 토큰)
  • System Default — 테넌트 전체에 공통인 설정 (프록시·공통 게이트웨이 등) — 개별 사용자가 변경 못 하게 막고 싶을 때
Slack 템플릿은 기본적으로 모두 User Input 으로 설계되어 있어, 각 팀이 자기 워크스페이스 토큰을 입력해 독립적으로 운영할 수 있습니다.
설정 완료 후 Save 클릭으로 적용.

외부 참고 문서

Slack 측 설정(App 생성·Scope·이벤트 구독) 은 Slack 공식 문서가 정확·최신입니다. 본 템플릿을 쓰기 전에 아래 문서를 먼저 확인하세요.
주제링크
Slack API 홈api.slack.com
Your Apps (App 생성·관리)api.slack.com/apps
OAuth Scopes 레퍼런스api.slack.com/scopes
Events API (멘션 등)api.slack.com/apis/events-api
Socket Mode (실시간 리스너)api.slack.com/apis/socket-mode
Rate Limitsapi.slack.com/docs/rate-limits
Bot vs User Token 차이api.slack.com/concepts/token-types
Slack MCP 서버 소스github.com/modelcontextprotocol/servers — slack
본 Seahorse 템플릿은 공식 @modelcontextprotocol/server-slack 을 사용합니다. 노출 도구·인자 스펙이 업스트림 변경에 따라 달라질 수 있으니, 문제가 생기면 위 MCP 서버 저장소의 README·Changelog 를 먼저 확인하세요.

전체 연동 절차 (처음 사용자 기준)

Slack App Dashboard 구조가 처음엔 헷갈릴 수 있어, 실제 진행 순서대로 단계별로 정리합니다. 각 단계마다 화면에 무엇이 보이고 / 무엇을 하면 되는지 를 함께 제공합니다.
1

1단계 — Slack App 생성 신청

링크: api.slack.com/appsCreate New AppFrom scratch입력:
  • App Name: 사용자에게 보일 봇 이름 (예: seahorse-bot)
  • Pick a workspace: 연동할 워크스페이스 선택
Create App 클릭 → Basic Information 페이지로 이동.
신청 즉시 앱이 생성되고 토큰은 아직 없는 상태입니다.
2

2단계 — Basic Information 화면에서 뜨는 정보 확인

생성 직후 보이는 페이지에 App Credentials 섹션이 있습니다 (App ID · Client ID · Client Secret · Signing Secret · Verification Token).
이 값들은 Seahorse 템플릿 입력에 사용하지 않습니다. 아래 표의 용도로만 쓰이거나(또는 deprecated) 합니다. 복사해둘 필요 없이 다음 단계로 진행 하세요.
화면에 보이는 값용도Seahorse 에 쓰나
App ID앱 식별자
Client ID / Client SecretOAuth 2.0 로그인 대행
Signing Secret웹훅 요청 검증△ Socket Mode 구성 시만
Verification Tokendeprecated — 사용 금지
할 일: 좌측 사이드바의 Features → OAuth & Permissions 로 이동.
3

3단계 — OAuth & Permissions 에서 Scope 추가

화면에 보이는 것:
  • 상단 Token Rotation 안내 — 무시 (Redirect URL·Token Rotation 모두 기본 연동에 불필요)
  • OAuth Tokens 섹션에 OAuth Tokens will be automatically generated when you finish installing your app to your workspace. 안내 (토큰은 아직 없음)
  • 하단 범위 → 봇 토큰 범위 에 Scope 가 비어 있는 상태
할 일: 봇 토큰 범위Add an OAuth Scope 버튼으로 아래 Scope 최소 3 개 추가.
Scope용도필요성
chat:write봇이 메시지 전송필수
channels:read공개 채널 목록 조회필수
channels:history공개 채널 메시지 읽기필수 (RAG·문서 Q&A 용)
users:read사용자 프로필 조회권장
reactions:read · reactions:write리액션선택
files:write봇이 파일 첨부·업로드선택
groups:read · groups:history비공개 채널 접근 시선택
im:history · im:writeDM 에서 사용 시선택
User Token Scopes 는 비워두세요. Seahorse 표준 Q&A · 알림 봇은 Bot Token Scopes 만으로 동작합니다. 사용자 행세가 필요한 특수 케이스에만 추가.
4

4단계 — Install to Workspace (토큰 발급 트리거)

Scope 를 1 개 이상 추가한 뒤, 페이지 상단 OAuth Tokens 섹션의 버튼이 활성화됩니다:
  • 본인이 워크스페이스 관리자 면: Install to Workspace 버튼
  • 관리자 아님: Request to Workspace Install 버튼 → 클릭 시 관리자에게 요청 발송 → 관리자가 Slack Admin Console 에서 승인 필요
할 일: 버튼 클릭 → 권한 요약 화면 → Allow 클릭.
Scope 추가만으로는 토큰이 생기지 않습니다. 이 Install 단계를 반드시 거쳐야 xoxb-… 토큰이 발급됩니다.
5

5단계 — Bot User OAuth Token 복사

승인 직후 OAuth & Permissions 페이지 최상단 에 다음이 나타납니다:
OAuth Tokens

Bot User OAuth Token
xoxb-XXXXXXXXX-YYYYYYYYY-ZZZZZZZZZZZZZ    [Copy]
할 일:
  • Copy 버튼으로 전체 값 복사
  • 이 값이 Seahorse 의 SLACK_BOT_TOKEN 입력값입니다
Bot Token 은 시크릿입니다. 공개 저장소·Slack 채널·이메일 등에 노출하지 마세요. 유출되면 즉시 Revoke All OAuth Tokens → 재발급.
6

6단계 — Team ID 확인

Dashboard 어디에도 Team ID 가 직접 노출되지 않아 별도로 확인해야 합니다.방법 A — auth.test API (가장 빠름):
curl -H "Authorization: Bearer xoxb-..." https://slack.com/api/auth.test
응답 JSON 의 "team_id":"T01234ABCDE" 값이 SLACK_TEAM_ID.방법 B — Slack 웹 UI: 워크스페이스 접속 → About this workspace → Workspace ID.
7

7단계 — Seahorse 에 등록

Console → Agent Ops → Tool Management → + 도구 생성 → Slack 선택 → 아래 값 입력:
필드
SLACK_BOT_TOKEN5단계에서 복사한 xoxb-…
SLACK_TEAM_ID6단계에서 확인한 T…
Save도구 상세Test 로 연결 검증 → 6 개 도구 목록 채워지면 성공.
8

8단계 — 봇을 대상 채널에 초대 (잊기 쉬움)

등록만으론 부족합니다. 봇이 읽거나 쓸 각 채널에 명시적으로 초대 해야 합니다.Slack 에서 해당 채널에 들어가 입력창에:
/invite @seahorse-bot
공개 채널이어도 초대 없이는 channels:history · chat:write 가 거부 됩니다. 호출 시 channel_not_found 에러가 뜨면 이 단계를 확인하세요.

체크리스트

정상 연동 시 아래 조건이 모두 충족되어야 합니다.
  • Slack App 생성 완료
  • OAuth & Permissions 의 Bot Token Scopeschat:write · channels:read · channels:history 최소 포함
  • Install to Workspace 승인 완료
  • Bot User OAuth Token (xoxb-…) 확보
  • Team ID (T…) 확보
  • Seahorse Tool Management 에 Slack 템플릿 등록 + Test 성공
  • 사용할 Slack 채널마다 /invite @bot-name 완료
실시간 멘션 수신(Socket Mode) 이 추가로 필요한 경우:

6 개 노출 도구

본 템플릿 MCP 서버가 제공하는 도구 (상세 인자는 도구 상세 에서 Test 버튼으로 확인):
도구용도
slack_send_message채널·DM 에 메시지 전송
slack_read_channel채널의 최근 메시지 읽기
slack_read_thread특정 메시지의 스레드 읽기
slack_read_user_profile사용자 프로필 조회
slack_search_channels채널 검색
slack_search_users사용자 검색
Agent 의 Slack Listener 설정과 구분
  • 본 템플릿 Toolslack_send_message·slack_read_channel 등을 에이전트가 능동 호출 (Flow·Scheduler·대화 내 자연 호출)
  • Agent 생성 → Slack 탭 — Slack App Token·Signing Secret 을 추가 등록하여 Socket Mode 로 실시간 멘션 수신 (에이전트가 Slack 이벤트를 수신·응답)
양방향 실시간 Q&A 봇을 만들려면 본 템플릿 + Agent Slack 탭 을 함께 설정. 주기 폴링으로 충분하면 본 템플릿만으로도 충분합니다. 자세한 패턴: Slack 으로 문서 받아보기

활용 레시피

보안 주의

  • Bot Token 최소 권한 — 필요한 Scope 만 부여. admin.* 권한 금지.
  • 채널 범위 제한SLACK_CHANNEL_IDS 로 접근 채널을 명시적으로 제한하면 실수로 다른 채널에 전송하는 사고 방지.
  • 토큰 환경변수로만 전달 — 도구 호출 인자에 토큰을 직접 넣지 마세요 (감사 로그 노출).
  • Access 기본 Private — 공개(Public) 로 바꾸기 전에 같은 테넌트의 어떤 에이전트가 접근 가능해지는지 점검.
  • 퇴사자 토큰 회수 — Slack App 관리자에서 해당 토큰 revoke + Seahorse 도구 환경변수 갱신·회수.

Transport 필드에 관하여

Basic Information 의 Transport 드롭다운에서 Standard I/O 외에 Streamable HTTP 를 선택하는 것이 UI 상으로는 가능합니다. HTTP 선택 시 입력 필드는 다음과 같이 바뀝니다:
stdio 필드HTTP 필드
Command + Args + Environment VariablesConnection Settings (Endpoint URL · Timeout · Verify SSL) + Headers
본 템플릿의 기본 Transport 는 Standard I/O 입니다. 업스트림 MCP 서버(@modelcontextprotocol/server-slack · @modelcontextprotocol/server-github · uvx mcp-atlassian · rdb_server.py) 는 모두 로컬 프로세스(stdio) 기반 으로 설계되어 있습니다.UI 에서 Streamable HTTP 로 전환할 수는 있지만, 그 경우 같은 기능을 HTTP 엔드포인트로 감싸서 별도 호스팅한 서버가 이미 준비되어 있어야 합니다 (공식 지원되는 HTTP 버전이 Seahorse 에 번들된 것은 아닙니다).
  • 일반 사용자는 기본 Standard I/O 를 그대로 유지 하세요.
  • HTTP 엔드포인트를 자체 운영 중이고 그걸 연결하려는 경우라면, 사실상 커스텀 도구 로 처음부터 등록하는 편이 깔끔합니다.
  • HTTP 로 전환한 상태에서는 본 템플릿의 사전 주입 Command/Args/Env 가 더 이상 의미를 갖지 않습니다.

관련 문서