Skip to main content
Glama

MCP: Multi-Agent Control Point

by Gomezzz299

🧠 MCP: многоагентная точка управления

В этом проекте реализован многоагентный сервер, который направляет вопросы пользователей в модель LLM или специализированным агентам (например, дата, местоположение, погода или технический эксперт). Включает простой веб-интерфейс, созданный с помощью Streamlit для удобства использования.


🚀 Особенности

  • 🌐 Бэкэнд с 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

Это позволит построить и поднять два контейнера:

  • Бэкэнд на http://localhost:8000
  • Графический интерфейс по адресу http://localhost:8501

🌍 Доступ с другого компьютера (опционально)

  1. Убедитесь, что вы правильно открыли порты ( 8000 , 8501 ).
  2. Используйте IP-адрес серверной машины вместо localhost в secrets.toml .
  3. Вы также можете настроить собственные сети Docker для кросс-хостового доступа.

📦 Для производства

Вы можете запустить только бэкэнд, если хотите интегрировать его с другим интерфейсом:

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

✨ Пример использования

В веб-интерфейсе вы можете вводить такие вопросы, как:

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

Приложение решит, отвечать ли на вопрос напрямую или делегировать это агенту.


🛠️ Доступны агенты

АгентФункция
ДАТАВозвращает текущую дату и время
РАСПОЛОЖЕНИЕОпределяет город и страну по IP
КЛИМАТВозвращает погоду в текущем местоположении

🔄 Взаимодействие между агентами

Агент погоды теперь напрямую использует агент местоположения для определения географических координат ( lat , lon ) и города перед запросом погоды, что позволяет получать ответы, соответствующие фактическому местоположению пользователя. Это улучшает модульность и взаимодействие между агентами.


🧩 Как создать нового агента

  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. Реализует функцию agente() , которая возвращает словарь с ключевыми данными об успехе и ошибке.
  3. Агент автоматически использует указанный LLM для генерации естественных ответов на основе ваших данных.

⚠️ Важные технические примечания

  • Все агенты наследуют от AgenteBase, который управляет:
    • Стандартные ошибки
    • Преобразование данных в естественный ответ с помощью LLM
  • Метод agent() должен возвращать структурированный словарь.
  • Каждый агент указывает, какую модель LLM использовать ( llm_simple или llm_experto ).

📄 Лицензия

Данный проект лицензирован по лицензии MIT.


🙋‍♂️ Автор

Разработано Алехандро Гомесом Сьеррой.

-
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.

Сервер, который направляет вопросы пользователей специализированным агентам (дата, местоположение, погода) или эксперту LLM, с простым веб-интерфейсом Streamlit для легкого взаимодействия.

  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