mcpField
C
Chatroost — unofficial Telegram MCP server

Chatroost — unofficial Telegram MCP server

リモート
mcp-telegram.comコミュニケーション602 日前に更新
リポジトリ公式サイト

Chatroost — unofficial Telegram MCP server について

Telegram MCP サーバーは非公式の MCP サーバーで、MTProto プロトコルを通じて個人の Telegram アカウントを userbot として接続し、Claude や ChatGPT などのアシスタントからチャットを読み取り・検索・返信できるようにします。自分のアカウントでメッセージを扱いたい利用者を対象とし、複数アカウントや共有デーモンにも対応しています。

主な機能

  1. 01メッセージの読み取り・検索・返信・リアクション
  2. 02MTProto による userbot としての個人アカウント操作
  3. 03フォーラムトピック、スタンプ、投票、予約送信
  4. 04チャットフォルダー、ストーリー、管理者機能
  5. 05QR コードによるログインとセッションの保持
  6. 06共有デーモンによる複数クライアントの同時接続

活用シーン

  1. 01AI アシスタントに個人のチャットを要約させ、返信を作成させる
  2. 02セッションファイルを分けて複数の Telegram アカウントを扱う
  3. 03共有デーモン経由で複数のコーディングエージェントから同一アカウントを利用する

MCP 対応

本プロジェクトは MCP サーバーであり、Claude Code、Claude Desktop、Cursor などの MCP クライアントに Telegram 関連のツールを公開します。ツール一覧はクライアントが自動で検出できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.mcp-telegram.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npm@overpod/mcp-telegram1.44.1

ツール

詳細

Telegram MCP サーバー

npm npm downloads Node.js TypeScript MCP SDK License: MIT mcp-telegram MCP server

📖 ドキュメント · ☁️ クラウド版 — QR コードを使って、API キーなしで 30 秒で Telegram を Claude.ai または ChatGPT に接続できます。

MCP Telegram のデモ — Claude でチャットに接続して要約

Telegram MCP サーバー — MTProto プロトコルを介して、Claude や ChatGPT などの AI アシスタントを Telegram に接続する Model Context Protocol サーバーです。ボットとは異なり、これはユーザーボットとして動作し、GramJS を使って個人の Telegram アカウント上で稼働するため、チャット、連絡先、メッセージ履歴にすべてアクセスできます。

機能

  • 包括的なツール対応 -- 利用可能な Telegram MCP サーバーの中でも、最も多機能です
  • MTProto プロトコル -- 制限のある Bot API ではなく、Telegram API に直接アクセスします
  • ユーザーボット -- ボットではなく、個人アカウントとして動作します
  • フル機能 -- メッセージ、リアクション、投票、予約送信メッセージ、スタンプ、メディア、連絡先などに対応します
  • フォーラムトピック -- トピックの一覧表示、トピックごとのメッセージの読み取り、特定のトピックへの送信、トピックごとの未読件数に対応します
  • スタンプ -- スタンプセットの検索、インストール済み/最近使用したスタンプの閲覧、任意のチャットへのスタンプ送信に対応します
  • アカウントとプロフィールの管理 -- プロフィールの更新、絵文字ステータス・誕生日・個人チャンネル・プロフィール写真の設定、プライバシー設定・セッション・自動削除タイマーの管理に対応します
  • チャットフォルダー -- フォルダーの作成、編集、削除、並べ替え、フォルダータグの切り替え、おすすめフォルダーの確認に対応します(v1.33.0)
  • グローバルプライバシー -- アカウント全体のプライバシー設定の確認と変更に対応します(v1.33.0)
  • グローバル検索 -- すべてのチャットのメッセージを一括検索できます
  • リアルタイムポーリング -- ステートレスカーソルで更新を取得します。エージェントが {pts, qts, date} の状態を管理します
  • インラインボットとボタン -- インラインボットへの問い合わせ、結果の送信、コールバックボタンの押下に対応します
  • ストーリー -- ピアのストーリーの読み取り、ストーリー閲覧統計の取得、ストーリーの公開・編集・削除、リアクション、ピン留め、ステルスモード、アーカイブ、報告に対応します(v1.30.0)
  • ディスカッション -- コメント付きチャンネル投稿のディスカッショングループ情報の取得、ディスカッションに利用できるグループの一覧表示に対応します(v1.30.0)
  • 既読通知 -- 小規模グループでメッセージを読んだユーザーや、プライベートメッセージが読まれた時刻を確認できます(v1.30.0)
  • 管理者向け操作 -- チャンネルの署名、スパム対策、フォーラムモード、過去メッセージの表示設定の切り替え、参加リクエストの承認に対応します
  • 統計 -- チャンネルとスーパーグループの分析情報を取得できます(GetBroadcastStats / GetMegagroupStats)
  • ブーストとビジネス -- ブースト状況、ブースター一覧、Telegram Business のチャットリンクの CRUD、営業時間、所在地、挨拶・不在時・紹介メッセージに対応します
  • スターギフト -- 利用可能なギフトと保存済みギフトの閲覧、ギフトの保存・変換、Stars の残高とサブスクリプションの管理に対応します(MCP_TELEGRAM_ENABLE_STARS=1 でオプトイン、v1.34.0)
  • 共有デーモン -- 1 つのバックグラウンドプロセスで、単一の Telegram セッションを介して複数の MCP クライアントに対応します。共有デーモンガイドをご覧ください(v1.38.0)
  • QR コードログイン -- Telegram アプリで QR コードをスキャンして認証できます
  • セッションの永続化 -- 一度ログインすれば、再起動後も接続状態が維持されます
  • 人が読みやすい出力 -- 数値 ID だけでなく、送信者名を解決して表示します
  • あらゆる MCP クライアントで動作 -- Claude Code、Claude Desktop、ChatGPT、Cursor、VS Code、Mastra など

