Telegram MCP Server について
Telegram MCP Serverは、Telegram Bot APIを使うAIアシスタント向けのツールを提供します。メッセージの送信や転送、更新情報の取得ができます。
主な機能
- 01ボット情報の取得
- 02チャットへのメッセージ送信
- 03受信更新のポーリング
- 04メッセージの転送
活用シーン
- 01チャットへのボットメッセージ送信
- 02ボット情報のプログラムによる確認
- 03受信メッセージやクエリの取得
- 04別のチャットへのメッセージ転送
MCP 対応
MCPクライアントにTelegram Bot APIのツールを公開するMCP サーバーです。認証にはボットトークンを使います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Telegram MCP Server
Telegram Bot API と連携するためのツールを提供する MCP サーバーの実装です。このサービスを利用すると、AI アシスタントがプログラムからメッセージを送信したり、ボットの情報を取得したりできます。
ツール
Telegram MCP Service は、Telegram Bot API と連携するために以下のツールを提供します。
get_bot_info
ボットに関する基本情報を取得します。
- パラメーターは不要です
- ボット情報を含む User オブジェクトを返します
send_message
指定したチャットにメッセージを送信します。
chatId:対象チャットの一意の識別子(文字列または数値)text:送信するメッセージのテキストparams(任意):メッセージの追加パラメーター(例:parse_mode、reply_markup など)
get_updates
ロングポーリングを使用して受信した更新を取得します。
params(任意):任意のパラメーターを含むオブジェクト:offset(任意):返される最初の更新の識別子limit(任意):取得する更新の数の上限(1~100)timeout(任意):ロングポーリングのタイムアウト時間(秒)allowed_updates(任意):受信する更新タイプの配列
- さまざまなタイプの更新を含む Update オブジェクトの配列を返します:
- メッセージと編集済みメッセージ
- チャンネル投稿
- ビジネスメッセージ
- インラインクエリ
- コールバッククエリ
- 配送クエリ
- 決済前クエリ
- 投票と投票回答
- チャットメンバーの更新
- チャットへの参加リクエスト
- チャットブースト
forward_message
あらゆる種類のメッセージを転送します。サービスメッセージと、保護されたコンテンツを含むメッセージは転送できません。
chatId:対象チャットの一意の識別子、または対象チャンネルのユーザー名(@channelusername の形式)fromChatId:元のメッセージが送信されたチャットの一意の識別子(または @channelusername の形式のチャンネルユーザー名)messageId:from_chat_id で指定されたチャット内のメッセージ識別子params(任意):任意のパラメーターを含むオブジェクト:message_thread_id(任意):フォーラムの対象メッセージスレッド(トピック)の一意の識別子。フォーラムのスーパーグループでのみ使用できますvideo_start_timestamp(任意):メッセージ内で転送される動画の新しい開始タイムスタンプdisable_notification(任意):メッセージをサイレントで送信します。ユーザーには音を鳴らさずに通知されます。protect_content(任意):転送および保存できないよう、転送するメッセージの内容を保護します
- 成功すると、送信された Message オブジェクトを返します
設定
環境変数
以下の環境変数を設定する必要があります:
TELEGRAM_BOT_TOKEN=your_bot_token
Telegram で @BotFather に話しかけて新しいボットを作成すると、ボットトークンを取得できます。
新しいボットの作成
/newbot コマンドを使用して新しいボットを作成します。@BotFather から名前とユーザー名を尋ねられ、新しいボットの認証トークンが生成されます。
ボットの名前は、連絡先の詳細などに表示されます。
ユーザー名は、検索、メンション、t.me のリンクで使用される短い名前です。ユーザー名は5~32文字で、大文字と小文字は区別されません。ただし、使用できるのはラテン文字、数字、アンダースコアのみです。ボットのユーザー名は、'tetris_bot' や 'TetrisBot' のように 'bot' で終わる必要があります。
トークンは、110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw のような文字列です。ボットを認証して Bot API にリクエストを送信するために必要です。トークンは安全に保管してください。誰でもトークンを使ってボットを操作できてしまいます。
ボットの名前とは異なり、ユーザー名は後から変更できないため、慎重に選んでください。 api.telegram.org にリクエストを送信する際は、トークンの前に 'bot' を付けることを忘れないでください。
開発
npm install
npm run build
npx @modelcontextprotocol/inspector node dist/index.js
http://127.0.0.1:6274 を開いて環境を設定し、ツールを操作してください。
ライセンス
この MCP サーバーは MIT ライセンスの下でライセンスされています。これは、MIT ライセンスの諸条件に従うことを条件として、ソフトウェアを自由に使用、変更、配布できることを意味します。詳細については、プロジェクトリポジトリ内の LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。