MCP-сервер с Docker
В этом проекте демонстрируется, как интегрировать протокол управления моделью (MCP) с API OpenAI, что позволяет OpenAI получать доступ к инструментам, предоставляемым сервером MCP, работающим в Docker, и использовать их.
Предпосылки
Docker установлен в вашей системе
Git (для клонирования репозитория)
Структура проекта
server.py: Реализация сервера MCP с помощью инструментаclient.py: Клиент, который подключается к серверу и вызывает агентаDockerfile: Инструкции по созданию образа Dockerrequirements.txt: Зависимости Python для проекта
Объяснение потока данных
Запрос пользователя : Пользователь отправляет запрос в систему (например, «Какова политика нашей компании в отношении отпусков?»)
OpenAI API : OpenAI получает запрос и доступные инструменты от сервера MCP.
Выбор инструмента : OpenAI решает, какие инструменты использовать, на основе запроса.
Клиент MCP : Клиент получает запрос на вызов инструмента OpenAI и пересылает его на сервер MCP.
Сервер MCP : сервер выполняет запрошенный инструмент (например, извлекает данные из базы знаний).
Поток ответа : результат работы инструмента возвращается через клиент MCP в OpenAI.
Окончательный ответ : OpenAI генерирует окончательный ответ, включающий данные инструмента.
Работа с Docker
Шаг 1: Создание образа Docker
Шаг 2: Запустите Docker-контейнер
Это запустит сервер MCP внутри контейнера Docker и откроет его на порту 8050.
Запуск клиента
После запуска сервера вы можете запустить клиент в отдельном терминале:
Клиент подключится к серверу, выведет список доступных инструментов и вызовет агента для ответа на запрос.
Поиск неисправностей
Если у вас возникли проблемы с подключением:
Проверьте, запущен ли сервер : убедитесь, что контейнер Docker запущен с помощью
docker ps.Проверьте сопоставление портов : убедитесь, что порт правильно сопоставлен с помощью
docker psили проверив вывод командыdocker run.Проверьте журналы сервера : просмотрите журналы сервера с помощью
docker logs <container_id>чтобы проверить наличие ошибок.Привязка хоста : сервер настроен на привязку к
0.0.0.0вместо127.0.0.1, чтобы сделать его доступным извне контейнера. Если у вас все еще возникают проблемы, вам может потребоваться проверить настройки брандмауэра.Проблемы с сетью : если вы используете Docker на удаленной машине, убедитесь, что порт доступен с вашей клиентской машины.
Примечания
Сервер настроен на использование транспорта SSE (Server-Sent Events) и прослушивает порт 8050.
Клиент подключается к серверу по адресу
http://localhost:8050/sse.Перед запуском клиента убедитесь, что сервер запущен.
This server cannot be installed
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server that lets you seamlessly use OpenAI's models right from Claude.Last updated -112369MIT License
- Asecurity-licenseAqualityA 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 -936MIT License
- AsecurityAlicenseAqualityEnables integration with OpenAI models through the MCP protocol, supporting concise and detailed responses for use with Claude Desktop.Last updated -4MIT License
- -securityFlicense-qualityA 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 -36