前提条件

  • Node.js 18 以降
  • Telegram API の認証情報 -- my.telegram.org で取得した API_ID と API_HASH

クイックスタート

1. Telegram API の認証情報を取得する
  1. my.telegram.org にアクセスし、電話番号でログインします。
  2. API development tools に移動します。
  3. 新しいアプリケーションを作成します(名前とプラットフォームは任意です)。
  4. App api_id と App api_hash をコピーします。
2. ログインする
TELEGRAM_API_ID=YOUR_ID TELEGRAM_API_HASH=YOUR_HASH npx @overpod/mcp-telegram login

ターミナルに QR コードが表示されます。スマートフォンで Telegram を開き、Settings > Devices > Link Desktop Device に移動して、コードをスキャンします。セッションは ~/.mcp-telegram/session に保存され、以後は自動的に再利用されます。

カスタムセッションパス: TELEGRAM_SESSION_PATH=/path/to/session を設定すると、セッションファイルを別の場所に保存できます。

2 段階認証(2FA): アカウントでクラウドパスワードが有効になっている場合、QR コードのスキャンだけでは不十分です。Telegram ではパスワードも必要です。ログインを完了するには、TELEGRAM_2FA_PASSWORD を使ってパスワードを指定します。

TELEGRAM_API_ID=YOUR_ID TELEGRAM_API_HASH=YOUR_HASH TELEGRAM_2FA_PASSWORD=YOUR_PASSWORD npx @overpod/mcp-telegram login

パスワードは Telegram の SRP チャレンジへの応答にローカルでのみ使用され、永続化されることはありません。

3. Claude に追加する
claude mcp add telegram -s user \
  -e TELEGRAM_API_ID=YOUR_ID \
  -e TELEGRAM_API_HASH=YOUR_HASH \
  -- npx @overpod/mcp-telegram

これで完了です!Claude に telegram-status を実行するよう依頼して、動作を確認してください。

複数アカウント

TELEGRAM_SESSION_PATH を使用して、複数の Telegram アカウントを並行して実行できます。

# Login each account with a unique session path
TELEGRAM_API_ID=ID1 TELEGRAM_API_HASH=HASH1 TELEGRAM_SESSION_PATH=~/.mcp-telegram/session-work npx @overpod/mcp-telegram login
TELEGRAM_API_ID=ID2 TELEGRAM_API_HASH=HASH2 TELEGRAM_SESSION_PATH=~/.mcp-telegram/session-personal npx @overpod/mcp-telegram login

