🐳 Docker Explorer MCP-сервер
📋 Обзор
Docker Explorer — это мощный сервер Model Context Protocol (MCP), который предоставляет инструменты и ресурсы для взаимодействия с образами, контейнерами и реестрами Docker. Этот сервер позволяет помощникам ИИ, таким как Клод, искать, анализировать и взаимодействовать с ресурсами Docker через стандартизированный интерфейс, делая управление контейнерами и их исследование более доступными.
Related MCP server: ChatGPT MCP Server
✨ Особенности
Основные характеристики
Поиск образов Docker в реестрах
Поиск определенных тегов образов Docker
Поиск пользователей/организаций Docker Hub
Получите подробные метаданные об образах Docker
Анализ содержимого Dockerfile
Сравнение образов Docker
Расширенные инструменты
🔒 Сканер безопасности : анализ образов Docker на наличие известных уязвимостей и проблем безопасности
📦 Оптимизатор размера образа : получите рекомендации по уменьшению размера образа Docker
📄 Docker Compose Generator : сгенерируйте файлы docker-compose.yml для ваших приложений
📊 Анализатор времени выполнения контейнера : получите представление о поведении времени выполнения контейнера и использовании ресурсов.
🔍 Инструмент сравнения образов : сравните два образа Docker и выделите их различия
📜 Генератор Dockerfile : создание Dockerfile из описаний приложений на естественном языке
🚀 Установка
Предпосылки
Python 3.10 или выше
Требуемые пакеты Python:
requests,pydantic
Настраивать
Клонируйте этот репозиторий :
Создайте виртуальную среду :
Установить зависимости :
Или установите отдельные пакеты:
💻 Использование
Запуск сервера
Вы можете запустить сервер прямо из командной строки:
Это запустит сервер MCP на порту по умолчанию (5000).
Интеграция с Claude Desktop
Чтобы использовать сервер Docker Explorer MCP с Claude Desktop:
Обновите конфигурацию Claude Desktop :
Откройте или создайте файл
claude_desktop_config.jsonв каталоге конфигурации Claude Desktop.Добавьте конфигурацию сервера Docker Explorer
Перезапустите Claude Desktop , чтобы загрузить новую конфигурацию.
Использование инструментов
После интеграции с Claude Desktop вы сможете использовать инструменты Docker Explorer, задавая Клоду такие вопросы:
Основные инструменты
Поиск образов Docker :
Can you search for Python Docker images?Получить сведения об изображении :
What are the details of the python:3.11-slim image?Найти доступные теги :
What tags are available for the nginx image?
Расширенные инструменты
Сканер безопасности :
Scan the security of the nginx imageОптимизатор размера изображения :
How can I reduce the size of my python:3.9 image?Генератор Docker Compose :
Generate a docker-compose file for nginx with port 8080:80Анализатор времени выполнения контейнера :
Analyze the runtime behavior of mysql:5.7 as a database
👷 Развитие
Структура проекта
Добавление новых функций
Чтобы добавить новый инструмент на сервер Docker Explorer MCP:
Реализуйте функцию инструмента в
docker_explorer.pyс помощью декоратора инструмента MCP:
Следуйте этим рекомендациям по внедрению инструмента:
Сохраняйте выходные данные краткими и отформатированными для Claude Desktop
Обрабатывайте исключения изящно
Предоставьте четкие описания параметров
Возвращайте хорошо структурированные результаты
Тестирование
Ручное тестирование :
Запускаем сервер:
python docker_explorer.pyТестируйте с помощью Claude Desktop, задавая соответствующие вопросы
Отладка :
Проверьте вывод терминала на наличие ошибок.
Проверка ответов инструмента в Claude Desktop
Отрегулируйте форматирование вывода, если у Клода есть ограничения по емкости
📚 API-документация
Основные инструменты
search_images
Описание : Поиск образов Docker в реестрах.
Параметры :
query(строка): Поисковый запрос для образов Dockerlimit(целое число, по умолчанию = 10): максимальное количество возвращаемых результатов
Возвращает : список образов Docker с метаданными.
search_tags
Описание : Поиск определенных тегов образа Docker.
Параметры :
image_name(string): Имя образа Dockertag_pattern(string, default=""): Шаблон для сопоставления теговlimit(целое число, по умолчанию = 25): максимальное количество возвращаемых результатов
Возвращает : Список соответствующих тегов
get_image_details
Описание : Получите подробную информацию об образе Docker.
Параметры :
image_name(string): Имя образа Dockertag(string, default="latest"): тег образа Docker
Возврат : Подробная информация об изображении
Расширенные инструменты
scan_security
Описание : Анализ образов Docker на предмет известных уязвимостей и проблем безопасности.
Параметры :
image_name(string): Имя образа Dockertag(string, default="latest"): тег образа Docker для сканирования
Возвращает : отчет по анализу безопасности с рекомендациями
optimize_image_size
Описание : Анализ образа Docker и предложение способов уменьшения его размера.
Параметры :
repository_url(строка): Полный URL-адрес репозитория Docker Hubtag(string, default="latest"): тег образа Docker для анализа
Возврат : Рекомендации по оптимизации размера
generate_docker_compose
Описание : Создание файла docker-compose.yml на основе образа.
Параметры :
repository_url(строка): Полный URL-адрес репозитория Docker Hubtag(string, default="latest"): тег образа Dockerport_mapping(string, default=""): Необязательное сопоставление портов (например, '8080:80')environment_variables(string, default=""): Необязательные переменные средыinclude_db(boolean, default=false): следует ли включать службу базы данных
Возвращает : сгенерированное содержимое docker-compose.yml
analyze_runtime
Описание : Анализ того, как контейнер может вести себя во время выполнения.
Параметры :
image_name(string): Имя образа Dockertag(string, default="latest"): тег образа Dockerapp_type(string, default="web"): Тип приложения (веб, база данных, кэш, API, пакетное)
Возвращает : анализ времени выполнения с прогнозами и рекомендациями по использованию ресурсов.
compare_images
Описание : Сравните два образа Docker и выделите различия.
Параметры :
image1(строка): первый образ Docker для сравнения (например, «nginx:1.21» или «user/repo:tag»)image2(строка): второй образ Docker для сравнения (например, «nginx:1.22» или «user/repo:tag»)
Возврат : Подробный сравнительный отчет, в котором указаны различия в размерах, слоях, конфигурации и совместимости.
generate_dockerfile
Описание : Создание Dockerfile на основе требований приложения, описанных на естественном языке.
Параметры :
app_description(string): Описание приложения для контейнеризации (например, «веб-приложение Python Flask с Redis»)app_type(string, default="web"): Тип приложения (веб, API, база данных, рабочий, статический)base_image(string, default=""): необязательное базовое изображение для использования (например, 'python:3.9-alpine')include_comments(boolean, default=true): включать ли пояснительные комментарии в Dockerfile
Возвращает : сгенерированный Dockerfile с инструкциями по использованию.
🔒 Вопросы безопасности
Сервер Docker Explorer MCP предназначен для образовательных и развивающих целей. При его использовании:
Не раскрывайте конфиденциальные учетные данные или ключи API.
Будьте осторожны при создании и запуске файлов Docker Compose.
Всегда проверяйте рекомендации по безопасности перед их реализацией.
📌 Лицензия
Массачусетский технологический институт
👥 Вклад
Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на извлечение с новыми инструментами или улучшениями существующей функциональности.