Telegram について
Telegram MCP Serverは、Telegram APIを介してAIエージェントや他のMCPクライアントからTelegramを操作できます。ダイアログ一覧、メッセージの読み書き、任意のAPIメソッド実行に対応し、認証セッションを保存します。
主な機能
- 01ユーザーのダイアログ一覧取得
- 02指定したチャットのメッセージ取得
- 03指定したチャットへのメッセージ送信
- 04Telegram APIメソッドの実行
- 05認証済みセッションの保存
活用シーン
- 01最近のチャット一覧を確認
- 02チャット内のメッセージを読む
- 03指定したチャットにテキストを送る
- 04他のTelegram API操作を呼び出す
MCP 対応
ダイアログ取得、メッセージの読み書き、Telegram APIメソッド実行のツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Telegram MCP サーバー
英語版 | ロシア語版
Model Context Protocol(MCP)を通じて Telegram API を操作するサーバーです。AI エージェントやその他の MCP クライアントが Telegram とやり取りできます。
要件
- Node.js 14+(またはそれ以降)
- npm
- Telegram の API ID と API Hash
インストール
-
リポジトリをクローンします:
git clone https://github.com/kdoronin/telegram_mcp cd telegram-mcp -
依存関係をインストールします:
npm install(必要なパッケージ(
gramjs、@modelcontextprotocol/sdk、zodなど)がインストールされます。) -
.envファイルを作成して設定します:# Copy the example .env file cp .env.example .env.envファイルを編集し、API_IDとAPI_HASHを指定します。 -
API ID と API Hash を取得します:
- my.telegram.org にアクセスします
- アカウントにログインします
- 「API development tools」に移動します
- 新しいアプリケーションを作成します
api_idとapi_hashを.envファイルにコピーします
実行
実行に関する重要な注意
メインサーバーファイル mcp-server.js はプロジェクトのルートにあるため、パスの問題なく実行できます。
オプション 1:npm 経由(推奨)
npm run mcp # Run from the project root directory
オプション 2:node を直接実行
# Run from the project root directory
node mcp-server.js
オプション 3:実行可能ファイルとして実行
# From the project root
./mcp-server.js
オプション 4:グローバルインストール後に実行
npm install -g . # Install the package globally
telegram-mcp # Run the globally installed package
MCP クライアントとの統合
Cursor の設定
- Cursor の設定を開きます
- Features -> MCP Servers に移動します
- 「Add new MCP server」をクリックします
- サーバーを設定します:
- 名前:
telegram(または任意の名前) - タイプ:
command - コマンド:
node /full/path/to/project/mcp-server.js - 代わりに、
npx telegram-mcpを指定することもできます(グローバルインストール後)
- 名前:
Claude Desktop の設定
- Claude Desktop の設定を開きます
- Tools -> MCP に移動します
- 「Add New Server」をクリックします
- サーバーを設定します:
- 名前:
telegram(または任意の名前) - タイプ:
command - コマンド:
node /full/path/to/project/mcp-server.js - 代わりに、
npx telegram-mcpを指定することもできます(グローバルインストール後)
- 名前:
動作確認
サーバーの起動時に、次の処理が行われます:
.envファイルから設定を読み込みます- 保存済みのセッションを確認します
- セッションがない場合は、新しいセッションの作成を促します(電話番号と確認コードを入力する必要があります)
利用可能なツール
MCP サーバーでは、次のツールを利用できます:
getDialogs:ユーザーのダイアログ(チャット)の一覧を取得します。- パラメーター:
session(文字列、必須)、limit(整数、省略可、デフォルト:100)。
- パラメーター:
getMessages:指定したチャットからメッセージを取得します。- パラメーター:
session(文字列、必須)、chatId(文字列、必須)、limit(整数、省略可、デフォルト:100)。
- パラメーター:
sendMessage:指定したチャットにメッセージを送信します。- パラメーター:
session(文字列、必須)、chatId(文字列、必須)、message(文字列、必須)。
- パラメーター:
executeMethod:任意の Telegram API メソッドを実行します(注意して使用してください)。- パラメーター:
session(文字列、必須)、method(文字列、必須)、params(オブジェクト、省略可)。
- パラメーター:
注:session パラメーターには通常、国際形式のユーザーの電話番号(例:+79001234567)を指定します。
プロンプトでの使用例
Using the telegram.getDialogs tool for session +79001234567, show me the last 5 chats.
With telegram.sendMessage for session +79001234567, send the message "Hello from my AI assistant!" to chat with ID 'username_or_chat_id'.
認証
session(電話番号)を初めて使用するとき、サーバーは実行中のコンソールに確認コードを要求します。Telegram から届いたコードを入力してセッションを認証してください。
2 要素認証(2FA)が有効になっている場合は、Telegram のパスワードも入力する必要があります。パスワードを間違えると、再入力を求められます(最大 3 回)。
認証が成功すると、セッションは sessions/ ディレクトリ内のファイルに保存され、以降のリクエストで使用されます。
セッションファイルの構造
セッションは sessions/ ディレクトリに、電話番号をファイル名にした JSON ファイル(例:+79001234567.json)として保存されます。各ファイルには次の内容が含まれます:
- セッション文字列(暗号化された認証トークン)
- 作成/更新のタイムスタンプ
トラブルシューティング
-
エラー「Your API ID or Hash cannot be empty or undefined」
.envファイルがプロジェクトのルートにあることを確認してください- API_ID と API_HASH が正しく指定されていることを確認してください
- プロジェクトのルートディレクトリからサーバーを実行してください
-
サーバーが保存済みのセッションを認識しない
- 実行パスを確認してください(プロジェクトのルートから実行する必要があります)
sessions/ディレクトリにセッションファイルがあることを確認してくださいnpm run mcpを実行してみてください
-
認証エラー
- 2FA パスワードを間違えて入力した場合、再入力を求められます
- 試行回数を使い切った場合は、セッションファイルを削除してもう一度お試しください
セキュリティ
- API ID と API Hash を第三者と共有しないでください。
- 信頼できる環境でサーバーを実行してください。
- セッションファイルには機密データが含まれています。 安全な場所に保管し、共有しないでください。
executeMethodツールでは、任意の Telegram API メソッドを実行できます。破壊的な操作を実行する可能性があるため、注意して使用してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。