Skip to main content
Glama
hamas

Spark Assistant for Slack - MCP Server

by hamas

Spark Assistant for Slack - MCP 서버

Slack 워크스페이스와 상호작용하기 위한 Model Context Protocol(MCP) 서버로, Spark Assistant용으로 커스터마이즈되었습니다. 이 서버는 채널 목록 조회, 메시지 게시, 스레드 답글 작성, 이모지 반응 추가, 채널 기록 조회, 사용자 프로필 조회, Slack API 인증 테스트 도구를 제공합니다.


⚡ 빠른 시작

  1. 의존성 설치 및 빌드:

    npm install
    npm run build
  2. 환경 변수 구성: .env.example.env로 복사하고 Slack 자격 증명을 입력하세요:

    cp .env.example .env
    SLACK_BOT_TOKEN=xoxb-your-slack-bot-token
    SLACK_TEAM_ID=T00000000
  3. 서버 실행:

    # 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

🛠️ 사용 가능한 도구

  1. slack_auth_test

    • 봇 토큰 인증을 테스트하고 연결된 워크스페이스와 봇 사용자 정보를 조회합니다

    • 반환 값: 워크스페이스 이름, 팀 ID, 봇 사용자 ID, 인증 URL

  2. slack_list_channels

    • 봇이 멤버로 속한 공개 및 비공개 채널 또는 워크스페이스의 사전 정의된 채널을 나열합니다

    • 선택 입력: limit(기본값: 100, 최대: 200), cursor(페이지네이션)

  3. slack_post_message

    • Slack 채널 또는 다이렉트 메시지 사용자에게 새 메시지를 게시합니다

    • 필수 입력: channel_id, text

  4. slack_reply_to_thread

    • Slack의 특정 메시지 스레드에 답글을 답니다

    • 필수 입력: channel_id, thread_ts, text

  5. slack_add_reaction

    • 메시지에 이모지 반응을 추가합니다

    • 필수 입력: channel_id, timestamp, reaction(콜론 없는 이모지 이름)

  6. slack_get_channel_history

    • 채널의 최근 메시지를 가져옵니다

    • 필수 입력: channel_id | 선택 입력: limit(기본값: 10)

  7. slack_get_thread_replies

    • 메시지 스레드의 모든 답글을 가져옵니다

    • 필수 입력: channel_id, thread_ts

  8. slack_get_users

    • 기본 프로필 정보가 포함된 워크스페이스 사용자 목록을 가져옵니다

    • 선택 입력: cursor, limit(기본값: 100, 최대: 200)

  9. 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-server

Docker 설치

# 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 http

node 직접 사용(개발용)

# 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 http

Docker 사용 예시

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 http

Docker 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 토큰 인증을 지원합니다:

  1. 명령줄: --token <token>을 사용하여 사용자 지정 토큰을 지정합니다

  2. 환경 변수: 대체 수단으로 AUTH_TOKEN=<token>을 설정합니다

  3. 자동 생성: 둘 다 제공되지 않으면 임의의 토큰이 생성됩니다

명령줄 옵션이 환경 변수보다 우선합니다. Authorization: Bearer <token> 헤더를 사용하여 HTTP 요청에 토큰을 포함하세요.

문제 해결

권한 오류가 발생하면 다음 사항을 확인하세요:

  1. Slack 앱에 필요한 모든 범위가 추가되었는지

  2. 앱이 워크스페이스에 올바르게 설치되었는지

  3. 토큰과 워크스페이스 ID가 구성에 올바르게 복사되었는지

  4. 앱이 접근해야 하는 채널에 추가되었는지

개발

빌드

npm run build

감시 모드

npm run watch

API 엔드포인트(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 전송을 위한 적절한 세션 처리 구현

  • 향상된 오류 처리: 오류 처리 및 로깅 개선

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    D
    maintenance
    Interact with Slack Workspaces over the Slack API. Supports stdio and Streamable HTTP transport. Extended from Anthropic's archived server
    8
    771
    75
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to interact with Slack workspaces through comprehensive channel management, messaging, direct messages, search functionality, and user management capabilities.
    30
    7
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Slack workspaces through natural language, supporting channel management, message operations, user profiles, reactions, and threaded conversations.

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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