Skip to main content
Glama

🐳 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

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
    420
    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 -
    12
  • -
    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 -
    9
    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 -
    5
    2

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