🐳 Docker Explorer MCP-сервер
📋 Обзор
Docker Explorer — это мощный сервер Model Context Protocol (MCP), который предоставляет инструменты и ресурсы для взаимодействия с образами, контейнерами и реестрами Docker. Этот сервер позволяет помощникам ИИ, таким как Клод, искать, анализировать и взаимодействовать с ресурсами Docker через стандартизированный интерфейс, делая управление контейнерами и их исследование более доступными.
✨ Особенности
Основные характеристики
- Поиск образов Docker в реестрах
- Поиск определенных тегов образов Docker
- Поиск пользователей/организаций Docker Hub
- Получите подробные метаданные об образах Docker
- Анализ содержимого Dockerfile
- Сравнение образов Docker
Расширенные инструменты
- 🔒 Сканер безопасности : анализ образов Docker на наличие известных уязвимостей и проблем безопасности
- 📦 Оптимизатор размера образа : получите рекомендации по уменьшению размера образа Docker
- 📄 Docker Compose Generator : сгенерируйте файлы docker-compose.yml для ваших приложений
- 📊 Анализатор времени выполнения контейнера : получите представление о поведении времени выполнения контейнера и использовании ресурсов.
- 🔍 Инструмент сравнения образов : сравните два образа Docker и выделите их различия
- 📜 Генератор Dockerfile : создание Dockerfile из описаний приложений на естественном языке
🚀 Установка
Предпосылки
- Python 3.10 или выше
- MCP Python SDK
- Требуемые пакеты 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 :
- Получить сведения об изображении :
- Найти доступные теги :
Расширенные инструменты
- Сканер безопасности :
- Оптимизатор размера изображения :
- Генератор Docker Compose :
- Анализатор времени выполнения контейнера :
👷 Развитие
Структура проекта
Добавление новых функций
Чтобы добавить новый инструмент на сервер 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»)image2
(строка): второй образ Docker для сравнения (например, «nginx:1.22» или «user/repo»)
- Возврат : Подробный сравнительный отчет, в котором указаны различия в размерах, слоях, конфигурации и совместимости.
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.
- Всегда проверяйте рекомендации по безопасности перед их реализацией.
📌 Лицензия
Массачусетский технологический институт
👥 Вклад
Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на извлечение с новыми инструментами или улучшениями существующей функциональности.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Сервер Model Context Protocol, предоставляющий инструменты для взаимодействия с образами, контейнерами и реестрами Docker, позволяя помощникам на основе искусственного интеллекта искать, анализировать и управлять ресурсами Docker через стандартизированный интерфейс.
Related MCP Servers
- AsecurityAlicenseAqualityA powerful Model Context Protocol (MCP) server for Docker operations, enabling seamless container and compose stack management through Claude AI.Last updated -4347PythonMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables Docker container management through natural language interactions using a custom GPT interface.Last updated -710TypeScript
- -securityAlicense-qualityA Model Context Protocol server that enables AI applications to interact with Dropbox, providing tools for file operations, metadata retrieval, searching, and account management through Dropbox's API.Last updated -24TypeScriptMIT License
- -securityFlicense-qualityA comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.Last updated -161TypeScript