次に、それぞれを別個の MCP サーバーとして追加します。

claude mcp add telegram-work -s user \
  -e TELEGRAM_API_ID=ID1 \
  -e TELEGRAM_API_HASH=HASH1 \
  -e TELEGRAM_SESSION_PATH=~/.mcp-telegram/session-work \
  -- npx @overpod/mcp-telegram

claude mcp add telegram-personal -s user \
  -e TELEGRAM_API_ID=ID2 \
  -e TELEGRAM_API_HASH=HASH2 \
  -e TELEGRAM_SESSION_PATH=~/.mcp-telegram/session-personal \
  -- npx @overpod/mcp-telegram

各アカウントには専用のセッションファイルが割り当てられるため、競合しません。

複数のエージェント/同時クライアント(共有デーモン)

複数アカウントとは逆に、1 つのアカウントを複数のクライアントで同時に操作します。複数の Claude Code ウィンドウ、並列サブエージェント、複数の IDE などが該当します。通常、各プロセスが同じセッションを開くため、AUTH_KEY_DUPLICATED によって互いに接続を切断します。サーブモードを使えば、この問題を解決できます。

Telegram 接続を所有する単一の永続的なデーモンを実行します。ほかのすべてのプロセスは、PID ロックを介してデーモンを自動検出し、ローカル Unix ソケット経由でツール呼び出しをデーモンに転送する軽量クライアントになります。

# On the host, once: start the daemon (owns the connection, no stdio)
TELEGRAM_API_ID=YOUR_ID TELEGRAM_API_HASH=YOUR_HASH mcp-telegram serve
# (or set MCP_TELEGRAM_DAEMON=1 instead of the `serve` argument)

次に、各 MCP クライアントで同じインストール先と同じ TELEGRAM_SESSION_PATH を指定します。serve 引数は不要です。クライアントはデーモンに自動で接続し、どのクライアントを閉じても共有接続は切断されません。認証情報が必要なのは所有者であるデーモンだけなので、クライアントのコマンドでは TELEGRAM_API_ID/TELEGRAM_API_HASH を省略し、デーモンの実行環境に設定しておけます。

systemd ユニットと SSH の使用方法については、共有デーモンガイド を参照してください。

プロキシのサポート

Telegram がブロックされている場合や、コンテナ化された環境(Docker、K3s)で実行している場合は、SOCKS5 または MTProxy を使用してください。

# SOCKS5 proxy
TELEGRAM_PROXY_IP=127.0.0.1 \
TELEGRAM_PROXY_PORT=10808 \
npx @overpod/mcp-telegram

# MTProxy
TELEGRAM_PROXY_IP=proxy.example.com \
TELEGRAM_PROXY_PORT=443 \
TELEGRAM_PROXY_SECRET=ee00000000000000000000000000000000 \
npx @overpod/mcp-telegram
変数説明
TELEGRAM_PROXY_IPプロキシサーバーのアドレス
TELEGRAM_PROXY_PORTプロキシサーバーのポート
TELEGRAM_PROXY_SOCKS_TYPE4 または 5(デフォルト:5)
TELEGRAM_PROXY_SECRETMTProxy のシークレット(MTProxy モードを有効化)
TELEGRAM_PROXY_USERNAME任意のプロキシ認証情報
TELEGRAM_PROXY_PASSWORD任意のプロキシ認証情報
WSS 経由での接続(ポート 443)

VPS またはホスティングの IP アドレスには送信ポート 443 で接続できるものの、デフォルトの MTProto ポート 80 では接続できない場合(不正利用防止ポリシーにより、一部のクラウドプロバイダーが Telegram の DC IP 範囲でポート 80 を禁止しています)は、次のように設定してください。

TELEGRAM_USE_WSS=true npx @overpod/mcp-telegram
変数説明
TELEGRAM_USE_WSStrue の場合、gramJS は MTProto TCPFull トランスポートにポート 80 の代わりにポート 443 を使用します。デフォルト:false。TELEGRAM_PROXY_* とは併用できません(gramJS の制限)。両方が設定されている場合、useWSS は無視され、プロキシが優先されます(警告がログに記録されます)。

