Skip to main content
Glama

Docker Explorer

by jar285

🐳 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

Настраивать

  1. Клонируйте этот репозиторий :
git clone https://github.com/yourusername/docker-mcp-server.git cd docker-mcp-server
  1. Создайте виртуальную среду :
python -m venv .venv310 source .venv310/bin/activate # On Windows: .venv310\Scripts\activate
  1. Установить зависимости :
pip install -r requirements.txt

Или установите отдельные пакеты:

pip install anthropic-mcp requests pydantic

💻 Использование

Запуск сервера

Вы можете запустить сервер прямо из командной строки:

python docker_explorer.py

Это запустит сервер MCP на порту по умолчанию (5000).

Интеграция с Claude Desktop

Чтобы использовать сервер Docker Explorer MCP с Claude Desktop:

  1. Обновите конфигурацию Claude Desktop :
    • Откройте или создайте файл claude_desktop_config.json в каталоге конфигурации Claude Desktop.
    • Добавьте конфигурацию сервера Docker Explorer
{ "mcp_servers": [ { "name": "docker-explorer", "command": ["python", "/path/to/mcpIS421/docker_explorer.py"], "cwd": "/path/to/mcpIS421" } ] }
  1. Перезапустите Claude Desktop , чтобы загрузить новую конфигурацию.

Использование инструментов

После интеграции с Claude Desktop вы сможете использовать инструменты Docker Explorer, задавая Клоду такие вопросы:

Основные инструменты
  1. Поиск образов Docker :
    Can you search for Python Docker images?
  2. Получить сведения об изображении :
    What are the details of the python:3.11-slim image?
  3. Найти доступные теги :
    What tags are available for the nginx image?
Расширенные инструменты
  1. Сканер безопасности :
    Scan the security of the nginx image
  2. Оптимизатор размера изображения :
    How can I reduce the size of my python:3.9 image?
  3. Генератор Docker Compose :
    Generate a docker-compose file for nginx with port 8080:80
  4. Анализатор времени выполнения контейнера :
    Analyze the runtime behavior of mysql:5.7 as a database

👷 Развитие

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

docker-explorer-mcp/ ├── docker_explorer.py # Main server implementation with all tools ├── requirements.txt # Project dependencies ├── .gitignore # Git ignore file └── docs/ # Documentation ├── server_guide.md # Guide for setting up and using the server ├── new_tools_suggestions.md # Ideas for additional tools └── docker_mcp_server_project.md # Project overview

Добавление новых функций

Чтобы добавить новый инструмент на сервер Docker Explorer MCP:

  1. Реализуйте функцию инструмента в docker_explorer.py с помощью декоратора инструмента MCP:
@mcp.tool() def my_new_tool( param1: str = Field(description="Description of param1"), param2: int = Field(default=10, description="Description of param2") ) -> str: """Description of what your tool does""" try: # Implementation logic here result = f"Your formatted result" return result except Exception as e: return f"Error in my_new_tool: {str(e)}"
  1. Следуйте этим рекомендациям по внедрению инструмента:
    • Сохраняйте выходные данные краткими и отформатированными для Claude Desktop
    • Обрабатывайте исключения изящно
    • Предоставьте четкие описания параметров
    • Возвращайте хорошо структурированные результаты

Тестирование

  1. Ручное тестирован��е :
    • Запускаем сервер: python docker_explorer.py
    • Тестируйте с помощью Claude Desktop, задавая соответствующие вопросы
  2. Отладка :
    • Проверьте вывод терминала на наличие ошибок.
    • Проверка ответов инструмента в Claude Desktop
    • Отрегулируйте форматирование вывода, если у Клода есть ограничения по емкости

📚 API-документация

Основные инструменты

search_images
  • Описание : Поиск образов Docker в реестрах.
  • Параметры :
    • query (строка): Поисковый запрос для образов Docker
    • limit (целое число, по умолчанию = 10): максимальное количество возвращаемых результатов
  • Возвращает : список образов Docker с метаданными.
search_tags
  • Описание : Поиск определенных тегов образа Docker.
  • Параметры :
    • image_name (string): Имя образа Docker
    • tag_pattern (string, default=""): Шаблон для сопоставления тегов
    • limit (целое число, по умолчанию = 25): максимальное количество возвращаемых результатов
  • Возвращает : Список соответствующих тегов
get_image_details
  • Описание : Получите подробную информацию об образе Docker.
  • Параметры :
    • image_name (string): Имя образа Docker
    • tag (string, default="latest"): тег образа Docker
  • Возврат : Подробная информация об изображении

Расширенные инструменты

scan_security
  • Описание : Анализ образов Docker на предмет известных уязвимостей и проблем безопасности.
  • Параметры :
    • image_name (string): Имя образа Docker
    • tag (string, default="latest"): тег образа Docker для сканирования
  • Возвращает : отчет по анализу безопасности с рекомендациями
optimize_image_size
  • Описание : Анализ образа Docker и предложение способов уменьшения его размера.
  • Параметры :
    • repository_url (строка): Полный URL-адрес репозитория Docker Hub
    • tag (string, default="latest"): тег образа Docker для анализа
  • Возврат : Рекомендации по оптимизации размера
generate_docker_compose
  • Описание : Создание файла docker-compose.yml на основе образа.
  • Параметры :
    • repository_url (строка): Полный URL-адрес репозитория Docker Hub
    • tag (string, default="latest"): тег образа Docker
    • port_mapping (string, default=""): Необязательное сопоставление портов (например, '8080:80')
    • environment_variables (string, default=""): Необязательные переменные среды
    • include_db (boolean, default=false): следует ли включать службу базы данных
  • Возвращает : сгенерированное содержимое docker-compose.yml
analyze_runtime
  • Описание : Анализ того, как контейнер может вести себя во время выполнения.
  • Параметры :
    • image_name (string): Имя образа Docker
    • tag (string, default="latest"): тег образа Docker
    • app_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.
  • Всегда проверяйте рекомендации по безопасности перед их реализацией.

📌 Лицензия

Массачусетский технологический институт

👥 Вклад

Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на извлечение с новыми инструментами или улучшениями существующей функциональности.

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

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 через стандартизированный интерфейс.

  1. 📋 Обзор
    1. ✨ Особенности
      1. Основные характеристики
      2. Расширенные инструменты
    2. 🚀 Установка
      1. Предпосылки
      2. Настраивать
    3. 💻 Использование
      1. Запуск сервера
      2. Интеграция с Claude Desktop
      3. Использование инструментов
    4. 👷 Развитие
      1. Структура проекта
      2. Добавление новых функций
      3. Тестирование
    5. 📚 API-документация
      1. Основные инструменты
      2. Расширенные инструменты
    6. 🔒 Вопросы безопасности
      1. 📌 Лицензия
        1. 👥 Вклад

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            A powerful Model Context Protocol (MCP) server for Docker operations, enabling seamless container and compose stack management through Claude AI.
            Last updated -
            4
            347
            Python
            MIT License
            • Apple
          • A
            security
            F
            license
            A
            quality
            A Model Context Protocol server that enables Docker container management through natural language interactions using a custom GPT interface.
            Last updated -
            7
            10
            TypeScript
          • -
            security
            A
            license
            -
            quality
            A 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 -
            24
            TypeScript
            MIT License
          • -
            security
            F
            license
            -
            quality
            A 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 -
            16
            1
            TypeScript

          View all related MCP servers

          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/jar285/mcp-docker'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server