Spark Assistant for Slack - MCP Server
Spark Assistant for Slack - MCP 서버
Slack 워크스페이스와 상호작용하기 위한 Model Context Protocol(MCP) 서버로, Spark Assistant용으로 커스터마이즈되었습니다. 이 서버는 채널 목록 조회, 메시지 게시, 스레드 답글 작성, 이모지 반응 추가, 채널 기록 조회, 사용자 프로필 조회, Slack API 인증 테스트 도구를 제공합니다.
⚡ 빠른 시작
의존성 설치 및 빌드:
npm install npm run build환경 변수 구성:
.env.example을.env로 복사하고 Slack 자격 증명을 입력하세요:cp .env.example .envSLACK_BOT_TOKEN=xoxb-your-slack-bot-token SLACK_TEAM_ID=T00000000서버 실행:
# Standard stdio mode (for Claude Desktop / Antigravity / Cursor / Windsurf) node dist/index.js # HTTP mode on port 3000 node dist/index.js --transport http --port 3000
Related MCP server: Slack MCP Server
🛠️ 사용 가능한 도구
slack_auth_test봇 토큰 인증을 테스트하고 연결된 워크스페이스와 봇 사용자 정보를 조회합니다
반환 값: 워크스페이스 이름, 팀 ID, 봇 사용자 ID, 인증 URL
slack_list_channels봇이 멤버로 속한 공개 및 비공개 채널 또는 워크스페이스의 사전 정의된 채널을 나열합니다
선택 입력:
limit(기본값: 100, 최대: 200),cursor(페이지네이션)
slack_post_messageSlack 채널 또는 다이렉트 메시지 사용자에게 새 메시지를 게시합니다
필수 입력:
channel_id,text
slack_reply_to_threadSlack의 특정 메시지 스레드에 답글을 답니다
필수 입력:
channel_id,thread_ts,text
slack_add_reaction메시지에 이모지 반응을 추가합니다
필수 입력:
channel_id,timestamp,reaction(콜론 없는 이모지 이름)
slack_get_channel_history채널의 최근 메시지를 가져옵니다
필수 입력:
channel_id| 선택 입력:limit(기본값: 10)
slack_get_thread_replies메시지 스레드의 모든 답글을 가져옵니다
필수 입력:
channel_id,thread_ts
slack_get_users기본 프로필 정보가 포함된 워크스페이스 사용자 목록을 가져옵니다
선택 입력:
cursor,limit(기본값: 100, 최대: 200)
slack_get_user_profile특정 사용자의 상세 프로필 정보를 가져옵니다
필수 입력:
user_id
Slack 봇 설정
이 MCP 서버를 사용하려면 Slack 앱을 만들고 필요한 권한으로 구성해야 합니다:
1. Slack 앱 만들기
Slack 앱 페이지 방문
"새 앱 만들기" 클릭
"처음부터" 선택
앱 이름을 지정하고 워크스페이스를 선택하세요
2. 봇 토큰 범위 구성
"OAuth 및 권한"으로 이동하여 다음 범위를 추가하세요:
channels:history- 공개 채널의 메시지 및 기타 콘텐츠 보기channels:read- 기본 채널 정보 보기chat:write- 앱으로 메시지 보내기reactions:write- 메시지에 이모지 반응 추가하기users:read- 사용자 및 기본 정보 보기users.profile:read- 사용자 상세 프로필 보기
3. 워크스페이스에 앱 설치
"워크스페이스에 설치"를 클릭하고 앱을 승인하세요
xoxb-로 시작하는 "Bot User OAuth 토큰"을 저장하세요
4. 팀 ID 확인
이 안내에 따라 팀 ID(T로 시작)를 확인하세요
5. 채널에 봇 추가(선택 사항)
봇이 비공개 채널에 접근하거나 메시지를 게시하려면 /invite @your-bot-name을 사용하여 특정 채널에 봇을 초대해야 할 수 있습니다
기능
다중 전송 지원: stdio 및 Streamable HTTP 전송을 모두 지원합니다
최신 MCP SDK: 최신 MCP SDK(v1.13.2)와 최신 API를 사용하도록 업데이트되었습니다
포괄적인 Slack 통합: 다음을 포함한 전체 Slack 작업 세트:
채널 목록 조회(사전 정의된 채널 지원)
메시지 게시
스레드 답글
반응 추가
채널 기록 조회
스레드 답글 조회
사용자 목록 조회
사용자 프로필 조회
설치
로컬 개발
npm install
npm run build전역 설치(NPM)
npm install -g @zencoderai/slack-mcp-serverDocker 설치
# Build the Docker image locally
docker build -t slack-mcp-server .
# Or pull from Docker Hub
docker pull zencoderai/slack-mcp:latest
# Or pull a specific version
docker pull zencoderai/slack-mcp:1.0.0구성
다음 환경 변수를 설정하세요:
export SLACK_BOT_TOKEN="xoxb-your-bot-token"
export SLACK_TEAM_ID="your-team-id"
export SLACK_CHANNEL_IDS="channel1,channel2,channel3" # Optional: predefined channels
export AUTH_TOKEN="your-auth-token" # Optional: Bearer token for HTTP authorization (Streamable HTTP transport only)사용법
명령줄 옵션
slack-mcp [options]
Options:
--transport <type> Transport type: 'stdio' or 'http' (default: stdio)
--port <number> Port for HTTP server when using Streamable HTTP transport (default: 3000)
--token <token> Bearer token for HTTP authorization (optional, can also use AUTH_TOKEN env var)
--help, -h Show this help message로컬 사용 예시
slack-mcp 명령 사용(전역 설치 후)
# Use stdio transport (default)
slack-mcp
# Use stdio transport explicitly
slack-mcp --transport stdio
# Use Streamable HTTP transport on default port 3000
slack-mcp --transport http
# Use Streamable HTTP transport on custom port
slack-mcp --transport http --port 8080
# Use Streamable HTTP transport with custom auth token
slack-mcp --transport http --token mytoken
# Use Streamable HTTP transport with auth token from environment variable
AUTH_TOKEN=mytoken slack-mcp --transport httpnode 직접 사용(개발용)
# Use stdio transport (default)
node dist/index.js
# Use stdio transport explicitly
node dist/index.js --transport stdio
# Use Streamable HTTP transport on default port 3000
node dist/index.js --transport http
# Use Streamable HTTP transport on custom port
node dist/index.js --transport http --port 8080
# Use Streamable HTTP transport with custom auth token
node dist/index.js --transport http --token mytoken
# Use Streamable HTTP transport with auth token from environment variable
AUTH_TOKEN=mytoken node dist/index.js --transport httpDocker 사용 예시
Docker 직접 사용
# Run with stdio transport (default)
docker run --rm \
-e SLACK_BOT_TOKEN="xoxb-your-bot-token" \
-e SLACK_TEAM_ID="your-team-id" \
zencoderai/slack-mcp:latest
# Run with HTTP transport on port 3000
docker run --rm -p 3000:3000 \
-e SLACK_BOT_TOKEN="xoxb-your-bot-token" \
-e SLACK_TEAM_ID="your-team-id" \
zencoderai/slack-mcp:latest --transport http
# Run with HTTP transport on custom port
docker run --rm -p 8080:8080 \
-e SLACK_BOT_TOKEN="xoxb-your-bot-token" \
-e SLACK_TEAM_ID="your-team-id" \
zencoderai/slack-mcp:latest --transport http --port 8080
# Run with custom auth token
docker run --rm -p 3000:3000 \
-e SLACK_BOT_TOKEN="xoxb-your-bot-token" \
-e SLACK_TEAM_ID="your-team-id" \
-e AUTH_TOKEN="mytoken" \
zencoderai/slack-mcp:latest --transport httpDocker Compose 사용
docker-compose.yml 파일을 만드세요:
version: '3.8'
services:
slack-mcp:
# Use published image:
image: zencoderai/slack-mcp:latest
# Or build locally:
# build: .
environment:
- SLACK_BOT_TOKEN=xoxb-your-bot-token
- SLACK_TEAM_ID=your-team-id
- SLACK_CHANNEL_IDS=channel1,channel2,channel3 # Optional
- AUTH_TOKEN=your-auth-token # Optional for HTTP transport
ports:
- "3000:3000" # Only needed for HTTP transport
command: ["--transport", "http"] # Optional: specify transport type
restart: unless-stopped그런 다음 실행하세요:
# Start the service
docker compose up -d
# View logs
docker compose logs -f slack-mcp
# Stop the service
docker compose down전송 유형
Stdio 전송
사용 사례: 명령줄 도구 및 직접 통합
통신 방식: 표준 입력/출력 스트림
기본값: 예
Streamable HTTP 전송
사용 사례: 원격 서버 및 웹 기반 통합
통신 방식: 선택적 Server-Sent Events 스트림이 포함된 HTTP POST 요청
기능:
세션 관리
양방향 통신
재개 가능한 연결
RESTful API 엔드포인트
Bearer 토큰 인증
인증(Streamable HTTP 전송 전용)
Streamable HTTP 전송을 사용하는 경우 서버는 Bearer 토큰 인증을 지원합니다:
명령줄:
--token <token>을 사용하여 사용자 지정 토큰을 지정합니다환경 변수: 대체 수단으로
AUTH_TOKEN=<token>을 설정합니다자동 생성: 둘 다 제공되지 않으면 임의의 토큰이 생성됩니다
명령줄 옵션이 환경 변수보다 우선합니다. Authorization: Bearer <token> 헤더를 사용하여 HTTP 요청에 토큰을 포함하세요.
문제 해결
권한 오류가 발생하면 다음 사항을 확인하세요:
Slack 앱에 필요한 모든 범위가 추가되었는지
앱이 워크스페이스에 올바르게 설치되었는지
토큰과 워크스페이스 ID가 구성에 올바르게 복사되었는지
앱이 접근해야 하는 채널에 추가되었는지
개발
빌드
npm run build감시 모드
npm run watchAPI 엔드포인트(Streamable HTTP 전송)
Streamable HTTP 전송을 사용하는 경우 서버는 다음 엔드포인트를 노출합니다:
POST /mcp- 클라이언트-서버 통신GET /mcp- 서버-클라이언트 알림(Server-Sent Events 스트림)DELETE /mcp- 세션 종료
이전 버전에서 변경된 사항
MCP SDK 업데이트: v1.0.1에서 v1.13.2로 업그레이드
최신 API: 저수준 Server 클래스에서 고수준 McpServer 클래스로 마이그레이션
Zod 검증: Zod를 사용한 적절한 스키마 검증 추가
전송 유연성: Streamable HTTP 전송 지원 추가
명령줄 인터페이스: 전송 선택을 위한 CLI 인수 추가
세션 관리: HTTP 전송을 위한 적절한 세션 처리 구현
향상된 오류 처리: 오류 처리 및 로깅 개선
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceInteract with Slack Workspaces over the Slack API. Supports stdio and Streamable HTTP transport. Extended from Anthropic's archived server877175MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to interact with Slack workspaces through comprehensive channel management, messaging, direct messages, search functionality, and user management capabilities.3072MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Slack workspaces through natural language, supporting channel management, message operations, user profiles, reactions, and threaded conversations.
- AlicenseAqualityCmaintenanceEnables AI assistants to interact with Slack workspaces, including listing channels, posting messages, replying to threads, adding reactions, and retrieving user information.1045MIT
Related MCP Connectors
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Voice and chat for AI agents — Discord, Teams, Meet, Slack, Zoom, Telegram, WhatsApp, NC Talk, SIP
Catch up on Slack without reading it. Unreads, threads, search. Browser-session or hosted OAuth.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hamas/Spark-Assistant-for-Slack---MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server