インストール方法

npx(推奨、インストール不要)

クローンやインストールは不要です。npx @overpod/mcp-telegram を使うだけです。

グローバルインストール
npm install -g @overpod/mcp-telegram
mcp-telegram          # run server
mcp-telegram login    # QR login
ビルド済みバイナリ(ランタイム不要)

リリース からダウンロードしてください。依存関係不要の、単一ファイルのスタンドアロンバイナリです。

プラットフォームサーバーログイン CLI
Linux x64mcp-telegram-linux-x64mcp-telegram-login-linux-x64
Linux ARM64mcp-telegram-linux-arm64mcp-telegram-login-linux-arm64
macOS x64mcp-telegram-darwin-x64mcp-telegram-login-darwin-x64
macOS ARM64mcp-telegram-darwin-arm64mcp-telegram-login-darwin-arm64
Windows x64mcp-telegram-windows-x64.exemcp-telegram-login-windows-x64.exe
# Download (example for Linux x64)
curl -L -o mcp-telegram https://github.com/mcp-telegram/mcp-telegram/releases/latest/download/mcp-telegram-linux-x64
curl -L -o mcp-telegram-login https://github.com/mcp-telegram/mcp-telegram/releases/latest/download/mcp-telegram-login-linux-x64
chmod +x mcp-telegram mcp-telegram-login

# Login
TELEGRAM_API_ID=YOUR_ID TELEGRAM_API_HASH=YOUR_HASH ./mcp-telegram-login

# Run
./mcp-telegram
ソースから
git clone https://github.com/mcp-telegram/mcp-telegram.git
cd mcp-telegram
npm install && npm run build
Docker
docker build -t mcp-telegram https://github.com/mcp-telegram/mcp-telegram.git

ログイン(対話型ターミナルが必要です):

docker run -it --rm \
  -e TELEGRAM_API_ID=YOUR_ID \
  -e TELEGRAM_API_HASH=YOUR_HASH \
  -v ~/.mcp-telegram:/root/.mcp-telegram \
  --entrypoint node mcp-telegram dist/qr-login-cli.js

MCP サーバーを実行します。

docker run -i --rm \
  -e TELEGRAM_API_ID=YOUR_ID \
  -e TELEGRAM_API_HASH=YOUR_HASH \
  -v ~/.mcp-telegram:/root/.mcp-telegram \
  mcp-telegram

注:ターミナル経由でのログインは一度だけ必要です。その後、セッションは ~/.mcp-telegram に保存され、自動的に再利用されます。

MCP クライアントでの使用方法

Claude Code(CLI)
claude mcp add telegram -s user \
  -e TELEGRAM_API_ID=YOUR_ID \
  -e TELEGRAM_API_HASH=YOUR_HASH \
  -- npx @overpod/mcp-telegram
Claude Desktop
  1. 設定ファイルを開きます:

    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:%APPDATA%\Claude\claude_desktop_config.json
  2. Telegram サーバーを追加します:

{
  "mcpServers": {
    "telegram": {
      "command": "npx",
      "args": ["@overpod/mcp-telegram"],
      "env": {
        "TELEGRAM_API_ID": "YOUR_ID",
        "TELEGRAM_API_HASH": "YOUR_HASH"
      }
    }
  }
}
  1. Claude Desktop を再起動します。

  2. Claude に 「Run telegram-login」 と尋ねます。QR コードが表示されます。画像が表示されない場合は、~/.mcp-telegram/qr-login.png にも保存されています。Telegram でスキャンします(Settings > Devices > Link Desktop Device)。

  3. Claude に 「Run telegram-status」 と尋ねて、接続を確認します。

注記:ターミナルは不要です!ログインはすべて Claude Desktop 上で完了します。

Claude Desktop(バイナリ)

同じ設定ですが、npx の代わりにビルド済みバイナリを使用します:

{
  "mcpServers": {
    "telegram": {
      "command": "/path/to/mcp-telegram",
      "env": {
        "TELEGRAM_API_ID": "YOUR_ID",
        "TELEGRAM_API_HASH": "YOUR_HASH"
      }
    }
  }
}
Claude Desktop(Docker)
  1. まずターミナルからログインします(上記のDockerセクションを参照)。

  2. 設定ファイルに追加します:

