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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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