MCP: Multi-Agent Control Point
🧠 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
AgenteBasefü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
Related MCP server: Time-MCP
📁 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 MCP2. Konfigurationsdatei für Streamlit erstellen
Erstellen Sie im gui -Verzeichnis die Datei:
gui/.streamlit/secrets.tomlMit folgendem Inhalt:
server_url = "http://backend:8000/process"3. Mit Docker Compose ausführen
docker-compose up --buildDadurch werden zwei Container gebaut und angehoben:
Backend unter
http://localhost:8000Grafische Oberfläche unter
http://localhost:8501
🌍 Zugriff von einem anderen Computer (optional)
Stellen Sie sicher, dass Sie die Ports richtig freigeben (
8000,8501).Verwenden Sie in
secrets.tomldie IP des Servercomputers anstelle vonlocalhost.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
Agent | Funktion |
DATUM | Gibt das aktuelle Datum und die Uhrzeit zurück |
STANDORT | Erkennt Stadt und Land anhand der IP |
KLIMA | Gibt 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
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}Gibt Muster an, um relevante Fragen zu erkennen.
Implementiert
agente(), das ein Dict mit dem Schlüssel „Erfolg“ und „Daten oder Fehler“ zurückgibt.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_simpleoderllm_experto).
📄 Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert.
🙋♂️ Autor
Entwickelt von Alejandro Gómez Sierra.
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.
This server cannot be installed
Maintenance
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
LLM Orchestration Agent (Langgraph)
LLM Orchestration Agent (Langchain)
LLM Orchestration Agent (Opentelemetry Api)
LLM Orchestration Agent (Opentelemetry Instrumentation Fastapi)
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn intermediate agent server that enhances LLMs with weather data capabilities using the Model Context Protocol (MCP) framework, enabling retrieval of real-time weather information.-
- FlicenseNot gradedqualityDmaintenanceAn 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.-
- FlicenseNot gradedqualityDmaintenanceA multi-server implementation that uses OpenAI's LLM to orchestrate multiple tool servers providing web search, weather lookup, random facts, and PostgreSQL database querying capabilities.-
- AlicenseCqualityDmaintenanceA server that transforms a standard Language Model into a dynamic multi-agent system where the model simulates both a Conductor (project manager) and Experts (specialized agents) to tackle complex problems through a collaborative workflow.234Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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