Skip to main content
Glama
nileshpatil6

telegram-slack-mcp

telegram-slack-mcp

Claudeに、あなたの実際のチャットを。

2つのMCPサーバーがClaudeを、あなたの個人のTelegramアカウントおよびSlackアカウントに接続します。ボットの受信トレイではなく、実際のDM、グループ、チャンネルを対象にします。

npm PyPI License

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

それからは、普通に話しかけるだけです:

「実際の相手からのTelegramの未読は何?」 「Priyaとの直近30件のメッセージを読んで、返信を下書きして」 「全Slackワークスペースからデプロイのポストモーテムを検索して」


これが存在する理由

大半のTelegram連携はBot APIを使いますが、Bot APIが参照できるのはあなたが作成したボットに送られたメッセージだけです。既存の会話を読むことはできません。telegram-slack-mcpは公式アプリと同じプロトコルであるMTProtoを使用して、あなた自身として認証を行うため、Claudeはあなたが実際にしているチャットを参照できます。

Slackについても、典型的なコネクターは単一のワークスペースに限定されています。telegram-slack-mcp はワークスペースごとに1つのユーザートークンを受け取り、それらを単一の対象として扱うため、「どこでも検索」が文字通り「すべての場所の検索」になります。

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 development tools → アプリの作成 と進みます。

  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…」 Claudeが login_start を呼ぶと、Telegramがコードを送ってくるので、そのコードを貼り付けて login_complete を呼びます。これが必要なのは最初の一度だけです。セッションは ~/.chat-mcp に保存され、その後も永続します。

2FAを利用している場合は、コードと合わせてクラウドパスワードをClaudeに渡してください。

Slack — 5分

  1. https://api.slack.com/apps にアクセス → Create New App → From a manifest と進みます。

  2. slack-app-manifest.yaml を貼り付けます。すべてのスコープが自動入力されます。

  3. Install to Workspace を実行し、User OAuth Token(xoxp-…。は xoxb- ではない)をコピーします。

  4. 追加したい各ワークスペースについて手順3を繰り返します。同じアプリで、それぞれに1つトークンを用意します。

  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)

1つのチャットのメッセージ表示。chat は @用户名、id、または名前の一部を受け付ける

search_messages(query, chat?, limit)

全文検索。1つのチャット、またはすべてのチャットで実行する

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)

1:1 およびグループDMの一覧

read_channel(channel, limit, workspace, before_ts)

1つのチャンネルまたはDMの中身を表示

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 パラメータ(名前の任意の部分文字列)を受け取ります。省略した場合は、すべてのワークスペースを対象に動作します。workspace を指定する必要があるのは、チャンネル名が複数のワークスペースに存在する場合だけです。その際もエラーメッセージが候補を示してくれます。

設定

変数

デフォルト

意味

TELEGRAM_API_ID

—

my.telegram.org から取得

TELEGRAM_API_HASH

—

my.telegram.org から取得

TELEGRAM_ALLOW_SEND

0

1 にすると、ClaudeがあなたとしてTelegramメッセージを送信できる

SLACK_USER_TOKENS

—

ワークスペースごとの xoxp- トークン(カンマ区切り)

SLACK_ALLOW_SEND

0

1 にすると、ClaudeがあなたとしてSlackに投稿できる

CHAT_MCP_DATA_DIR

~/.chat-mcp

Telegramセッションの保存先

送信は、両サーバーともにデフォルトでオフです。読み取りだけが安全なデフォルトの振る舞いであり、書き込みを行うには意図的にオプトインする必要があります。

プライバシー

このプロジェクトが所有するサーバーに、何かが送信されることは一切ありません。そのようなサーバーは存在しません。

telegram-slack-mcp は完全にあなたのマシン上で動作します。ネットワーク通信は、あなた自身の認証情報を使ってTelegramとSlackのAPIへ直接送るものだけです。テレメトリも、アナリティクスも、クラッシュレポートも、ライセンスチェックもありません。ソースコードをgrepしてみても、接続先のエンドポイントはどこにも見つかりません。

データの流れは、まさにこのような形です:

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 not logged in yet」 — ログインフローを実行してください。Claudeに電話番号でログインするよう指示します。一度実行すれば、以後はその状態が続きます。また表示される場合は、CHAT_MCP_DATA_DIR が書き込み可能になっているかを確認してください。

「Missing Telegram credentials」 — TELEGRAM_API_ID と TELEGRAM_API_HASH がサーバーに渡っていません。claude mcp add を使っているなら、-e オプションで指定してください。

Slackがまったく何も返さない — おそらく、空のワークスペースまたは間違ったワークスペースを認証しているはずです。whoami で、実際に接続されているワークスペースを確認してください。

「#general という名前が複数のワークスペースに存在する」 — workspace パラメータを渡して、対象を特定します。エラーメッセージに候補が表示されます。

Slack検索が not_allowed_token_type エラーを返す — 設定しているトークンがボットトークン(xoxb-)です。User の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