Skip to main content
Glama

MCP: Multi-Agent Control Point

by Gomezzz299

🧠 MCP: マルチエージェントコントロールポイント

このプロジェクトでは、ユーザーの質問を LLM モデルまたは専門エージェント (日付、場所、天気、技術専門家など) にルーティングするマルチエージェント サーバーを実装します。使いやすさを考慮して Streamlit で構築されたシンプルな Web インターフェイスが含まれています。


🚀 機能

  • 🌐 FastAPI を使用したバックエンド
  • 🧠 専門エージェント(日付、場所、天気、LLM エキスパート)
  • 🧩 継承機能を備えた拡張可能なモジュール型エージェントシステム
  • ⚙️ エラーとレスポンスの統一的な処理のための共通継承AgenteBase
  • 🤖 エージェント同士が協力し合うためのスマートなロジック
  • 🖥️ Streamlit のビジュアルインターフェース (GUI)
  • 🐳 簡単に導入できる Docker コンテナ
  • 🔌 ローカルまたはリモートネットワークに対応したクライアント・サーバー通信

📁 プロジェクト構造

MCP/ ├── core/ │ ├── ollama_wrapper.py # Encapsula la lógica para interactuar con modelos LLM en Ollama │ ├── context_loader.py # Carga contexto adicional desde base de datos u otras fuentes │ └── router_llm.py # Router inteligente que decide qué agente usar en base a la consulta ├── agents/ # Carpeta que contiene todos los agentes disponibles del sistema ├── server/ │ ├── mcp_server.py # Punto central que gestiona los agentes registrados y el procesamiento de mensajes │ └── api.py # Define la API REST usando FastAPI para comunicación con la GUI u otros clientes ├── gui/ │ ├── app.py # Aplicación Streamlit que actúa como interfaz gráfica del sistema │ └── .streamlit/ │ └── secrets.toml # Archivo de configuración que contiene la URL del backend para la GUI ├── utils/ │ ├── db_utils.py # Funciones auxiliares para conectarse y consultar la base de datos SQLite │ ├── agente_base.py # Clase base AgenteBase, común a todos los agentes personalizados │ └── json_parser.py # Utilidad para dividir respuestas JSON en partes más manejables ├── database/ │ ├── context.db # Base de datos SQLite con información contextual para los agentes o el LLM │ ├── comprobar_db.py # Script que valida la existencia y consistencia de la base de datos │ └── create_db.py # Script para generar y poblar la base de datos desde cero ├── config.py # Archivo central de configuración del sistema (rutas, modelos, flags, etc.) ├── requirements.txt # Lista de dependencias de Python necesarias para ejecutar el proyecto ├── Dockerfile.backend # Dockerfile para construir el contenedor del backend (API + lógica de agentes) ├── Dockerfile.frontend # Dockerfile para construir el contenedor de la interfaz Streamlit └── docker-compose.yml # Archivo para levantar los servicios frontend y backend de forma conjunta

⚙️ 要件


🧪 クイックインストール

1. リポジトリをクローンする

git clone https://github.com/tu-usuario/MCP.git cd MCP

2. Streamlitの設定ファイルを作成する

guiディレクトリ内に次のファイルを作成します。

gui/.streamlit/secrets.toml

以下の内容が含まれます。

server_url = "http://backend:8000/process"

3. Docker Composeで実行する

docker-compose up --build

これにより、2 つのコンテナが構築され、持ち上げられます。

  • バックエンドはhttp://localhost:8000
  • http://localhost:8501のグラフィカル インターフェイス

🌍 別のマシンからのアクセス(オプション)

  1. ポート8501正しく公開されていることを確認してください ( 8000 )。
  2. secrets.tomlではlocalhost代わりにサーバーマシンの IP を使用します。
  3. クロスホスト アクセス用にカスタム Docker ネットワークを設定することもできます。

📦 制作用

別のインターフェースと統合する場合は、バックエンドのみを実行できます。

docker build -f Dockerfile.backend -t mcp_backend . docker run -p 8000:8000 mcp_backend

✨ 使用例

Web インターフェースでは、次のような質問を入力できます。

  • ¿Qué día es hoy?
  • ¿Dónde estoy?
  • ¿Qué clima hace?
  • Explícame qué es Python