{
  "mcpServers": {
    "telegram": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "TELEGRAM_API_ID=YOUR_ID",
        "-e", "TELEGRAM_API_HASH=YOUR_HASH",
        "-v", "~/.mcp-telegram:/root/.mcp-telegram",
        "mcp-telegram"
      ]
    }
  }
}
  1. Claude Desktop を再起動します。Claude に 「Run telegram-status」 と尋ねて確認します。
Cursor / VS Code

上記と同じ JSON 設定を MCP 設定に追加します(Cursor の Settings > MCP、または VS Code の MCP 設定)。

Mastra
import { MCPClient } from "@mastra/mcp";

const telegramMcp = new MCPClient({
  id: "telegram-mcp",
  servers: {
    telegram: {
      command: "npx",
      args: ["@overpod/mcp-telegram"],
      env: {
        TELEGRAM_API_ID: process.env.TELEGRAM_API_ID!,
        TELEGRAM_API_HASH: process.env.TELEGRAM_API_HASH!,
      },
    },
  },
});

ツール

すべてのツールは MCP 経由で自動検出されます。接続すると、AI クライアントにパラメーターと説明を含む一覧が表示されます。

カテゴリツール
認証telegram-status、telegram-login、telegram-logout
メッセージングtelegram-send-message(逐語的な返信引用用の quoteText と、Premium メッセージの effect を含む)、telegram-edit-message、telegram-delete-message、telegram-forward-message、telegram-send-scheduled、telegram-send-typing、telegram-translate-message、telegram-get-message-link
スケジュール済みtelegram-get-scheduled、telegram-delete-scheduled
読み取りtelegram-list-chats、telegram-read-messages、telegram-search-messages、telegram-search-global、telegram-search-chats、telegram-get-unread、telegram-mark-as-read、telegram-get-replies、telegram-get-unread-mentions、telegram-get-unread-reactions、telegram-get-saved-dialogs
下書きtelegram-save-draft、telegram-get-drafts、telegram-clear-drafts
フォーラムトピックtelegram-list-topics、telegram-read-topic-messages、telegram-create-topic、telegram-edit-topic、telegram-delete-topic
投票telegram-create-poll
投票への操作(v1.31.0)telegram-vote-poll、telegram-get-poll-results、telegram-get-poll-voters、telegram-close-poll
リアクションtelegram-send-reaction、telegram-get-reactions、telegram-set-default-reaction、telegram-get-top-reactions、telegram-get-recent-reactions
有料リアクション(v1.31.0)telegram-send-paid-reaction(★ Stars)、telegram-toggle-paid-reaction-privacy、telegram-get-paid-reaction-privacy
音声文字起こし(v1.31.0)telegram-transcribe-audio(Premium)、telegram-get-transcription、telegram-rate-transcription
ファクトチェック(v1.31.0)telegram-get-fact-check、telegram-edit-fact-check、telegram-delete-fact-check
ステッカーtelegram-send-sticker、telegram-get-installed-stickers、telegram-get-recent-stickers、telegram-get-sticker-set、telegram-search-sticker-sets
メディアtelegram-send-file、telegram-download-media、telegram-get-profile-photo、telegram-get-web-preview
リッチメディアの送信telegram-send-voice、telegram-send-video-note(円形動画)、telegram-send-location(静的またはライブ)、telegram-send-venue、telegram-send-contact、telegram-send-dice(🎲🎯🎰🏀⚽🎳)、telegram-send-album(写真/動画を2~10件まとめて送信)
グループtelegram-create-group、telegram-edit-group、telegram-invite-to-group、telegram-join-chat、telegram-leave-group、telegram-kick-user、telegram-ban-user、telegram-unban-user、telegram-set-admin、telegram-remove-admin、telegram-get-my-role、telegram-set-chat-permissions、telegram-set-slow-mode、telegram-get-admin-log
チャット情報telegram-get-chat-info、telegram-get-chat-members、telegram-get-chat-folders
フォルダー(v1.33.0)telegram-create-folder、telegram-edit-folder、telegram-delete-folder、telegram-reorder-folders、telegram-get-suggested-folders、telegram-toggle-folder-tags
グローバルプライバシー(v1.33.0)telegram-get-global-privacy-settings、telegram-set-global-privacy-settings
招待リンクtelegram-create-invite-link、telegram-get-invite-links、telegram-revoke-invite-link
連絡先telegram-get-contacts、telegram-add-contact、telegram-get-contact-requests
モデレーションtelegram-block-user、telegram-unblock-user、telegram-report-spam
プロフィール(読み取り)telegram-get-profile、telegram-update-profile
プロフィール(書き込み、v1.32.0)telegram-set-emoji-status(Premium)、telegram-list-emoji-statuses、telegram-clear-recent-emoji-statuses、telegram-set-profile-color(Premium)、telegram-set-birthday、telegram-set-personal-channel、telegram-set-profile-photo、telegram-delete-profile-photo
アカウントtelegram-get-sessions、telegram-terminate-session、telegram-set-privacy、telegram-set-auto-delete
ピン留めtelegram-pin-message、telegram-unpin-message
チャット設定telegram-mute-chat、telegram-archive-chat、telegram-pin-chat、telegram-mark-dialog-unread
管理者向け切り替えtelegram-toggle-channel-signatures、telegram-toggle-anti-spam、telegram-toggle-forum-mode、telegram-toggle-prehistory-hidden、telegram-set-chat-reactions、telegram-approve-join-request
統計telegram-get-broadcast-stats、telegram-get-megagroup-stats
インラインボットとボタンtelegram-inline-query、telegram-inline-query-send、telegram-press-button、telegram-get-message-buttons
リアルタイムポーリングtelegram-get-state、telegram-get-updates、telegram-get-channel-updates
ストーリー(読み取り)telegram-get-all-stories、telegram-get-peer-stories、telegram-get-stories-by-id、telegram-get-story-views
ストーリー(書き込み、v1.30.0)telegram-send-story、telegram-edit-story、telegram-delete-stories、telegram-react-to-story、telegram-export-story-link、telegram-read-stories、telegram-toggle-story-pinned、telegram-toggle-story-pinned-to-top、telegram-activate-stealth-mode(Premium)、telegram-get-stories-archive、telegram-report-story
ディスカッション(v1.30.0)telegram-get-discussion-message、telegram-get-groups-for-discussion
既読通知(v1.30.0)telegram-get-message-read-participants、telegram-get-outbox-read-date
ブーストtelegram-get-my-boosts、telegram-get-boosts-status、telegram-get-boosts-list
ビジネス(v1.32.0)telegram-get-business-chat-links、telegram-create-business-chat-link、telegram-edit-business-chat-link、telegram-delete-business-chat-link、telegram-resolve-business-chat-link、telegram-set-business-hours、telegram-set-business-location、telegram-set-business-greeting、telegram-set-business-away、telegram-set-business-intro
オプトイン(環境変数による制御)telegram-get-group-call、telegram-get-group-call-participants(MCP_TELEGRAM_ENABLE_GROUP_CALLS=1 が必要);Stars とギフト:telegram-get-stars-status、telegram-get-stars-transactions、telegram-get-stars-topup-options、telegram-get-stars-subscriptions、telegram-change-stars-subscription、telegram-get-available-star-gifts、telegram-get-saved-star-gifts、telegram-save-star-gift、telegram-convert-star-gift(MCP_TELEGRAM_ENABLE_STARS=1 が必要);telegram-get-quick-replies、telegram-get-quick-reply-messages(MCP_TELEGRAM_ENABLE_QUICK_REPLIES=1 が必要)

