Spark Assistant for Slack - MCP Server
Spark Assistant for Slack - MCP Server
Сервер Model Context Protocol (MCP) для взаимодействия с рабочими пространствами Slack, адаптированный для 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Проверка аутентификации бота по токену и получение сведений о подключённом рабочем пространстве и пользователе-боте
Возвращает: название рабочего пространства, team ID, ID пользователя-бота и URL аутентификации
slack_list_channelsВыводит список публичных и приватных каналов, участником которых является бот, или заранее заданных каналов в рабочем пространстве
Необязательные входные параметры:
limit(по умолчанию: 100, максимум: 200),cursor(пагинация)
slack_post_messageОтправляет новое сообщение в канал Slack или личное сообщение пользователю
Обязательные входные параметры:
channel_id,text
slack_reply_to_threadОтвечает в конкретный тред сообщения в Slack
Обязательные входные параметры:
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 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-токену:
Командная строка: используйте
--token <token>для указания собственного токенаПеременная окружения: задайте
AUTH_TOKEN=<token>в качестве запасного вариантаАвтогенерация: если не указано ни то, ни другое, генерируется случайный токен
Параметр командной строки имеет приоритет над переменной окружения. Включайте токен в HTTP-запросы с помощью заголовка Authorization: Bearer <token>.
Устранение неполадок
Если возникают ошибки разрешений, проверьте следующее:
Все необходимые области (scopes) добавлены в ваше Slack-приложение
Приложение правильно установлено в ваше рабочее пространство
Токены и ID рабочего пространства правильно скопированы в вашу конфигурацию
Приложение добавлено в каналы, к которым ему требуется доступ
Разработка
Сборка
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-транспорта
Улучшенная обработка ошибок: улучшены обработка ошибок и журналирование
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