アプリは質問に直接回答するか、エージェントに委任するかを決定します。


🛠️ エージェント募集中

エージェント関数
日付現在の日付と時刻を返します
位置IPアドレスで都市と国を検出します
気候現在の場所の天気を返します

🔄エージェント間の相互作用

天気エージェントは、天気を照会する前に位置情報エージェントを直接使用して地理座標 ( latlon ) と都市を決定するようになりました。これにより、ユーザーの実際の位置に合わせた応答が可能になります。これにより、エージェント間のモジュール性とコラボレーションが向上します。


🧩 新しいエージェントを作成する方法

  1. AgenteBase から継承するクラスを作成します。
from agentes.base import AgenteBase class AgenteEjemplo(AgenteBase): patrones = [r"expresiones.*clave", r"otra.*forma.*de.*preguntar"] def agente(self) -> dict: datos = {"respuesta": "Soy un agente de ejemplo"} return {"success": True, "data": datos}
  1. 関連する質問を検出するためのパターンを指定します。
  2. キー success とデータまたはエラーを含む辞書を返すagente()を実装します。
  3. エージェントは指定された LLM を自動的に使用して、データに基づいて自然な応答を生成します。

⚠️ 重要な技術的注意事項

  • すべてのエージェントは AgenteBase から継承され、以下を管理します。
    • 標準誤差
    • LLMによるデータの自然な応答への変換
  • agent() メソッドは構造化された辞書を返す必要があります。
  • 各エージェントは、使用する LLM モデル ( llm_simpleまたはllm_experto ) を指定します。

📄 ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています。


🙋‍♂️ 著者

Alejandro Gómez Sierra によって開発されました。

-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

シンプルな Streamlit Web インターフェイスを使用して簡単に対話できるため、ユーザーの質問を専門のエージェント (日付、場所、天気) または LLM エキスパートにルーティングするサーバーです。

  1. 🚀 機能
    1. 📁 プロジェクト構造
      1. ⚙️ 要件
        1. 🧪 クイックインストール
          1. リポジトリをクローンする
          2. Streamlitの設定ファイルを作成する
          3. Docker Composeで実行する
        2. 🌍 別のマシンからのアクセス(オプション)
          1. 📦 制作用
            1. ✨ 使用例
              1. 🛠️ エージェント募集中
                1. 🔄エージェント間の相互作用
                  1. 🧩 新しいエージェントを作成する方法
                    1. ⚠️ 重要な技術的注意事項
                      1. 📄 ライセンス
                        1. 🙋‍♂️ 著者

                          Related MCP Servers

                          • -
                            security
                            A
                            license
                            -
                            quality
                            This is a server that lets your LLMs (like Claude) talk directly to your BigQuery data! Think of it as a friendly translator that sits between your AI assistant and your database, making sure they can chat securely and efficiently.
                            Last updated -
                            1
                            241
                            81
                            JavaScript
                            MIT License
                          • A
                            security
                            F
                            license
                            A
                            quality
                            A server that implements the Model Context Protocol to connect LLMs to Brightsy AI agents, allowing users to pass messages to and receive responses from these agents.
                            Last updated -
                            1
                            96
                            JavaScript
                          • -
                            security
                            F
                            license
                            -
                            quality
                            A server that manages conversation context for LLM interactions, storing recent prompts and providing relevant context for each user via REST API endpoints.
                            Last updated -
                            602
                            TypeScript
                          • A
                            security
                            A
                            license
                            A
                            quality
                            An AI router that connects applications to multiple LLM providers (OpenAI, Anthropic, Google, DeepSeek, Ollama, etc.) with smart model orchestration capabilities, enabling dynamic switching between models for different reasoning tasks.
                            Last updated -
                            3
                            10
                            11
                            TypeScript
                            MIT License
                            • Linux
                            • Apple

                          View all related MCP servers

                          MCP directory API

                          We provide all the information about MCP servers via our MCP API.

                          curl -X GET 'https://glama.ai/api/mcp/v1/servers/Gomezzz299/MCP'

                          If you have feedback or need assistance with the MCP directory API, please join our Discord server