Skip to main content
Glama

MCP Command and Search Server

by mjunaid46

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

  1. Entrada del usuario: el usuario ingresa un mensaje en la CLI.
  2. Procesamiento del cliente: el cliente reenvía la solicitud al LLM.
  3. 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.
  4. 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.
  5. Respuesta del cliente: el cliente envía la respuesta final al usuario a través de la CLI.

Prerrequisitos

Instalación

1. Clonar el repositorio

git clone -https://github.com/mjunaid46/mcp cd mcp

2. Crea un entorno virtual y actívalo

# Create a virtual environment uv venv # Activate virtual environment # On Unix or MacOS: source .venv/bin/activate # On Windows: .venv\Scripts\activate

3. Instalar dependencias

pip install -r requirements.txt python -m ensurepip

4. Configurar el modelo LLM

Usando el modelo Ollama
  1. Instale la herramienta Ollama CLI siguiendo las instrucciones de la Guía de instalación de Ollama .
  2. A continuación, revisa el Ollama:
    ollama list
  3. Especifique el modelo en el comando del cliente (llama3 o llama2):
    uv run client/client.py server/command_server.py server/web_server.py ollama llama3
Usando el modelo Groq
  1. Cree un archivo .env para almacenar la clave API de Groq:
    touch .env
  2. Añade la clave API de tu Groq al archivo .env :
    GROQ_API_KEY=<your_groq_api_key_here>

5. Configurar la API de búsqueda de Brave

Añade la clave API de tu Brave al archivo .env :

BRAVE_SEARCH_API_KEY=<your_brave_search_api_key_here>

Correr

  • Para utilizar el modelo Ollama
uv run client/client.py server/command_server.py server/web_server.py ollama llama3
  • Para utilizar el modelo Groq
uv run client/client.py server/command_server.py server/web_server.py groq

Prueba

Proporcionar una consulta al cliente (por ejemplo, touch test.txt , create text file with test , rm test.txt file , etc.)

# Try the below prompts one by one to test. What is the capital of Pakistan. What is MCP? Create a file in my present working directory

Guía de configuración del proyecto Docker

📌 Pasos para ejecutar el código

1️⃣ Clonar el repositorio Git

git clone https://github.com/mjunaid46/mcp/ cd mcp

2️⃣ Editar configuración para la selección del modelo

Modifique el archivo config.ini para especificar el tipo y el nombre del modelo:

[settings] model_type = ollama # Change to "groq" if using Groq model_name = llama3 # Update model name if needed

3️⃣ Construir los contenedores Docker

docker-compose build

4️⃣ Ejecutar el cliente modelo

docker-compose run pull-model-client
-
security - not tested
F
license - not found
-
quality - not tested

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).

  1. Descripción general
    1. Diagrama de flujo
      1. Laboral
        1. Prerrequisitos
          1. Instalación
            1. 1. Clonar el repositorio
            2. 2. Crea un entorno virtual y actívalo
            3. 3. Instalar dependencias
            4. 4. Configurar el modelo LLM
            5. 5. Configurar la API de búsqueda de Brave
          2. Correr
            1. Prueba
              1. Guía de configuración del proyecto Docker
                1. 📌 Pasos para ejecutar el código

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                Facilitates 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 -
                2
                12
                Python
                MIT License
              • -
                security
                F
                license
                -
                quality
                Enables 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 -
                2
                Python
              • A
                security
                A
                license
                A
                quality
                Enables 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 -
                1
                666
                6
                TypeScript
                MIT License
                • Apple
                • Linux
              • -
                security
                A
                license
                -
                quality
                Provides 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 -
                65
                Python
                MIT License
                • Linux
                • Apple

              View all related MCP servers

              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/mjunaid46/mcp'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server