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:
- Especifique el modelo en el comando del cliente (llama3 o llama2):
Usando el modelo Groq
- Cree un archivo
.env
para almacenar la clave API de Groq: - Añade la clave API de tu Groq al archivo
.env
:
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
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
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).
- Descripción general
- Diagrama de flujo
- Laboral
- Prerrequisitos
- Instalación
- Correr
- Prueba
- Guía de configuración del proyecto Docker
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityFacilitates integration of Brave Search functionalities with AI assistants through the Model Context Protocol, enabling web and local searches using the Brave Search API.Last updated -24PythonMIT License
- -securityFlicense-qualityEnables LLMs to perform sophisticated web searches through proxy servers using Tavily's API, supporting comprehensive web searches, direct question answering, and recent news article retrieval with AI-extracted content.Last updated -1Python
- AsecurityAlicenseAqualityEnables extracting data from websites using natural language prompts, allowing users to specify exactly what content they want in plain English and returning structured JSON data.Last updated -11,3794TypeScriptMIT License
- -securityAlicense-qualityProvides AI-powered web search capabilities using Tavily's search API, enabling LLMs to perform sophisticated web searches, get direct answers to questions, and search recent news articles.Last updated -53PythonMIT License