ヒント:AI アシスタントに 「どのような Telegram ツールが利用できますか?」 と尋ねると、パラメーターと説明を含む一覧をすべて確認できます。

オプション機能

一部のツールはデフォルトで無効になっており、環境変数で有効にする必要があります。

変数値有効になるツール
MCP_TELEGRAM_ENABLE_GROUP_CALLS1telegram-get-group-call、telegram-get-group-call-participants
MCP_TELEGRAM_ENABLE_STARS1Stars の残高と取引、チャージ方法、サブスクリプション、Star Gifts(閲覧/保存/変換)
MCP_TELEGRAM_ENABLE_QUICK_REPLIES1telegram-get-quick-replies、telegram-get-quick-reply-messages

有効にするには、これらを .env ファイルまたは MCP クライアントの設定に追加してください。

開発

npm run dev        # Start with file watching (tsx)
npm start          # Start the MCP server
npm run login      # QR code login in terminal
npm run build      # Compile TypeScript
npm run lint       # Check code with Biome
npm run lint:fix   # Auto-fix lint issues
npm run format     # Format code with Biome

プロジェクト構成

src/
  index.ts            -- MCP server entry point
  telegram-client.ts  -- TelegramService class (GramJS wrapper)
  qr-login-cli.ts     -- CLI utility for QR code login
  tools/              -- Modular tool definitions
    auth.ts           -- Connection & login
    messages.ts       -- Send, read, search, edit, delete, forward; inline bots; real-time polling
    chats.ts          -- Chat listing, group management, admin toggles, stats
    contacts.ts       -- Contacts, profiles, moderation
    media.ts          -- Files, photos, downloads
    reactions.ts      -- Reactions, set-chat-reactions
    extras.ts         -- Pin, schedule, polls, topics
    stickers.ts       -- Sticker sets, send, search, browse
    account.ts        -- Sessions, privacy, auto-delete, profile, emoji status, birthday, chat mute/folders, invite links
    business.ts       -- Telegram Business: chat links CRUD, work hours, location, greeting/away/intro
    boosts.ts         -- Boost status, my boosts, boosters list
    stories.ts        -- Stories: list all, peer, by-id, view stats
    group-calls.ts    -- Group call info and participants (opt-in: MCP_TELEGRAM_ENABLE_GROUP_CALLS)
    stars.ts          -- Stars wallet status and transactions (opt-in: MCP_TELEGRAM_ENABLE_STARS)
    quick-replies.ts  -- Quick replies and messages (opt-in: MCP_TELEGRAM_ENABLE_QUICK_REPLIES)
    shared.ts         -- Shared utilities

