mcpField
M
MCP Communicator (Telegram)

MCP Communicator (Telegram)

ローカル
github.com/qpd-vコミュニケーション4792 週間前に更新

MCP Communicator (Telegram) について

MCP Communicator (Telegram) は、Telegram ボットを介して AI エージェントがユーザーとやり取りできるようにする MCP サーバーです。質問を送って返信を待つほか、通知、ファイル、プロジェクトの zip アーカイブを送信できます。PC から離れている間もエージェントと連絡を取りたい開発者に適しています。

主な機能

  1. 01Telegram による質問と返信待ち
  2. 02返信を必要としない通知の送信
  3. 03Telegram 経由のファイル送信
  4. 04gitignore に従ったプロジェクトの zip 化
  5. 05受信メッセージのチャット ID 検証

活用シーン

  1. 01エージェントの作業中にユーザーへ確認や追加情報を求める
  2. 02タスク完了時に Telegram で通知を受け取る
  3. 03プロジェクトのアーカイブや生成ファイルをスマートフォンへ送る

MCP 対応

本プロジェクトは MCP サーバーとして、ask_user、notify_user、send_file、zip_project などのツールを MCP クライアントに提供し、Telegram を介したユーザーとのやり取りを可能にします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"communicator-telegram": {
"command": "npx",
"args": [
"-y",
"mcptelegram"
]
}
}
}
起動コマンドnpx -y mcptelegram

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmcptelegram

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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(同梱のユーティリティで取得できます)

インストール

  1. リポジトリをクローンします:
git clone https://github.com/qpd-v/mcp-communicator-telegram.git
cd mcp-communicator-telegram
  1. 依存関係をインストールします:
npm install
  1. Telegram ボットを作成します:

    • Telegram を開き、@BotFather を検索します
    • /newbot を送信し、指示に従います
    • 受け取ったボットトークンを保存します
  2. チャット 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 ツール)のためのメジャーバージョンアップ

コメント

MCP は初めてですか?

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

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