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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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