Skip to main content
Glama

MCP: Multi-Agent Control Point

by Gomezzz299

🧠 MCP: Multi-Agent-Kontrollpunkt

Dieses Projekt implementiert einen Multiagentenserver, der Benutzerfragen an ein LLM-Modell oder an spezialisierte Agenten weiterleitet (z. B. Datum, Standort, Wetter oder einen technischen Experten). Enthält eine einfache, mit Streamlit erstellte Weboberfläche zur Benutzerfreundlichkeit.


🚀 Funktionen

  • 🌐 Backend mit FastAPI
  • 🧠 Spezialisierte Agenten (Datum, Ort, Wetter, LLM-Experte)
  • 🧩 Erweiterbares und modulares Agentensystem mit Vererbung
  • ⚙️ Gemeinsame Vererbung AgenteBase für einheitliche Fehler- und Antwortbehandlung
  • 🤖 Intelligente Logik für die Zusammenarbeit der Agenten untereinander
  • 🖥️ Visuelle Schnittstelle mit Streamlit (GUI)
  • 🐳 Docker-Container für einfache Bereitstellung
  • 🔌 Client-Server-Kommunikation bereit für lokales oder Remote-Netzwerk

📁 Projektstruktur

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

⚙️ Voraussetzungen


🧪 Schnelle Installation

1. Klonen Sie das Repository

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

2. Konfigurationsdatei für Streamlit erstellen

Erstellen Sie im gui -Verzeichnis die Datei:

gui/.streamlit/secrets.toml

Mit folgendem Inhalt:

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

3. Mit Docker Compose ausführen

docker-compose up --build

Dadurch werden zwei Container gebaut und angehoben:

  • Backend unter http://localhost:8000
  • Grafische Oberfläche unter http://localhost:8501

🌍 Zugriff von einem anderen Computer (optional)

  1. Stellen Sie sicher, dass Sie die Ports richtig freigeben ( 8000 , 8501 ).
  2. Verwenden Sie in secrets.toml die IP des Servercomputers anstelle von localhost .
  3. Sie können auch benutzerdefinierte Docker-Netzwerke für den hostübergreifenden Zugriff einrichten.

📦 Für die Produktion

Sie können nur das Backend ausführen, wenn Sie es in eine andere Schnittstelle integrieren möchten:

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

✨ Anwendungsbeispiel

In der Weboberfläche können Sie Fragen eingeben wie:

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

Die App entscheidet, ob die Frage direkt beantwortet oder an einen Agenten delegiert wird.


🛠️ Agenten verfügbar

AgentFunktion
DATUMGibt das aktuelle Datum und die Uhrzeit zurück
STANDORTErkennt Stadt und Land anhand der IP
KLIMAGibt das Wetter am aktuellen Standort zurück

🔄 Interaktion zwischen Agenten

Der Wetteragent verwendet jetzt direkt den Standortagenten, um geografische Koordinaten ( lat , lon ) und die Stadt zu bestimmen, bevor er das Wetter abfragt. Dadurch sind auf den tatsächlichen Standort des Benutzers zugeschnittene Antworten möglich. Dies verbessert die Modularität und Zusammenarbeit zwischen Agenten.


🧩 So erstellen Sie einen neuen Agenten

  1. Erstellen Sie eine Klasse, die von AgenteBase erbt:
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. Gibt Muster an, um relevante Fragen zu erkennen.
  2. Implementiert agente() , das ein Dict mit dem Schlüssel „Erfolg“ und „Daten oder Fehler“ zurückgibt.
  3. Der Agent verwendet automatisch das angegebene LLM, um basierend auf Ihren Daten natürliche Antworten zu generieren.

⚠️ Wichtige technische Hinweise

  • Alle Agenten erben von AgenteBase, das Folgendes verwaltet:
    • Standardfehler
    • Konvertieren von Daten in eine natürliche Reaktion über LLM
  • Die Methode agent() muss ein strukturiertes Wörterbuch zurückgeben.
  • Jeder Agent gibt an, welches LLM-Modell verwendet werden soll ( llm_simple oder llm_experto ).

📄 Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert.


🙋‍♂️ Autor

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

Ein Server, der Benutzerfragen an spezialisierte Agenten (Datum, Ort, Wetter) oder einen LLM-Experten weiterleitet, mit einer einfachen Streamlit-Weboberfläche für eine einfache Interaktion.

  1. 🚀 Funktionen
    1. 📁 Projektstruktur
      1. ⚙️ Voraussetzungen
        1. 🧪 Schnelle Installation
          1. Klonen Sie das Repository
          2. Konfigurationsdatei für Streamlit erstellen
          3. Mit Docker Compose ausführen
        2. 🌍 Zugriff von einem anderen Computer (optional)
          1. 📦 Für die Produktion
            1. ✨ Anwendungsbeispiel
              1. 🛠️ Agenten verfügbar
                1. 🔄 Interaktion zwischen Agenten
                  1. 🧩 So erstellen Sie einen neuen Agenten
                    1. ⚠️ Wichtige technische Hinweise
                      1. 📄 Lizenz
                        1. 🙋‍♂️ Autor

                          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