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
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Проект, который интегрирует протокол управления моделями с API OpenAI, позволяя OpenAI получать доступ к инструментам, предоставляемым докеризованным сервером MCP, и использовать их.
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol (MCP) server that lets you seamlessly use OpenAI's models right from Claude.Last updated -12428JavaScriptMIT License
- -securityAlicense-qualityA 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 -26PythonMIT License
- AsecurityAlicenseAqualityEnables integration with OpenAI models through the MCP protocol, supporting concise and detailed responses for use with Claude Desktop.Last updated -11PythonMIT 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 -28Python