hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Aplicación cliente-servidor basada en MCP para Command Executor y Brave Search
Descripción general
Este proyecto implementa una arquitectura cliente-servidor que utiliza MCP (Protocolo de Contexto de Modelo) para gestionar las solicitudes del usuario, determinar su intención mediante un Modelo de Lenguaje Grande (LLM) y dirigirlas al servicio correspondiente para su ejecución. El sistema consta de dos componentes principales:
- Cliente: procesa la entrada del usuario, la envía al LLM y reenvía la solicitud al servidor apropiado según la decisión del LLM.
- Servidor: Gestiona las solicitudes según la herramienta especificada en la respuesta JSON del LLM. Ejecuta comandos del sistema o recupera datos web mediante la API de búsqueda de Brave.
El LLM determina si la solicitud del usuario requiere la ejecución de un comando o una búsqueda web . Si la solicitud no es clara, el LLM realiza preguntas adicionales antes de generar una respuesta JSON estructurada que especifica el nombre de la herramienta ( command_execution
o fetch_web_data
) y sus argumentos requeridos.
Diagrama de flujo
Laboral
- Entrada del usuario: el usuario ingresa un mensaje en la CLI.
- Procesamiento del cliente: el cliente reenvía la solicitud al LLM.
- Decisión de LLM:
- Si la intención no está clara, el LLM hace preguntas de seguimiento.
- Genera una respuesta JSON que especifica el nombre de la herramienta y los argumentos requeridos.
- Enrutamiento de clientes:
- Si la herramienta es
command_execution
:- La solicitud se envía al servidor de comandos .
- El servidor de comandos ejecuta el comando utilizando el módulo
subprocess
de Python. - Se devuelve una respuesta de éxito o fracaso.
- Si la herramienta es
fetch_web_data
:- La solicitud se envía al servidor de obtención de datos web .
- El servidor consulta la API de búsqueda de Brave para obtener resultados relevantes.
- Los resultados de la búsqueda se devuelven al cliente.
- Si la herramienta es
- Respuesta del cliente: el cliente envía la respuesta final al usuario a través de la CLI.
Prerrequisitos
- Python 3.x
- pip (administrador de paquetes de Python)
- Configuración del entorno virtual (opcional, pero recomendado)
- Instalar UV/UVX: Guía de instalación de UV
- API de Brave Search: clave de API de Brave Search
- Cualquiera de los siguientes LLM:
Instalación
1. Clonar el repositorio
2. Crea un entorno virtual y actívalo
3. Instalar dependencias
4. Configurar el modelo LLM
Usando el modelo Ollama
- Instale la herramienta Ollama CLI siguiendo las instrucciones de la Guía de instalación de Ollama .
- A continuación, revisa el Ollama:Copy
- Especifique el modelo en el comando del cliente (llama3 o llama2):Copy
Usando el modelo Groq
- Cree un archivo
.env
para almacenar la clave API de Groq:Copy - Añade la clave API de tu Groq al archivo
.env
:Copy
5. Configurar la API de búsqueda de Brave
Añade la clave API de tu Brave al archivo .env
:
Correr
- Para utilizar el modelo Ollama
- Para utilizar el modelo Groq
Prueba
Proporcionar una consulta al cliente (por ejemplo, touch test.txt
, create text file with test
, rm test.txt file
, etc.)
Guía de configuración del proyecto Docker
📌 Pasos para ejecutar el código
1️⃣ Clonar el repositorio Git
2️⃣ Editar configuración para la selección del modelo
Modifique el archivo config.ini para especificar el tipo y el nombre del modelo:
3️⃣ Construir los contenedores Docker
4️⃣ Ejecutar el cliente modelo
This server cannot be installed
Facilita la ejecución de comandos del sistema y la recuperación de datos web mediante la API de búsqueda Brave interpretando las intenciones del usuario a través de un modelo de lenguaje grande (LLM).