Telegram MCP サーバー
AIアシスタント(Claudeなど)がユーザークライアントAPI(ボットAPIではありません)を使用してTelegramアカウントとやり取りできるようにするMCPサーバー。 @mtproto/core
とFastMCPフレームワークを使用して構築されています。
特徴
ツール
listChannels
- サーバーのキャッシュに基づいて、アカウントがアクセスできる利用可能な Telegram チャンネル/チャットを一覧表示します。
- パラメータ:
limit
(数値、オプション): 返されるチャネルの最大数 (デフォルト: 50)。
- 出力: ID、タイトル、タイプ、アクセス ハッシュ (該当する場合) を含むチャネル/チャットのリスト。
searchChannels
- キャッシュされたチャンネル/チャットを名前に含まれるキーワードで検索します。
- パラメータ:
keywords
(文字列): チャンネル名で検索するキーワード。limit
(数値、オプション): 返される結果の最大数 (デフォルト: 100)。
- 出力: 一致するチャネル/チャットのリスト。
getChannelMessages
- ID を使用して特定のチャネル/チャットから最近のメッセージを取得します。
- パラメータ:
channelId
(数値): チャネル/チャットの数値 ID (listChannels
またはsearchChannels
から取得)。limit
(数値、オプション): 返されるメッセージの最大数 (デフォルト: 100)。filterPattern
(文字列、オプション): テキスト コンテンツによってメッセージをフィルター処理するための JavaScript 互換の正規表現。
- 出力: ID、日付、テキスト、送信者 ID を含むメッセージのリスト。
前提条件
- **Node.js:**バージョン 18 以降を推奨します。
- Telegramアカウント:
- 有効なTelegramアカウントが必要です。
- アカウントで**2 段階認証 (2FA)**を有効にする必要があります (設定 → プライバシーとセキュリティ → 2 段階認証)。
- Telegram API 資格情報:
- https://core.telegram.org/api/obtaining_api_idで新しいアプリケーションを作成して、
api_id
とapi_hash
を取得します。
- https://core.telegram.org/api/obtaining_api_idで新しいアプリケーションを作成して、
インストール
- このリポジトリをクローンします:
- 依存関係をインストールします:
構成
設定する必要がある 2 つの個別の構成があります。
- MCP サーバー構成:環境変数を使用して Telegram MCP サーバーを構成します (
.env
ファイル内または環境内で直接)。プレースホルダーの値を実際の資格情報に置き換えます。 - MCP クライアント構成:構成ファイルを変更して、クライアント ソフトウェア (Claude Desktop、Cursor など) が MCP サーバーに接続するように構成します。Claude Desktop の場合、構成ファイルは次の場所にあります。
- macOSの場合:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows の場合:
%APPDATA%/Claude/claude_desktop_config.json
**重要:**変更を適用するには、MCP クライアントを再起動してください。
- macOSの場合:
サーバーの実行
- **初回ログイン(重要な最初のステップ):**サーバーを初めて起動する際(またはセッションが期限切れになったり無効になったりした場合)、Telegramで認証する必要があります。ターミナルから直接実行してください。
- サーバーは
.env
ファイルの資格情報を使用します。 - ターミナルで、Telegram アカウントに送信されたログイン コードと、必要に応じて 2FA パスワードを入力するように求められます。
- ログインに成功すると、セッションファイル(
./data/session.json
)が作成されます。このファイルにより、今後はコードやパスワードを入力せずにサーバーに自動的にログインできるようになります。 - サーバーはチャットのキャッシュ(
./data/dialog_cache.json
)の作成または読み込みを試みます。初回起動時は、特にチャット数が多い場合は、多少時間がかかることがあります。キャッシュが存在する場合、次回の起動は高速になります。
- サーバーは
- **通常の操作:**プロジェクト ディレクトリで
npm start
を実行して、サーバーを手動で起動する必要があります。サーバーが実行される場合、MCP クライアント (例: Claude Desktop) は、構成で指定された URL (デフォルトではhttp://localhost:8080/sse
) を介してサーバーに接続します。
トラブルシューティング
- ログインプロンプト: MCPクライアントから起動した際にサーバーがログインコード/パスワードの入力を要求し続ける場合は、
data/session.json
ファイルが存在し、有効であることを確認してください。セッションを更新するために、npm start
手動で1回実行する必要があるかもしれません。また、MCPクライアントを実行しているユーザーがdata
ディレクトリの読み取り/書き込み権限を持っているかどうかも確認してください。 - **キャッシュの問題:**チャンネルが古くなっているか欠落しているように見える場合は、
./data/dialog_cache.json
を削除し、サーバーを再起動して(手動でnpm start
実行)、強制的に完全更新を実行できます。これには時間がかかる場合があります。 - **モジュールが見つかりません:**プロジェクトディレクトリで
npm install
を実行していることを確認してください。MCPクライアントがサーバーを起動する場合は、作業ディレクトリが正しく設定されているか、絶対パスを使用していることを確認してください。 - **その他の問題:**その他の問題が発生した場合は、このサーバー リポジトリで問題を自由に開いてください。
Telegram クライアントライブラリ
このリポジトリには、MCPサーバーで使用される基盤ライブラリtelegram-client.js
も含まれています。ライブラリを直接使用する方法(カスタムスクリプトなど)の詳細については、 LIBRARY.mdを参照してください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
AI アシスタントが Telegram と対話して、チャンネルの検索、利用可能なチャンネルの一覧表示、メッセージの取得、正規表現パターンによるメッセージのフィルタリングを行えるようにするモデル コンテキスト プロトコル サーバー。
Related Resources
Related MCP Servers
- -securityFlicense-qualityA versatile Model Context Protocol server that enables AI assistants to manage calendars, track tasks, handle emails, search the web, and control smart home devices.Last updated -14Python
- AsecurityAlicenseAqualityA Model Context Protocol server that allows AI assistants to interact with the VRChat API, enabling retrieval of user information, friends lists, and other VRChat data through a standardized interface.Last updated -7441TypeScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with iTerm2 terminals, allowing creation and management of terminal sessions, command execution, and reading terminal output.Last updated -56827JavaScriptISC License
- -securityFlicense-qualityA Model Context Protocol server implementation that enables AI assistants to interact with RetellAI's voice services for managing calls, agents, phone numbers, and voice options.Last updated -70913TypeScript