MCP Server with Docker

MIT License
  • Linux
  • Apple

Integrations

  • Enables the MCP server to run inside Docker containers, providing tool access while maintaining isolation and portability.

  • Provides integration with OpenAI's API, allowing OpenAI models to access and use tools exposed by the MCP server for retrieving information like knowledge base data.

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)

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

Un proyecto que integra el Protocolo de Control de Modelos con la API de OpenAI, lo que permite a OpenAI acceder y utilizar herramientas expuestas por un servidor MCP dockerizado.

  1. Prerequisites
    1. Project Structure
      1. Data Flow Explanation
    2. Running with Docker
      1. Step 1: Build the Docker image
      2. Step 2: Run the Docker container
    3. Running the Client
      1. Troubleshooting
        1. Notes

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol (MCP) server that lets you seamlessly use OpenAI's models right from Claude.
            Last updated -
            1
            24
            28
            JavaScript
            MIT License
            • Apple
          • -
            security
            A
            license
            -
            quality
            A simple MCP server for interacting with OpenAI assistants. This server allows other tools (like Claude Desktop) to create and interact with OpenAI assistants through the Model Context Protocol.
            Last updated -
            18
            Python
            MIT License
            • Apple
          • A
            security
            A
            license
            A
            quality
            Enables integration with OpenAI models through the MCP protocol, supporting concise and detailed responses for use with Claude Desktop.
            Last updated -
            1
            1
            Python
            MIT License
            • Apple
            • Linux
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server implementation that enables connection between OpenAI APIs and MCP clients for coding assistance with features like CLI interaction, web API integration, and tool-based architecture.
            Last updated -
            9
            Python
            • Linux
            • Apple

          View all related MCP servers

          ID: yu6qfxkcxv