Skip to main content
Glama

MCP-сервер с Docker

В этом проекте демонстрируется, как интегрировать протокол управления моделью (MCP) с API OpenAI, что позволяет OpenAI получать доступ к инструментам, предоставляемым сервером MCP, работающим в Docker, и использовать их.

Предпосылки

  • Docker установлен в вашей системе

  • Git (для клонирования репозитория)

Related MCP server: OpenAI MCP Server

Структура проекта

  • server.py : Реализация сервера MCP с помощью инструмента

  • client.py : Клиент, который подключается к серверу и вызывает агента

  • Dockerfile : Инструкции по созданию образа Docker

  • requirements.txt : Зависимости Python для проекта

Объяснение потока данных

  1. Запрос пользователя : Пользователь отправляет запрос в систему (например, «Какова политика нашей компании в отношении отпусков?»)

  2. OpenAI API : OpenAI получает запрос и доступные инструменты от сервера MCP.

  3. Выбор инструмента : OpenAI решает, какие инструменты использовать, на основе запроса.

  4. Клиент MCP : Клиент получает запрос на вызов инструмента OpenAI и пересылает его на сервер MCP.

  5. Сервер MCP : сервер выполняет запрошенный инструмент (например, извлекает данные из базы знаний).

  6. Поток ответа : результат работы инструмента возвращается через клиент MCP в OpenAI.

  7. Окончательный ответ : OpenAI генерирует окончательный ответ, включающий данные инструмента.

Работа с Docker

Шаг 1: Создание образа Docker

docker build -t mcp-server .

Шаг 2: Запустите Docker-контейнер

docker run -p 8050:8050 mcp-server

Это запустит сервер MCP внутри контейнера Docker и откроет его на порту 8050.

Запуск клиента

После запуска сервера вы можете запустить клиент в отдельном терминале:

python client.py

Клиент подключится к серверу, выведет список доступных инструментов и вызовет агента для ответа на запрос.

Поиск неисправностей

Если у вас возникли проблемы с подключением:

  1. Проверьте, запущен ли сервер : убедитесь, что контейнер Docker запущен с помощью docker ps .

  2. Проверьте сопоставление портов : убедитесь, что порт правильно сопоставлен с помощью docker ps или проверив вывод команды docker run .

  3. Проверьте журналы сервера : просмотрите журналы сервера с помощью docker logs <container_id> чтобы проверить наличие ошибок.

  4. Привязка хоста : сервер настроен на привязку к 0.0.0.0 вместо 127.0.0.1 , чтобы сделать его доступным извне контейнера. Если у вас все еще возникают проблемы, вам может потребоваться проверить настройки брандмауэра.

  5. Проблемы с сетью : если вы используете Docker на удаленной машине, убедитесь, что порт доступен с вашей клиентской машины.

Примечания

  • Сервер настроен на использование транспорта SSE (Server-Sent Events) и прослушивает порт 8050.

  • Клиент подключается к серверу по адресу http://localhost:8050/sse .

  • Перед запуском клиента убедитесь, что сервер запущен.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    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.
    35
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A server that integrates the MCP library with OpenAI's API, allowing users to interact with various tools, such as the weather tool, through natural language queries.
    MIT