技術スタック

  • TypeScript -- ES2022、ESM モジュール
  • GramJS (telegram) -- Telegram MTProto クライアント
  • @modelcontextprotocol/sdk -- MCP サーバーのフレームワーク
  • Zod -- ツールパラメーターの実行時スキーマ検証
  • Biome -- リンターおよびフォーマッター
  • tsx -- ビルド手順なしで TypeScript を実行
  • dotenv -- 環境変数の管理

トラブルシューティング

AUTH_KEY_DUPLICATED

Telegram セッションは、一度に 1 つのプロセスでのみ使用できます。AUTH_KEY_DUPLICATED が表示された場合、同じセッションファイルを別のプロセスがすでに使用しています。

解決方法:環境ごとに個別のセッションを作成してください。

# Local development
TELEGRAM_SESSION_PATH=~/.mcp-telegram/session-local npx @overpod/mcp-telegram login

# Production server
TELEGRAM_SESSION_PATH=~/.mcp-telegram/session-prod npx @overpod/mcp-telegram login

次に、各環境の MCP 設定で TELEGRAM_SESSION_PATH を適切に設定してください。

セキュリティ

  • API 認証情報は .env(Git の追跡対象外)に保存されます
  • セッションは 0600 権限(所有者のみアクセス可能)で ~/.mcp-telegram/session に保存されます
  • セッションディレクトリは 0700 権限で作成されます
  • 電話番号は不要です -- QR コードのみで認証できます
  • サードパーティのサービスにデータは送信されません -- すべての通信は MTProto を介して Telegram サーバーに直接送信されます
  • QR ログインコードはローカルで生成され、マシンの外部に送信されることはありません
  • 1 プロセスにつき 1 セッション -- 同じセッションを複数のプロセスで同時に使用すると、AUTH_KEY_DUPLICATED エラーが発生します(トラブルシューティングを参照)
  • これはボットではなく、個人アカウントを使用するユーザーボットです。Telegram の利用規約を遵守してください

ライセンス

MIT

コメント

MCP は初めてですか?

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

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