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. Clonar el repositorio
            2. Crea un entorno virtual y actívalo
            3. Instalar dependencias
            4. Configurar el modelo LLM
            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
                4
                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 -
                1
                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
                1,379
                4
                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 -
                53
                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