MCP Communicator (Telegram) について
MCP Communicator (Telegram) は、Telegram ボットを介して AI エージェントがユーザーとやり取りできるようにする MCP サーバーです。質問を送って返信を待つほか、通知、ファイル、プロジェクトの zip アーカイブを送信できます。PC から離れている間もエージェントと連絡を取りたい開発者に適しています。
主な機能
- 01Telegram による質問と返信待ち
- 02返信を必要としない通知の送信
- 03Telegram 経由のファイル送信
- 04gitignore に従ったプロジェクトの zip 化
- 05受信メッセージのチャット ID 検証
活用シーン
- 01エージェントの作業中にユーザーへ確認や追加情報を求める
- 02タスク完了時に Telegram で通知を受け取る
- 03プロジェクトのアーカイブや生成ファイルをスマートフォンへ送る
MCP 対応
本プロジェクトは MCP サーバーとして、ask_user、notify_user、send_file、zip_project などのツールを MCP クライアントに提供し、Telegram を介したユーザーとのやり取りを可能にします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP コミュニケーター(Telegram)
Telegram を通じてユーザーとのコミュニケーションを可能にする MCP サーバーです。このサーバーは、質問、通知の送信、ファイルの共有、プロジェクトアーカイブの作成など、Telegram ボットを介してユーザーとやり取りするためのツールを提供します。
インストール
npm 経由(グローバル)
npm install -g mcp-communicator-telegram
npx 経由(必要に応じて)
npx mcptelegram
Telegram のチャット ID を取得するには:
npx mcptelegram-chatid
機能
- Telegram を通じてユーザーに質問する
- ユーザーに通知を送信する(返信不要)
- Telegram を通じてユーザーにファイルを送信する
- プロジェクトの zip ファイルを作成して送信する(.gitignore を尊重)
- 非同期で返信を受信する(返信を無期限に待機)
- 返信ベースのメッセージ追跡に対応
- チャット ID の安全な検証
- エラー処理とログ記録
前提条件
- Node.js(v14 以降)
- Telegram ボットのトークン(@BotFather から取得)
- Telegram のチャット ID(同梱のユーティリティで取得できます)
インストール
- リポジトリをクローンします:
git clone https://github.com/qpd-v/mcp-communicator-telegram.git
cd mcp-communicator-telegram
- 依存関係をインストールします:
npm install
-
Telegram ボットを作成します:
- Telegram を開き、@BotFather を検索します
/newbotを送信し、指示に従います- 受け取ったボットトークンを保存します
-
チャット ID を取得します:
.env.exampleを.envにコピーします.envファイルにボットトークンを追加します:TELEGRAM_TOKEN=your_bot_token_here- チャット ID ユーティリティを実行します:
npm run build node build/get-chat-id.js - ボットに任意のメッセージを送信します
- コンソールに表示されたチャット ID をコピーします
- チャット ID を
.envファイルに追加します:TELEGRAM_TOKEN=your_bot_token_here CHAT_ID=your_chat_id_here
設定
MCP 設定ファイル(通常、Windows では %APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json にあります)にサーバーを追加します:
{
"mcpServers": {
"mcp-communicator-telegram": {
"command": "node",
"args": ["path/to/mcp-communicator-telegram/build/index.js"],
"env": {
"TELEGRAM_TOKEN": "your_bot_token_here",
"CHAT_ID": "your_chat_id_here"
}
}
}
}
利用可能なツール
ask_user
Telegram を通じてユーザーに質問し、返信を待ちます。
入力スキーマ:
{
"type": "object",
"properties": {
"question": {
"type": "string",
"description": "The question to ask the user"
}
},
"required": ["question"]
}
使用例:
const response = await use_mcp_tool({
server_name: "mcp-communicator-telegram",
tool_name: "ask_user",
arguments: {
question: "What is your favorite color?"
}
});
notify_user
Telegram を通じてユーザーに通知メッセージを送信します(返信不要)。
入力スキーマ:
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The message to send to the user"
}
},
"required": ["message"]
}
使用例:
await use_mcp_tool({
server_name: "mcp-communicator-telegram",
tool_name: "notify_user",
arguments: {
message: "Task completed successfully!"
}
});
send_file
Telegram を通じてユーザーにファイルを送信します。
入力スキーマ:
{
"type": "object",
"properties": {
"filePath": {
"type": "string",
"description": "The path to the file to send"
}
},
"required": ["filePath"]
}
使用例:
await use_mcp_tool({
server_name: "mcp-communicator-telegram",
tool_name: "send_file",
arguments: {
filePath: "path/to/file.txt"
}
});
zip_project
プロジェクトディレクトリの zip ファイルを作成し(.gitignore のパターンを尊重)、Telegram を通じてユーザーに送信します。
入力スキーマ:
{
"type": "object",
"properties": {
"directory": {
"type": "string",
"description": "Directory to zip (defaults to current working directory)"
}
},
"required": []
}
デフォルトのディレクトリ(現在の作業ディレクトリ)を使用する例:
await use_mcp_tool({
server_name: "mcp-communicator-telegram",
tool_name: "zip_project",
arguments: {}
});
特定のディレクトリを使用する例:
await use_mcp_tool({
server_name: "mcp-communicator-telegram",
tool_name: "zip_project",
arguments: {
directory: "/path/to/your/project"
}
});
機能:
- ディレクトリ名に基づいて
[project-name]-project.zipという名前の zip ファイルを作成します - 指定した任意のディレクトリまたは現在の作業ディレクトリを zip 化できます
- .gitignore のパターンを尊重します
- アーカイブ内のファイルパスを正しく保持します
- 送信後、zip ファイルを自動的に削除します
- 最大 2GB のファイルに対応します
開発
プロジェクトをビルドします:
npm run build
開発モードで実行します:
npm run dev
変更を監視します:
npm run watch
ビルドディレクトリをクリーンアップします:
npm run clean
セキュリティ
- サーバーは、設定されたチャット ID からのメッセージにのみ応答します
- 機密性の高い設定には環境変数を使用します
- 質問と回答のペアを追跡するためにメッセージ ID を使用します
- ボットは、適切なコンテキストのないメッセージを無視します
ライセンス
ISC
作者
qpd-v
バージョン
0.2.1 # 新機能(notify_user、send_file、zip_project ツール)のためのメジャーバージョンアップ
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。