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
- -securityAlicense-qualityA Model Context Protocol server implementation that enables AI assistants to interact with Slack workspaces, allowing them to browse channels, send messages, reply to threads, add reactions, and retrieve user information.Last updated -18JavaScriptApache 2.0
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Bluesky/ATProtocol, providing authentication, timeline access, post creation, and social features like likes and follows.Last updated -1810TypeScript
- AsecurityAlicenseAqualityA Discord Model Context Protocol server that enables AI assistants to interact with Discord, providing functionality for sending messages, managing channels, handling forum posts, and working with reactions.Last updated -1522TypeScriptMIT License
- AsecurityAlicenseAqualityA server implementing Model Context Protocol that enables AI assistants to interact with Slack API through a standardized interface, providing tools for messaging, channel management, user information retrieval, and more.Last updated -933JavaScriptApache 2.0