Multi-MCP AI Agent について
Multi-MCP AI Agentは、数学、ドキュメント処理、ウェブアクセス、Google Workspaceのタスクに複数のMCPサーバーを利用するエージェントシステムです。TelegramボットとSSEのインターフェースで操作やリアルタイム更新を行えます。
主な機能
- 01複数のMCPサーバーを連携
- 02数学処理とファイル操作
- 03ドキュメントのインデックス化とセマンティック検索
- 04ウェブ検索とGoogle Workspaceのツールを利用
- 05TelegramとSSEによる通信
活用シーン
- 01ウェブ検索とコンテンツ抽出で情報を探す
- 02インデックス化したドキュメントから関連情報を検索
- 03Gmail、Drive、Sheetsのタスクを処理
- 04Telegramボットでエージェントの応答を受信
MCP 対応
エージェントは、数学・ファイル操作、ドキュメント処理、ウェブ連携、Google Workspace向けの複数のMCPサーバーを利用します。各サーバーは検索、コンテンツ抽出、セマンティック検索、メールやファイルの管理などのツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
マルチMCP AI エージェント
基本的な数学演算から、Google Workspace やウェブスクレイピングなどの高度な外部サービス連携まで、幅広い機能を提供するために複数の MCP(Model Control Protocol)サーバーを活用するエージェント型 AI エージェントシステムです。Telegram ボットインターフェースと、リアルタイム通信のための Server-Sent Events(SSE)を備えています。
🌟 特長
- マルチMCPアーキテクチャ:分散処理と多様な機能を実現するために、複数の MCP サーバーを活用します
- 認知モジュール:知覚、意思決定、記憶、行動の各モジュールを実装します
- 外部サービス連携:
- Google Workspace(Gmail、Google Drive、Google Sheets)
- ウェブスクレイピングとコンテンツ抽出
- DuckDuckGo 検索連携
- リアルタイム通信:
- Telegram ボットインターフェース
- ライブ更新用の Server-Sent Events(SSE)
- 主要コンポーネント:
- エージェントループ管理
- セッション処理
- コンテキスト管理
- 戦略的な意思決定
🏗️ プロジェクト構成
├── agent.py # Main agent entry point
├── core/ # Core agent components
│ ├── context.py # Context management
│ ├── loop.py # Main agent loop
│ ├── session.py # Session handling
│ └── strategy.py # Strategic decision making
├── modules/ # Cognitive modules
│ ├── action.py # Action execution
│ ├── decision.py # Decision making
│ ├── memory.py # Memory management
│ ├── model_manager.py # Model management
│ ├── perception.py # Input processing
│ └── tools.py # Tool definitions
├── config/ # Configuration files
│ ├── models.json # Model configurations
│ └── profiles.yaml # MCP server profiles
└── mcp_server_*.py # MCP server implementations
🚀 はじめに
前提条件
- Python 3.11+
- UV パッケージマネージャー
- Telegram ボットトークン(ボット機能用)
- Google Cloud 認証情報(Google Workspace 連携用)
インストール
- リポジトリをクローンします:
git clone <repository-url>
cd <repository-name>
- 仮想環境を作成して有効化します:
uv venv
venv\Scripts\activate # On Mac: source venv/bin/activate
- UV を使用して依存関係をインストールします:
uv sync
- 環境変数を設定します:
- Gemini API キーと Telegram ボットトークンを含む
.envを作成します。 - Google OAuth クライアントを使用して
credentials.jsonを生成します。
- Gemini API キーと Telegram ボットトークンを含む
設定
config/profiles.yamlで MCP サーバーを設定しますconfig/models.jsonでモデルの設定を行います- Google Cloud 認証情報を設定します:
credentials.jsonをルートディレクトリに配置します- アプリケーションを一度実行して
token.jsonを生成します
🎮 使い方
エージェントの起動
uv run agent.py
Telegram ボットサーバーの起動
uv run telegram_sse_server.py
🛠️ MCP サーバー
MCP サーバー 1:基本操作
- 数学演算
- 画像処理
- ファイル操作
MCP サーバー 2:ドキュメント処理
- ドキュメントのインデックス作成
- セマンティック検索
- コンテンツ抽出
- 画像のキャプション生成
MCP サーバー 3:ウェブ連携
- DuckDuckGo 検索
- ウェブコンテンツの取得
- レート制限付きリクエスト
MCP サーバー 4:Google Workspace
- Gmail 連携
- Google Sheets 操作
- Google Drive 管理
- F1 順位表の取得(URL スクレイパー)
📡 通信
Telegram ボット
- コマンド処理
- メッセージ処理
- リアルタイム応答
SSE サーバー
- リアルタイムイベントストリーミング
- クライアント接続管理
- イベント配信
🧠 認知アーキテクチャ
エージェントは、以下のモジュールで構成される認知アーキテクチャを実装しています。
- 知覚:入力を処理し、関連情報を抽出します
- 記憶:状態と履歴データを管理します
- 意思決定:入力とコンテキストに基づいて戦略的な判断を行います
- 行動:適切なツールを通じて、決定したアクションを実行します
📝 ライセンス
MIT License
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。