mcp-telegram
mcp-telegram
ClaudeのようなAIアシスタントを、実際のTelegramアカウントにユーザーAPI (MTProto) を介して接続するMCPサーバーです。ボットではなく、Claudeがあなたになり代わってメッセージを読み書きします。
gotd/td と公式の MCP Go SDK を使用して構築されています。
Telegram API利用規約: 本プロジェクトはTelegramユーザーAPIを使用します。my.telegram.org から独自の
api_idとapi_hashを取得し、Telegram API利用規約 を遵守する必要があります。ユーザーAPIの悪用(スパム、大量送信、スクレイピングなど)は、アカウントの停止につながる可能性があります。本ツールの使用方法については、ユーザー自身が全責任を負うものとします。
コンテンツ
Related MCP server: Telegram MCP Server
機能
ツール | 内容 | 必要な権限 |
| 現在のアカウント情報を取得 | — |
| ACLホワイトリストで表示可能なダイアログを一覧表示 | — |
| ページネーション、日付フィルタリング、メディアダウンロード付きでメッセージ履歴を取得 |
|
| テキストクエリでチャット内のメッセージを検索(送信者フィルタオプションあり) |
|
| テキストメッセージまたはファイルを送信(返信先指定オプションあり) |
|
| あるチャットから別のチャットへメッセージを転送 |
|
| 下書きメッセージを保存(送信はしない) |
|
| チャットを既読にする |
|
その他の機能:
ファイルおよび写真の送信
チャット間でのメッセージ転送
特定のメッセージへの返信
メッセージ履歴からの写真やドキュメントのダウンロード
日付範囲による履歴フィルタリング (
since/until)型付きピア参照 (
user:ID,chat:ID,channel:ID) によるID衝突の防止遅延ピア解決 — 起動時の
FLOOD_WAITエラーを回避RPCレベルでのグローバルレート制限
できること
接続後、AIアシスタントに以下のような指示を出せます:
メッセージの確認
「未読のTelegramメッセージを確認して要約して」
「@alice が過去24時間に何を書いた?」
「月曜日以降のDev Teamチャットのメッセージを見せて」
返信とコミュニケーション
「@bob からの最後のメッセージへの返信を下書きして(まだ送信しないで)」
「'sounds good, let's meet at 3pm' を @alice に送って」
「プロジェクトチャットのメッセージ1234にフィードバックを返信して」
受信トレイの管理
「ニュースチャンネルのすべてを既読にして」
「ホワイトリストに登録されているチャットのうち、未読があるのはどれ?」
「デザインチャットの今日のメッセージから写真をダウンロードして」
調査と分析
「先週のデプロイメントについて言及しているメッセージをすべて見つけて」
「昨日のチームチャットでの議論を要約して」
「今月プロジェクトチャンネルで共有されたファイルは何?」
chaindead/telegram-mcp との比較
mcp-telegram | chaindead/telegram-mcp | |
アクセス制御 | チャットごとの詳細な権限設定が可能なデフォルト拒否ACLホワイトリスト | すべてのチャットへのフルアクセス |
ピア指定 | 型付き参照 ( | 数値IDのみ(衝突しやすい) |
設定 | 環境変数展開が可能なYAML設定 | CLIフラグ |
起動時の安全性 | 遅延ピア解決(一括API呼び出しなし) | 即時解決 ( |
レート制限 | トークンバケットミドルウェアを内蔵 | なし |
ファイルサポート | ファイル・写真の送信、履歴からのメディアダウンロード | テキストのみ |
返信サポート | あり | なし |
日付フィルタリング | あり | なし |
クイックスタート
前提条件
Go 1.26+
Telegramアカウント
my.telegram.org からのAPI認証情報 (
api_idおよびapi_hash)
インストール
Homebrew (macOS / Linux):
brew install Prgebish/tap/mcp-telegramNPX (インストール不要):
npx @prgebish/mcp-telegram serve --config config.yamlビルド済みバイナリ (macOS / Linux / Windows):
GitHub Releases からダウンロードしてください。
Go install:
go install github.com/Prgebish/mcp-telegram/cmd/mcp-telegram@latestソースから:
git clone https://github.com/Prgebish/mcp-telegram.git
cd mcp-telegram
go build ./cmd/mcp-telegramこれにより、現在のディレクトリに mcp-telegram (Windowsでは mcp-telegram.exe) が生成されます。
認証
認証コマンドを一度実行してセッションファイルを作成します。電話番号、ログインコード、および(有効な場合)2FAパスワードの入力を求められます。
macOS / Linux:
export TG_APP_ID=12345
export TG_API_HASH="your_api_hash"
mcp-telegram auth --config config.yamlWindows (PowerShell):
$env:TG_APP_ID = "12345"
$env:TG_API_HASH = "your_api_hash"
mcp-telegram.exe auth --config config.yamlWindows (cmd):
set TG_APP_ID=12345
set TG_API_HASH=your_api_hash
mcp-telegram.exe auth --config config.yaml設定
config.yaml を作成します:
telegram:
app_id: ${TG_APP_ID}
api_hash: ${TG_API_HASH}
session_path: ~/.config/mcp-telegram/session.json
acl:
chats:
- match: "@username"
permissions: [read, draft, mark_read]
- match: "user:123456789"
permissions: [read, send]
- match: "channel:2225853048"
permissions: [read, mark_read]
limits:
max_messages_per_request: 50
max_dialogs_per_request: 100
rate:
requests_per_second: 2.0
burst: 3
logging:
level: info${...} 構文の環境変数は読み込み時に展開されます。
クライアント設定
サーバーはstdio経由で通信します。MCPクライアントがプロセスを開始・管理します。
Claude Code (CLI — コマンドで追加):
claude mcp add telegram -- /path/to/mcp-telegram serve --config /path/to/config.yamlClaude Desktop / Claude Code (~/.claude.json または claude_desktop_config.json):
{
"mcpServers": {
"telegram": {
"command": "/path/to/mcp-telegram",
"args": ["serve", "--config", "/path/to/config.yaml"],
"env": {
"TG_APP_ID": "12345",
"TG_API_HASH": "your_api_hash"
}
}
}
}Cursor (設定 > MCPサーバー > 追加):
{
"telegram": {
"command": "/path/to/mcp-telegram",
"args": ["serve", "--config", "/path/to/config.yaml"],
"env": {
"TG_APP_ID": "12345",
"TG_API_HASH": "your_api_hash"
}
}
}設定
ACL
ACLはデフォルト拒否です。acl.chats に明示的にリストされたチャットのみがアクセス可能であり、指定した権限のみが許可されます。
サポートされているマッチパターン:
パターン | 例 | 説明 |
|
| Telegramユーザー名でマッチ(大文字小文字を区別しない) |
|
| 電話番号でマッチ |
|
| 数値IDでユーザーにマッチ |
|
| 数値IDでグループチャットにマッチ |
|
| 数値IDでチャンネルまたはスーパーグループにマッチ |
権限タイプ: read, send, draft, mark_read。
同じピアが複数のルールに一致する場合(例: @username と user:ID の両方)、権限はマージされます。互いに上書きされることはありません。
レート制限
limits.rate セクションでは、すべてのTelegram RPC呼び出しをラップするグローバルなトークンバケットを設定します:
requests_per_second— 持続的なレート(デフォルト: 2.0)burst— 最大バーストサイズ(デフォルト: 3)
メディアダウンロード
media:
download: [photo, document, video, voice, audio]
directory: ~/telegram-media
allowed_upload_dirs:
- ~/Documents
- ~/Downloads設定すると、tg_history はメディアファイルを指定されたディレクトリに自動的にダウンロードします。download_to パラメータでパスを上書きできますが、media.directory またはそのサブディレクトリ内に限定されます。
allowed_upload_dirs は、tg_send がファイルを読み取れるディレクトリを制限します。これが設定されていない場合、ファイル送信は無効になります。
セキュリティ
デフォルト拒否ACL — 明示的にホワイトリストに登録されていないチャットにはアクセスできません
ファイルシステム境界 —
tg_sendはallowed_upload_dirs内のファイルのみを読み取れます。download_toはmedia.directoryのサブディレクトリに制限されますセッションファイルの権限 —
0600(所有者のみ読み書き可能)に強制されますシークレットのログ出力なし — APIハッシュ、セッショントークン、認証キーはログに書き込まれません
アクセスハッシュの非公開 — 内部的なTelegramアクセスハッシュは、すべてのツール出力から削除されます
レート制限 — 意図しないAPIの乱用を防ぎます
ローカルタイムゾーン — 日付フィルタはUTCではなくシステムタイムゾーンを使用します
ライセンス
このプロジェクトが役に立った場合は、ぜひスターを付けてください。他の人が見つける助けになります。
This server cannot be deployed
Maintenance
Related MCP Connectors
Telegram bridge for your MCP-compatible agent. Bidirectional, no LLM in our stack.
Multi-tenant Telegram gateway for AI agents — HTTP+stdio, 8 tools, MTProto User API
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA safe-by-default MCP server for real Telegram accounts powered by TDLib, enabling AI agents to read and act on your account with read-only mode and human approval for destructive actions.7Apache 2.0
- AlicenseAqualityAmaintenanceMCP server that acts as a gateway to Telegram, providing AI-optimized tools for messaging, search, and chat management via MTProto. Supports multi-user authentication with QR login and HTTP/stdio transports.82MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that automates a single Telegram user account via the Telegram user API, enabling chat listing, reading/sending messages, searching, and additional actions through natural language.12 npmMIT
- AlicenseAqualityBmaintenanceAn MCP server that gives AI agents full access to a personal Telegram account via MTProto, enabling chat reading, history search, messaging, media handling, and automations.79MIT