mcpField
T
Telegram MCP

Telegram MCP

ローカル
github.com/n24q02mコミュニケーション111 日前に更新

Telegram MCP について

Telegram MCPは、AIエージェントがTelegramのメッセージ、チャット、メディア、連絡先を操作するためのサーバーです。Bot APIとユーザーアカウントの両モードに対応し、6つのツール群、stdioまたは認証付きHTTP、ドキュメントリソースを提供します。

主な機能

  1. 01Bot APIとMTProtoユーザーアカウントモード
  2. 02メッセージ、チャット、メディア、連絡先の管理
  3. 03stdioまたはHTTPでのMCP提供
  4. 04マルチユーザートークンと独立した名前空間
  5. 05TelegramドキュメントのMCPリソース
  6. 06SSRF・パストラバーサル対策と未信頼コンテンツのタグ付け

活用シーン

  1. 01Telegramメッセージの送信、検索、管理
  2. 02グループ、チャンネル、フォーラムトピックの管理
  3. 03メディアファイルの送信やダウンロード
  4. 04ユーザーアカウントでの連絡先管理

MCP 対応

MCPサーバーは、メッセージ、チャット、メディア、連絡先、設定、ヘルプのツールとTelegramドキュメントリソースをクライアントに公開します。stdioとHTTPに対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"n24q02m-better-telegram": {
"command": "uvx",
"args": [
"n24q02m-telegram"
],
"env": {
"TELEGRAM_BOT_TOKEN": "<TELEGRAM_BOT_TOKEN>",
"TELEGRAM_API_ID": "<TELEGRAM_API_ID>",
"TELEGRAM_API_HASH": "<TELEGRAM_API_HASH>"
}
}
}
}
起動コマンドuvx n24q02m-telegram
設定が必要な環境変数
TELEGRAM_BOT_TOKENシークレットTelegram bot token from @BotFather (for bot mode)
TELEGRAM_API_IDTelegram API ID from my.telegram.org (for user mode)
TELEGRAM_API_HASHシークレットTelegram API hash from my.telegram.org (for user mode)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypin24q02m-telegram4.23.0
ocidocker.io/n24q02m/telegram:latest

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

telegram

mcp-name: io.github.n24q02m/better-telegram-mcp

AI エージェント向け Telegram:ボットモードとユーザーアカウントモードで、メッセージ、チャット、メディア、連絡先を扱えます。

Mode CI codecov PyPI Docker License: Apache-2.0

Python Telegram MCP semantic-release Renovate

