Skip to main content
Glama
Gomezzz299

MCP: Multi-Agent Control Point

by Gomezzz299

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

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


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

  • 🌐 Бэкэнд с FastAPI

  • 🧠 Специализированные агенты (дата, место, погода, эксперт LLM)

  • 🧩 Расширяемая и модульная система агентов с наследованием

  • ⚙️ Общее наследование AgenteBase для единообразной обработки ошибок и ответов

  • 🤖 Умная логика для сотрудничества агентов друг с другом

  • 🖥️ Визуальный интерфейс с Streamlit (GUI)

  • 🐳 Docker-контейнеры для простого развертывания

  • 🔌 Клиент-серверное взаимодействие, готовое для локальной или удаленной сети


Related MCP server: Time-MCP

📁 Структура проекта

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.


🙋‍♂️ Автор

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An intermediate agent server that enhances LLMs with weather data capabilities using the Model Context Protocol (MCP) framework, enabling retrieval of real-time weather information.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    An agentic AI system that answers time-related questions by calling a time API tool and general questions using an LLM, accessible through a simple chat interface.
    -

Latest Blog Posts

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