Skip to main content
Glama

MCP-сервер с Docker

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

Предпосылки

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

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

Related MCP server: MCP Simple OpenAI Assistant

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

  • 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 .

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

-
security - not tested
A
license - permissive license
-
quality - not tested

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