n24q02m の関連プロジェクト(クリックして展開) | プロジェクト | キャッチコピー | タグ | |---|---|---| | [agent-chat-plugin](https://github.com/n24q02m/agent-chat-plugin) | 共有フォルダー内でAIエージェント同士がチャット — 人間の仲介もオーケストレーターも不要。... | ツール | | [better-code-review-graph](https://github.com/n24q02m/better-code-review-graph) | トークン効率の高いコードレビューのためのナレッジグラフ — セマンティック検索と呼び出し... | MCP | | [better-drive](https://github.com/n24q02m/better-drive) | .driveignoreフィルターを備えた双方向Google Drive同期 — rcloneエンジン、Windowsトレイ | ツール | | [better-email-mcp](https://github.com/n24q02m/better-email-mcp) | AIエージェント向けIMAP/SMTPメール — メールの読み取り、送信、フォルダーの整理、添付ファイルの管理... | MCP | | [better-godot-mcp](https://github.com/n24q02m/better-godot-mcp) | Godot Engine向け複合MCPサーバー — AI支援のゲーム開発を実現する17個の複合ツール... | MCP | | [better-notion-mcp](https://github.com/n24q02m/better-notion-mcp) | AIエージェント向けのMarkdownファーストなNotion — ページ、データベース、ブロック、コメント... | MCP | | [better-semantic-release](https://github.com/n24q02m/better-semantic-release) | リリースの安全性を守るガード機能を組み込んだ、差し替え可能なpython-semantic-releaseのフォーク(... | ツール | | [better-telegram-mcp](https://github.com/n24q02m/better-telegram-mcp) | AIエージェント向けTelegram — 両方のボ...にわたるメッセージ、チャット、メディア、連絡先 | MCP | | [better-workspace-mcp](https://github.com/n24q02m/better-workspace-mcp) | Google Workspace MCPサーバー(Docs/Drive/Calendar/Gmail/Sheets/Slides/Tasks/Ch...) | MCP | | [claude-plugins](https://github.com/n24q02m/claude-plugins) | n24q02mのMCPサーバー向けClaude Codeプラグインマーケットプレイス — ウェブ検索をインストール... | マーケットプレイス | | [imagine-mcp](https://github.com/n24q02m/imagine-mcp) | AIエージェント向けの画像・動画の理解と生成 — Gemini、Op...に対応 | MCP | | [jules-task-archiver](https://github.com/n24q02m/jules-task-archiver) | batchexecute APIを介してJulesタスクを一括操作するChrome拡張機能 — ... | ツール | | [mcp-core](https://github.com/n24q02m/mcp-core) | MCPサーバー構築のための共有基盤 — Streamable HTTPトランスポート、OAuth... | MCP | | [mnemo-mcp](https://github.com/n24q02m/mnemo-mcp) | ハイブリッド検索と埋め込み同期を備えた永続的なAIメモリ。オープン、無料、無制限... | MCP | | [qwen3-embed](https://github.com/n24q02m/qwen3-embed) | ONNX RuntimeとGGUFを介した軽量なQwen3テキスト埋め込みと再ランキング | ライブラリ | | [skret](https://github.com/n24q02m/skret) | サーバー不要のシークレット管理。 | CLI | | [tacet](https://github.com/n24q02m/tacet) | ナレッジ...全体でLLMコストを償却する、自己蒸留型のニューロシンボリック・カスケード | ツール | | [web-core](https://github.com/n24q02m/web-core) | 検索、スクレイピング、HTTPセキュリティ、st...向けの共有ウェブインフラストラクチャパッケージ | ライブラリ | | [wet-mcp](https://github.com/n24q02m/wet-mcp) | AIエージェント向けのオープンソースMCPサーバー:ウェブ検索、コンテンツ抽出、ライブラリ... | MCP |

目次

better-telegram-mcp MCPサーバー ## 特長
  • デュアルモード -- ボットには Bot API(httpx)、ユーザーアカウントには MTProto(Telethon)を使用します
  • 6 つのツールとアクションディスパッチ:message、chat、media、contact、config、help
  • モードの自動検出 -- ボットモードではボットトークンを、ユーザーモードでは電話番号を設定します
  • ローカル CLI 認証 -- telegram auth で、サーバーを実行するマシン上でボットトークン、または電話番号+OTP+2FA を処理します
  • stdio または HTTP -- デフォルトは stdio、HTTP は認証なし(ループバックのみ)、単一のベアラートークン、またはユーザーごとのトークンに対応します
  • ツールのアノテーション -- 各ツールで readOnlyHint、destructiveHint、idempotentHint、openWorldHint を宣言します
  • MCP リソース -- ドキュメントを telegram://docs/* リソースとして利用できます
  • セキュリティ強化 -- SSRF 対策、パストラバーサル防止、エラーのサニタイズ、Telegram コンテンツへのプロンプトインジェクション境界タグに対応します

インストール

# Claude Code plugin (stdio, bot mode)
/plugin marketplace add n24q02m/claude-plugins
/plugin install better-telegram-mcp@n24q02m-plugins

# Direct uvx invocation (stdio, bot mode)
claude mcp add telegram -e TELEGRAM_BOT_TOKEN=123456:ABC-DEF -- uvx n24q02m-telegram

# Docker stdio
docker run -i --rm -e TELEGRAM_BOT_TOKEN=123456:ABC-DEF n24q02m/telegram

パッケージ名は n24q02m-telegram です(以前は better-telegram-mcp。旧パッケージは最後のリリースを行った後、更新を停止します)。MCP Registry の ID は引き続き io.github.n24q02m/better-telegram-mcp、Docker イメージは n24q02m/telegram です。また、従来の better-telegram-mcp コマンドは telegram のエイリアスとして残ります。初回起動時に、ローカルデータは ~/.better-telegram-mcp から ~/.telegram に一度だけ移行されます。

インストールマトリックス
クライアントインストール
Claude Code/plugin marketplace add n24q02m/claude-plugins + /plugin install better-telegram-mcp@n24q02m-plugins(stdio ボットモード)、または上記のブロックに記載されているように claude mcp add を使用します
Cursor / Windsurf / Gemini CLI / 任意の MCP クライアントクライアントの設定にある mcpServers JSON で、stdio の command を指定するか、type: "http" と、実行するサーバーを指す url を指定します(HTTP モードを参照)

AI エージェントでインストール -- 次の内容を AI コーディングエージェントに貼り付けます:

https://raw.githubusercontent.com/n24q02m/claude-plugins/main/plugins/better-telegram-mcp/setup-with-agent.md の手順に従って MCP サーバー telegram をインストールしてください

セットアップ

認証情報は、サーバーを実行するマシン上で設定します。

ボットモード: クライアント設定で TELEGRAM_BOT_TOKEN を設定するか、一度だけ保存します:

telegram auth --bot-token 123456:ABC-DEF

ユーザーモード: 電話番号を使って対話形式でサインインします。Telegram から OTP が送信されます。アカウントに 2FA が設定されている場合は、2FA パスワードの入力を求められます。Telethon セッションはディスクに保存されます。

telegram auth --phone +15551234567

telegram status で結果を確認します。サーバーは起動時に保存済みの認証情報を読み込むため、telegram auth の後に再起動してください。認証情報がない場合、stdio サーバーはこれらの手順を stderr に出力して、ステータス 1 で終了します。

Smithery

Smithery にも掲載されています。smithery.yaml に従い、Smithery は uvx --python 3.13 n24q02m-telegram を使って stdio 経由でサーバーを起動し、インストール時の設定は不要です(configSchema は空です)。認証情報は TELEGRAM_BOT_TOKEN 環境変数、または事前に実行した telegram auth から取得されます(セットアップを参照)。

設定

設定は TELEGRAM_ を接頭辞とする環境変数から読み込まれます(Pydantic Settings)。環境変数は telegram auth で保存した認証情報より優先されます。

変数必須説明
TELEGRAM_BOT_TOKENボットモード@BotFather から取得したボットトークン(形式は 123456789:ABCdef...)
TELEGRAM_PHONEユーザーモード+<country><number> 形式の電話番号
TELEGRAM_API_ID / TELEGRAM_API_HASHいいえ同梱の公開 API ペアを上書きします
USE_BUNDLED_TELEGRAM_CLIENTいいえ独自の API ペアを必須にするには false に設定します
TELEGRAM_SESSION_NAMEいいえTelethon セッションファイル名(デフォルトは default)
TELEGRAM_DATA_DIRいいえセッションディレクトリ(デフォルトは ~/.telegram)
MCP_TRANSPORTいいえHTTP モードで起動するには http に設定します(--http または TRANSPORT_MODE=http も使用できます)

TELEGRAM_PASSWORD 環境変数はありません。telegram auth は 2FA パスワードの入力を求めますが、その値を環境変数に保存することはありません。

HTTP モード

telegram --http は /mcp で MCP を、認証なしの GET /health でヘルスチェックを提供します。 設定は ~/.telegram/config.toml にあります。

[server]
host = "127.0.0.1"   # default; --host overrides
port = 8000          # default; --port overrides
auth = "token"       # "no-auth" | "token" | "multi"
token_hash = "scrypt$..."
auth接続できるユーザー使用する認証情報
no-authポートに接続できるすべてのユーザー。ループバックアドレスのみでバインドされます(ループバック以外のホストは拒否されます)デフォルトの認証情報
tokentoken_hash に一致する Authorization: Bearer <token> を送信するクライアントデフォルトの認証情報
multiusers.toml(デフォルトは ~/.telegram/users.toml)に記載されたユーザー。それぞれ独自のトークンを使用します各ユーザー固有の名前空間

telegram token hash を使ってトークンハッシュを作成します(トークンは標準入力またはプロンプトから読み込まれ、コマンドラインから読み込まれることはありません)。multi モードでユーザーを追加するには、users.toml を編集してサーバーを再起動します。

[users.alice]
token_hash = "scrypt$..."
enabled = true
namespace = "alice"

次に、サーバーマシン上でそのユーザーの Telegram を認証します。

telegram auth --phone +15551234567 --user alice

別のマシンにあるサーバーに接続するには、TLS 終端リバースプロキシまたはプライベートネットワークの背後に配置し、token または multi 認証を使用します。

CLI

telegram コンソールスクリプト(uvx / pip でインストール。better-telegram-mcp はレガシーエイリアスです)は、サブコマンドなしで実行すると MCP サーバーを起動します。サブコマンドではないフラグはサーバーに渡されます(例:--http、--host、--port)。

telegram            # start the MCP server (stdio)
telegram --http     # start in HTTP mode
telegram --version  # print the version
サブコマンド使用方法説明
authauth --bot-token <token> または auth --phone <+number>、任意で --user <ns>このマシンを認証します。ボットモードではトークンを検証します。電話モードでは対話型の OTP/2FA フローを実行し、Telethon セッションをディスクに保存します
loginauth と同じ引数auth の非推奨エイリアス
logoutlogout [--yes] [--user <ns>]Telegram セッションを失効させ、セッションファイルと保存済み認証情報を削除します
configconfig status、config delete --yes保存済みの認証情報設定を表示または削除します
statusstatus認証情報が設定されているかどうかを表示します
doctordoctor環境診断情報を出力します
tokentoken hashconfig.toml / users.toml 用にベアラートークンをハッシュ化します

--user は保存先の名前空間を選択します(デフォルトは default。stdio と no-auth / token HTTP モードで使用されます)。不明なサブコマンドはステータス 2 で終了します。

ツール

ツールアクション説明
messagesend、edit、delete、forward、pin、react、search、historyメッセージの送信、編集、削除、転送を行います。メッセージのピン留め、リアクション、検索、履歴の閲覧もできます
chatlist、info、create、join、leave、members、admin、settings、topicsチャット、グループ、チャンネルを一覧表示して管理します。メンバー、管理者、フォーラムのトピックも扱います
mediasend_photo、send_file、send_voice、send_video、download写真、ファイル、ボイスメッセージ、動画を送信します。メッセージからメディアをダウンロードします
contactlist、search、add、block連絡先を一覧表示、検索、追加します。ユーザーモードではユーザーのブロック/ブロック解除もできます
configstatus、set、cache_clearサーバーのステータス、実行時設定(message_limit、timeout)、キャッシュ
help--任意のトピックに関するドキュメント全体
MCP リソース
URI内容
telegram://docs/messagesメッセージ操作のリファレンス
telegram://docs/chatsチャット管理のリファレンス
telegram://docs/mediaメディアの送信/ダウンロードに関するリファレンス
telegram://docs/contacts連絡先管理のリファレンス
telegram://statsすべてのドキュメントをまとめたもの

比較

各項目において、telegram と直接の競合製品を比較します。

機能telegramchigwell/telegram-mcpsparfenyuk/mcp-telegramguangxiangdebizi/telegram-mcp
Bot API モード(ボットトークン)対応(httpx)非対応非対応対応
MTProto ユーザーアカウントモード対応(Telethon)対応対応非対応
メッセージの送信/編集/削除対応対応非対応(読み取り専用、下書きのみ)対応(送信のみ)
メッセージからのメディアのダウンロード対応対応対応非対応(送信のみ)
連絡先の管理(追加/ブロック)対応(ユーザーモード)対応一部対応(一覧表示のみ)非対応
マルチユーザー HTTP、ユーザーごとの分離対応(ユーザーごとのトークンと名前空間)非対応非対応非対応
SSRF 対策対応(URL 検証+DNS リバインディング対策)??非対応
パストラバーサル対策対応対応(実パスの許可ルート)?非対応
セルフホスト可能対応対応対応対応

セキュリティ

  • SSRF 対策 -- すべての URL を内部/プライベート IP アドレス範囲と照合して検証し、DNS リバインディングをブロックします
  • パストラバーサル対策 -- ファイルパスを検証し、機密ディレクトリへのアクセスをブロックします
  • セッションファイルのセキュリティ -- 権限は 600 です。2FA パスワードは入力を求められ、環境変数には保存されません
  • エラーのサニタイズ -- 認証情報とボットトークンがエラーメッセージやログに漏れることはありません
  • プロンプトインジェクションの境界 -- ツールが返す Telegram のコンテンツは、信頼できないコンテンツを示すタグで囲まれます

ソースからビルド

git clone https://github.com/n24q02m/telegram.git
cd telegram
uv sync
uv run telegram

信頼モデル

このプロジェクトは、ホスト型の Telegram エンドポイントを運用していません。サーバーはお客様が管理するインフラストラクチャ上で動作し、認証情報がそのマシンの外部に出ることはありません。

データ保存場所保護
保存された認証情報(ボットトークン/電話番号)~/.telegram/config.json。multi モードでは ~/.telegram/subs/<ns>/config.jsonマシンキー ~/.telegram/.secret を使った AES-256-GCM 暗号化
Telethon セッション~/.telegram/<name>.session。multi モードでは ~/.telegram/subs/<ns>/ファイル権限 0600
HTTP ベアラートークンconfig.toml/users.toml の token_hashscrypt ハッシュのみを保存

OS ユーザーアカウントにアクセスできる人は誰でも、これらのファイルを読み取ることができます。

ライセンス

Apache-2.0 -- LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。