Skip to main content
Glama
nileshpatil6

telegram-slack-mcp

telegram-slack-mcp

Дайте Claude ваши настоящие чаты.

Два MCP-сервера, которые подключают Claude к вашим личным аккаунтам Telegram и Slack — вашим настоящим личным сообщениям, группам и каналам, а не инбоксу бота.

npm PyPI License

claude mcp add telegram -- npx -y telegram-slack-mcp telegram
claude mcp add slack    -- npx -y telegram-slack-mcp slack

А затем просто говорите:

«что там непрочитанного в телеграме от настоящих людей?» «прочитай мои последние 30 сообщений с Прией и набросай ответ» «найди по всем моим slack-рабочим пространствам постмортем после деплоя»


Зачем это существует

Большинство Telegram-интеграций использует Bot API, который видит только сообщения, отправленные боту, которого вы создали. Он не умеет читать уже существующие переписки. telegram-slack-mcp использует MTProto — тот же протокол, что и официальное приложение, и авторизуется как вы, — поэтому Claude видит именно те чаты, которые у вас есть.

Для Slack обычный коннектор ограничен одним рабочим пространством. telegram-slack-mcp берёт один пользовательский токен на каждое рабочее пространство и воспринимает их как единое целое, так что «искать везде» означает — действительно везде.

Related MCP server: telegram-mcp-server

Установка

Выберите ту среду, которая у вас уже есть. Оба варианта поставляют один и тот же набор инструментов.

Node

claude mcp add telegram -- npx -y telegram-slack-mcp telegram
claude mcp add slack    -- npx -y telegram-slack-mcp slack

Python

claude mcp add telegram -- uvx telegram-slack-mcp telegram
claude mcp add slack    -- uvx telegram-slack-mcp slack

Плагин Claude Code

/plugin marketplace add nileshpatil6/telegram-slack-mcp
/plugin install telegram@telegram-slack-mcp
/plugin install slack@telegram-slack-mcp
{
  "mcpServers": {
    "telegram": {
      "command": "npx",
      "args": ["-y", "telegram-slack-mcp", "telegram"],
      "env": { "TELEGRAM_API_ID": "1234567", "TELEGRAM_API_HASH": "your_hash" }
    },
    "slack": {
      "command": "npx",
      "args": ["-y", "telegram-slack-mcp", "slack"],
      "env": { "SLACK_USER_TOKENS": "xoxp-one,xoxp-two" }
    }
  }
}

Настройка

Telegram — 2 минуты

  1. Перейдите на https://my.telegram.org → Инструменты разработчика API → создайте приложение.

  2. Скопируйте api_id и api_hash и задайте их:

    claude mcp add telegram \
      -e TELEGRAM_API_ID=1234567 \
      -e TELEGRAM_API_HASH=your_hash \
      -- npx -y telegram-slack-mcp telegram
  3. Попросите Claude: «войди в telegram, мой номер +91…» Он вызывает login_start, Telegram присылает вам код, вы вставляете его, и срабатывает login_complete. Это происходит только один раз — сессия сохраняется в ~/.chat-mcp и остаётся навсегда.

Настроен 2FA? Передайте Claude облачный пароль вместе с кодом.

Slack — 5 минут

  1. Перейдите на https://api.slack.com/apps → Создать приложение → Из манифеста.

  2. Вставьте slack-app-manifest.yaml — в нём заранее проставлены все области (scopes).

  3. Установите в рабочее пространство, затем скопируйте пользовательский OAuth-токен (xoxp-…, а не xoxb-).

  4. Повторите шаг 3 для каждого нужного рабочего пространства. Приложение одно, на каждое — свой токен.

  5. Задайте их все сразу, разделив запятыми:

    claude mcp add slack -e SLACK_USER_TOKENS=xoxp-aaa,xoxp-bbb -- npx -y telegram-slack-mcp slack

Инструменты

Telegram

инструмент

что делает

login_start(phone)

отправляет вам код для входа

login_complete(code, password?)

завершает вход, сохраняет сессию

whoami()

какой аккаунт подключён

list_chats(limit, query, unread_only, kind)

последние чаты; kind фильтрует по dm, group, channel, bot…

read_chat(chat, limit, before_id)

сообщения одного чата — chat принимает @username, id или часть имени

search_messages(query, chat?, limit)

полнотекстовый поиск — в одном чате или во всех

unread_summary(limit, per_chat, kind)

сводка непрочитанного; kind: "dm" убирает шум каналов

send_message(chat, text, reply_to?)

ответить от вашего имени — выключено, пока нет TELEGRAM_ALLOW_SEND=1

Slack

инструмент

что делает

whoami()

все подключённые рабочие пространства и кто вы в каждом

list_channels(limit, query, workspace, types)

каналы во всех рабочих пространствах

list_dms(limit, workspace)

личные и групповые ЛС

read_channel(channel, limit, workspace, before_ts)

один канал или ЛС

