Skip to main content
Glama

Docker Explorer

by jar285

🐳 Docker Explorer MCP 서버

도커 익스플로러파이썬특허

📋 개요

Docker Explorer는 Docker 이미지, 컨테이너 및 레지스트리와 상호 작용하기 위한 도구와 리소스를 제공하는 강력한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버를 통해 Claude와 같은 AI 비서가 표준화된 인터페이스를 통해 Docker 리소스를 검색, 분석 및 상호 작용할 수 있으므로 컨테이너 관리 및 탐색이 더욱 간편해집니다.

✨ 특징

핵심 기능

  • 레지스트리 전체에서 Docker 이미지 검색
  • Docker 이미지의 특정 태그 검색
  • Docker Hub 사용자/조직 검색
  • Docker 이미지에 대한 자세한 메타데이터 가져오기
  • Dockerfile 콘텐츠 분석
  • Docker 이미지 비교

고급 도구

  • 🔒 보안 스캐너 : 알려진 취약점과 보안 문제에 대해 Docker 이미지를 분석합니다.
  • 📦 이미지 크기 최적화 : Docker 이미지 크기를 줄이기 위한 권장 사항을 받으세요
  • 📄 Docker Compose Generator : 애플리케이션에 대한 docker-compose.yml 파일을 생성합니다.
  • 📊 컨테이너 런타임 분석기 : 컨테이너 런타임 동작 및 리소스 사용에 대한 통찰력을 얻으세요
  • 🔍 이미지 비교 도구 : 두 개의 Docker 이미지를 비교하고 차이점을 강조 표시합니다.
  • 📜 Dockerfile 생성기 : 자연어 애플리케이션 설명에서 Dockerfile 생성

🚀 설치

필수 조건

설정

  1. 이 저장소를 복제합니다 .

지엑스피1

  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

이렇게 하면 기본 포트(5000)에서 MCP 서버가 시작됩니다.

Claude Desktop과 통합

Claude Desktop과 함께 Docker Explorer MCP 서버를 사용하려면:

  1. Claude Desktop 구성을 업데이트합니다 .
    • Claude Desktop 구성 디렉토리에서 claude_desktop_config.json 파일을 열거나 만듭니다.
    • Docker Explorer 서버 구성 추가
{ "mcp_servers": [ { "name": "docker-explorer", "command": ["python", "/path/to/mcpIS421/docker_explorer.py"], "cwd": "/path/to/mcpIS421" } ] }
  1. 새 구성을 로드하려면 Claude Desktop을 다시 시작하세요.

도구 사용

Claude Desktop과 통합하면 Claude에게 다음과 같은 질문을 하여 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. MCP 도구 데코레이터를 사용하여 docker_explorer.py 에서 도구 기능을 구현합니다.
@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에서 도구 응답 확인
    • Claude에 용량 제약이 있는 경우 출력 형식을 조정합니다.

📚 API 문서

핵심 도구

search_images
  • 설명 : 레지스트리에서 Docker 이미지 검색
  • 매개변수 :
    • query (문자열): Docker 이미지에 대한 검색 쿼리
    • limit (정수, 기본값=10): 반환할 최대 결과 수
  • 반환 : 메타데이터가 포함된 Docker 이미지 목록
search_tags
  • 설명 : Docker 이미지의 특정 태그를 검색합니다.
  • 매개변수 :
    • image_name (문자열): Docker 이미지의 이름
    • tag_pattern (문자열, 기본값=""): 태그와 일치하는 패턴
    • limit (정수, 기본값=25): 반환할 최대 결과 수
  • 반환 : 일치하는 태그 목록
get_image_details
  • 설명 : Docker 이미지에 대한 자세한 정보를 가져옵니다.
  • 매개변수 :
    • image_name (문자열): Docker 이미지의 이름
    • tag (문자열, 기본값="최신"): Docker 이미지의 태그
  • 반환 : 자세한 이미지 정보

고급 도구

scan_security
  • 설명 : 알려진 취약점 및 보안 문제에 대해 Docker 이미지를 분석합니다.
  • 매개변수 :
    • image_name (문자열): Docker 이미지의 이름
    • tag (문자열, 기본값="최신"): 스캔할 Docker 이미지의 태그
  • 반환 : 권장 사항이 포함된 보안 분석 보고서
optimize_image_size
  • 설명 : Docker 이미지를 분석하고 크기를 줄이는 방법을 제안합니다.
  • 매개변수 :
    • repository_url (문자열): Docker Hub 저장소의 전체 URL
    • tag (문자열, 기본값="최신"): 분석할 Docker 이미지의 태그
  • 반환 : 크기 최적화 권장 사항
generate_docker_compose
  • 설명 : 이미지를 기반으로 docker-compose.yml 파일을 생성합니다.
  • 매개변수 :
    • repository_url (문자열): Docker Hub 저장소의 전체 URL
    • tag (문자열, 기본값="최신"): Docker 이미지의 태그
    • port_mapping (문자열, 기본값=""): 선택적 포트 매핑(예: '8080:80')
    • environment_variables (문자열, 기본값=""): 선택적 환경 변수
    • include_db (부울, 기본값=false): 데이터베이스 서비스를 포함할지 여부
  • 반환 : 생성된 docker-compose.yml 콘텐츠
analyze_runtime
  • 설명 : 컨테이너가 런타임에 어떻게 동작하는지 분석합니다.
  • 매개변수 :
    • image_name (문자열): Docker 이미지의 이름
    • tag (문자열, 기본값="최신"): Docker 이미지의 태그
    • app_type (문자열, 기본값="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 (문자열): 컨테이너화할 애플리케이션에 대한 설명(예: 'Redis가 포함된 Python Flask 웹 앱')
    • app_type (문자열, 기본값="web"): 애플리케이션 유형(웹, API, 데이터베이스, 워커, 정적)
    • base_image (문자열, 기본값=""): 사용할 선택적인 기본 이미지(예: 'python:3.9-alpine')
    • include_comments (부울, 기본값=true): Dockerfile에 설명 주석을 포함할지 여부
  • 반환 : 사용 지침이 포함된 생성된 Dockerfile

🔒 보안 고려 사항

Docker Explorer MCP 서버는 교육 및 개발 목적으로 설계되었습니다. 사용 시:

  • 민감한 자격 증명이나 API 키를 노출하지 마십시오.
  • Docker Compose 파일을 생성하고 실행할 때 주의하세요.
  • 구현하기 전에 항상 보안 권장 사항을 검토하세요.

📌 라이센스

MIT

👥 기여하기

기여를 환영합니다! 새로운 도구나 기존 기능 개선 사항을 포함하여 풀 리퀘스트를 제출해 주세요.

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

Docker 이미지, 컨테이너, 레지스트리와 상호 작용하기 위한 도구를 제공하는 모델 컨텍스트 프로토콜 서버로, AI 어시스턴트가 표준화된 인터페이스를 통해 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
            160
            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
            7
            TypeScript
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server that provides a comprehensive interface for interacting with the ConnectWise Manage API, simplifying API discovery, execution, and management for both developers and AI assistants.
            Last updated -
            46
            2
            Python
            • Linux
            • Apple
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server that connects AI assistants like Claude to Notion workspaces, enabling them to view, search, create, and update Notion databases, pages, and content blocks.
            Last updated -
            275
            JavaScript
            • Apple

          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