mcp_server.cpython-312.pyc•3.76 kB
�
�=4h� � �8 � d dl mZ d dlmZ d dlZ G d� d� Zy)� )� LLMRouter)�obtener_contexto_globalNc �2 � e Zd ZdZd dedefd�Zdedefd�Zy)
� MCPServeruR
Servidor principal de MCP (Multi-Agent Chat Platform).
Esta clase actúa como el núcleo del sistema, coordinando la recepción de mensajes
del usuario, el enrutamiento al agente apropiado y la generación de respuestas,
ya sea por un agente específico o directamente a través del modelo LLM.
Atributos:
debug (bool): Si es True, muestra información adicional útil para depuración.
db_path (str): Ruta a la base de datos usada para cargar el contexto global.
router (LLMRouter): Instancia del enrutador que decide qué LLM y agente usar.
�debug�db_pathc � � || _ t j j |� r|nd| _ t � | _ y)u
Inicializa el servidor MCP, con opción de depuración y base de datos de contexto.
Args:
debug (bool): Habilita o deshabilita mensajes de depuración.
db_path (str): Ruta al archivo de base de datos SQLite para contexto global.
N)r �os�path�existsr r �router)�selfr r s �//home/agomez/Proyectos/MCP/server/mcp_server.py�__init__zMCPServer.__init__ s, � � ��
�"$�'�'�.�.��"9�w�t����k��� �mensaje�returnc � � | j j |� \ }}| j rt d|dt |� � |�g| j
rt
| j
� nd}|� d|� d�}| j rt d� | j j j |� S || j j �� }| j rt d |j � d
�� |j |� S # t $ rB}t d|� | j r t dt � dt � � Y d}~yd}~ww xY w)
u�
Procesa un mensaje del usuario utilizando agentes y modelos LLM.
Determina si hay un agente relevante para responder la consulta.
Si no lo hay, el sistema utiliza el modelo LLM complejo directamente
y añade contexto global desde una base de datos (si está disponible).
Args:
mensaje (str): Pregunta del usuario.
Returns:
str: Respuesta generada por un agente o directamente por un LLM.
zDEBUG: agente:zllm:N� z Usuario: z
Asistente:u) DEBUG: sin agente → usando llm_complejo)�llmzDEBUG: usando agente z con llm_simplezERROR:u/ ⚠️ Ocurrió un error procesando tu mensaje.)
r
�
elegir_agenter �print�typer r �llm_complex� responder�
llm_simple�__name__� Exception�repr)r r r �clase_agente�contexto�prompt�agente�es r �procesar_mensajezMCPServer.procesar_mensaje s � � E� $��� 9� 9�'� B��C���z�z��&��f�d�3�i�H��#�DH�L�L�2�4�<�<�@�VX��$�:�Y�w�i�|�D���:�:��E�F��{�{�.�.�8�8��@�@� "�d�k�k�&<�&<�=�F��z�z��-�l�.C�.C�-D�O�T�U��#�#�G�,�,��� E��(�A���z�z��&��\�(:�F�D��I�N�D�� E�s �B)C? �,AC? �? E
�8E�E
N)Fzdatabase/context.db)r �
__module__�__qualname__�__doc__�bool�strr r% � r r r r s0 � ��
"�d�
"�S�
"�'E�� 'E�� 'Er r )�core.router_llmr �core.context_loaderr r
r r+ r r �<module>r. s �� %� 7� �AE� AEr