read_thread(channel, thread_ts, limit, workspace)

ответы внутри ветки тред

search_messages(query, limit, workspace)

поддерживает in:#chan, from:@user

unread_summary(limit, per_chat, workspace)

непрочитанное во всех местах

send_message(channel, text, workspace, thread_ts?)

отправить от вашего имени — выключено, если нет SLACK_ALLOW_SEND=1

Каждый Slack-инструмент принимает необязательную workspace (любую подстроку имени). Пустую — чтобы действие распространялось на все пространства; параметр нужен только когда имя канала встречается сразу в нескольких, и в ошибке будет перечисленно какие.

Конфигурация

переменная

по умолчанию

значение

TELEGRAM_API_ID

—

из my.telegram.org

TELEGRAM_API_HASH

—

из my.telegram.org

TELEGRAM_ALLOW_SEND

0

1 разрешает отправку сообщений Telegram от вашего имени

SLACK_USER_TOKENS

—

один xoxp--токен на рабочее пространство, через запятую

SLACK_ALLOW_SEND

0

1 разрешает публикации в Slack от вашего имени

CHAT_MCP_DATA_DIR

~/.chat-mcp

Настройки через командную строку

Отправка по умолчанию выключена в обоих серверах. Чтение — безопасное поведение по умолчанию; запись ты включаешь целенаправленно.

Конфиденциальность

На серверы этого проекта не отправляется ничего. Такого сервера не существует.

telegram-slack-mcp полностью работает на этой машине. Весь сетевой трафик — это прямые обращения к API Telegram и Slack, и только с вашими собственных учётных данных. Никакой телеметрии, никакой аналитики, никаких отчётов об падениях, никаких лицензионных проверок, никакого «звонка домой» — поищите в исходниках и не найдёте ни одной точки приёма.

Путь данных ровно такой:

your machine  <-->  Telegram / Slack APIs      (your credentials, your account)
your machine  <-->  Claude                     (only what you ask Claude to read)

Ваши учётные данные никогда не попадают до Claude. Файл сессии и xoxp--токены живут в ~/.chat-mcp и в вашем окружении; серверы используют их локально для запросов к API и возвращают только сами сообщения.

До Claude действительно доходит переписка, о содержании которой вы спросили, — потому что в этом суть инструмента. Если вы просите Claude почитать беседу, она попадает в ваш разговор с Claude и обрабатывается в рамках политики конфиденциальности Anthropic — как любой текст, который вы вставляете сами. Больше ничего не читается, и в фоне тоже ничего не читается: серверы срабатывают только тогда, когда Claude вызывает инструмент.

Автор этого проекта не видит ничего из этого.

Безопасность

Прочитайте этот пункт.

  • Они действуют как вы, а не как бот. Всё что-либо отправленное выглядит как отправленное с вашего аккаунта, и люди в тех чатах не замечают разницы.

  • Хранящаяся сессия — полноценные учётные данные. ~/.chat-mcp/telegram.session и ваши xoxp--токены эквивалентны тому, чтобы быть входом в ваш аккаунт. Тот, кто их скопирует, получают ваш аккаунт. Они никогда не покидайте вашу машину, и ни что здесь не «звонит домой».

  • Всё, что читает Claude, попадает в контекст модели. Не подключайте аккаунты, в которых хранятся данные, которые вы не стали бы передавать в любую модель.

  • Telegram называет это юзерботом. Автоматизация личного аккаунта ограничена условиями использования Telegram. Умеренное личное чтение и ответы — обычная практика с низким риском; массовая автоматизация ведёт к банам. Решать вам, аккаунт тоже ваш.

  • Отзыв в любой Telegram → Настройки → Устройства или удаление токена в настройках приложения Slack. Удаление ~/.chat-mcp уничтожает локальную сессию.

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

«Telegram ещё не залогинен» — запустите процесс входа: попросите Claude войти с вашим номером телефон. После этого вход сохраняется; если он появляется снова, проверьте, что CHAT_MCP_DATA_DIR доступен для записи.

«Отсутствуют учётные данные Telegram» — TELEGRAM_API_ID / TELEGRAM_API_HASH не доходят до сервера. При вызове claude mcp add передавайте их через -e.

Slack вообще ничего не возвращает — вы почти наверняка авторизованы против пустого или неправильного рабочего пространства. Выполните whoami, чтобы увидеть, какие процессы действительно подключены.

"#general" exists in several workspaces — передайте параметр workspace, чтобы снять звёздно; текст ошибка перечислит доступные варианты.

Поиск Slack вернул not_allowed_token_type — это токен бота (xoxb-). Нужен пользовательский OAuth-токен (xoxp-).

Разработка

git clone https://github.com/nileshpatil6/telegram-slack-mcp
cd telegram-slack-mcp
npm install && npm run build
node dist/cli.js telegram        # run the server on stdio

cd python && python -m build     # build the Python distribution

Лицензия

MIT

Related MCP Connectors

Related MCP Servers