Skip to main content
Glama

MCP: Multi-Agent Control Point

by Gomezzz299
agente_base.py2.98 kB
import json class AgenteBase: """ Clase base para todos los agentes del sistema MCP. Define la lógica común que utilizan los agentes, como el formateo de respuestas y la generación de lenguaje natural usando un modelo LLM. Atributos: patrones (list): Lista de expresiones regulares que identifican si un mensaje debe ser manejado por este agente. llm (object): Modelo de lenguaje que se utiliza para generar respuestas naturales a partir de datos estructurados. """ patrones = [] # Cada subclase puede definir sus propios patrones para detectar mensajes relevantes. def __init__(self, llm: object): """ Inicializa el agente con un modelo de lenguaje. Args: llm (object): Instancia del modelo de lenguaje usado para generar respuestas naturales. """ self.llm = llm def responder(self, mensaje: str) -> str: """ Procesa un mensaje del usuario, ejecuta la lógica del agente y genera una respuesta natural. Llama internamente al método `agente()` que debe ser implementado por las subclases, obtiene los datos estructurados devueltos por el agente y los transforma en una respuesta legible mediante el modelo LLM. Args: mensaje (str): Pregunta del usuario. Returns: str: Respuesta generada por el modelo LLM o mensaje de error. """ try: datos = self.agente() if not isinstance(datos, dict): return "❌ El agente no devolvió datos en formato JSON/dict." # Convertimos los datos estructurados a JSON para usarlos como contexto en el prompt datos_json = json.dumps(datos, indent=2, ensure_ascii=False) # Prompt que se enviará al modelo LLM para generar una respuesta natural prompt = ( "Eres un asistente experto. El siguiente agente ha proporcionado esta información estructurada:\n" f"{datos_json}\n\n" "Usa solo esta información para redactar una respuesta clara y natural a la siguiente pregunta del usuario:\n" f"{mensaje}" ) # Generamos y devolvemos la respuesta final return self.llm.responder(prompt) except Exception as e: # En caso de excepción, devolvemos un mensaje de error return f"❌ Error en el agente: {e}" def agente(self) -> dict: """ Método base que debe ser implementado por todas las subclases de agentes. Este método se encarga de obtener los datos estructurados que describen la respuesta del agente. Returns: dict: Diccionario con los datos generados por el agente. Raises: NotImplementedError: Si no se implementa en la subclase. """ raise NotImplementedError("El agente debe implementar el método _responder_raw().")

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