Skip to main content
Glama
hamas

Spark Assistant for Slack - MCP Server

by hamas

Spark Assistant for Slack - MCP Server

Сервер Model Context Protocol (MCP) для взаимодействия с рабочими пространствами Slack, адаптированный для 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

    • Проверка аутентификации бота по токену и получение сведений о подключённом рабочем пространстве и пользователе-боте

    • Возвращает: название рабочего пространства, team 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 Apps

  • Нажмите «Create New App»

  • Выберите «From scratch»

  • Дайте приложению имя и выберите рабочее пространство

2. Настройте области токена бота

Перейдите в раздел «OAuth & Permissions» и добавьте следующие области (scopes):

  • channels:history - просмотр сообщений и другого содержимого в публичных каналах

  • channels:read - просмотр основной информации о канале

  • chat:write - отправка сообщений от имени приложения

  • reactions:write - добавление эмодзи-реакций к сообщениям

  • users:read - просмотр пользователей и их основной информации

  • users.profile:read - просмотр подробных профилей пользователей

3. Установите приложение в рабочее пространство

  • Нажмите «Install to Workspace» и авторизуйте приложение

  • Сохраните «Bot User OAuth Token», который начинается с xoxb-

4. Получите свой Team ID

Получите свой Team 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

  • Назначение: удалённые серверы и веб-интеграции

  • Передача данных: HTTP POST-запросы с опциональными потоками Server-Sent Events

  • Возможности:

    • Управление сеансами

    • Двунаправленная связь

    • Возобновляемые подключения

    • Конечные точки RESTful API

    • Аутентификация по Bearer-токену

Аутентификация (только для транспорта Streamable HTTP)

При использовании транспорта Streamable HTTP сервер поддерживает аутентификацию по Bearer-токену:

  1. Командная строка: используйте --token <token> для указания собственного токена

  2. Переменная окружения: задайте AUTH_TOKEN=<token> в качестве запасного варианта

  3. Автогенерация: если не указано ни то, ни другое, генерируется случайный токен

Параметр командной строки имеет приоритет над переменной окружения. Включайте токен в HTTP-запросы с помощью заголовка Authorization: Bearer <token>.

Устранение неполадок

Если возникают ошибки разрешений, проверьте следующее:

  1. Все необходимые области (scopes) добавлены в ваше 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