Skip to main content
Glama

Servidor MCP con Docker

Este proyecto demuestra cómo integrar el Protocolo de Control de Modelos (MCP) con la API de OpenAI, lo que permite a OpenAI acceder y utilizar herramientas expuestas por un servidor MCP que se ejecuta en Docker.

Prerrequisitos

  • Docker instalado en su sistema

  • Git (para clonar el repositorio)

Related MCP server: MCP Simple OpenAI Assistant

Estructura del proyecto

  • server.py : La implementación del servidor MCP con una herramienta

  • client.py : Un cliente que se conecta al servidor y llama al agente

  • Dockerfile : Instrucciones para crear la imagen de Docker

  • requirements.txt : Dependencias de Python para el proyecto

Explicación del flujo de datos

  1. Consulta de usuario : el usuario envía una consulta al sistema (por ejemplo, "¿Cuál es la política de vacaciones de nuestra empresa?")

  2. API de OpenAI : OpenAI recibe la consulta y las herramientas disponibles del servidor MCP

  3. Selección de herramientas : OpenAI decide qué herramientas utilizar en función de la consulta

  4. Cliente MCP : el cliente recibe la solicitud de llamada de herramienta de OpenAI y la reenvía al servidor MCP

  5. Servidor MCP : el servidor ejecuta la herramienta solicitada (por ejemplo, recuperar datos de la base de conocimientos)

  6. Flujo de respuesta : el resultado de la herramienta fluye de regreso a través del cliente MCP a OpenAI

  7. Respuesta final : OpenAI genera una respuesta final que incorpora los datos de la herramienta

Ejecutando con Docker

Paso 1: Construir la imagen de Docker

docker build -t mcp-server .

Paso 2: Ejecutar el contenedor Docker

docker run -p 8050:8050 mcp-server

Esto iniciará el servidor MCP dentro de un contenedor Docker y lo expondrá en el puerto 8050.

Ejecución del cliente

Una vez que el servidor esté en ejecución, puedes ejecutar el cliente en una terminal separada:

python client.py

El cliente se conectará al servidor, enumerará las herramientas disponibles y llamará al agente para responder la consulta.

Solución de problemas

Si encuentra problemas de conexión:

  1. Compruebe si el servidor se está ejecutando : asegúrese de que el contenedor Docker se esté ejecutando con docker ps .

  2. Verificar la asignación de puertos : asegúrese de que el puerto esté asignado correctamente con docker ps o verificando la salida del comando docker run .

  3. Comprobar los registros del servidor : vea los registros del servidor con docker logs <container_id> para ver si hay algún error.

  4. Enlace de host : El servidor está configurado para enlazarse a 0.0.0.0 en lugar de 127.0.0.1 para que sea accesible desde fuera del contenedor. Si el problema persiste, es posible que deba revisar la configuración de su firewall.

  5. Problemas de red : si está ejecutando Docker en una máquina remota, asegúrese de que el puerto sea accesible desde su máquina cliente.

Notas

  • El servidor está configurado para utilizar el transporte SSE (eventos enviados por el servidor) y escucha en el puerto 8050.

  • El cliente se conecta al servidor en http://localhost:8050/sse .

  • Asegúrese de que el servidor esté ejecutándose antes de iniciar el cliente.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

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/TomasRodriguez2002/MCP'

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