MinIO Model-Context Protocol (MCP) Server

by ucesys
MIT License
  • Apple

Integrations

  • Provides access to MinIO object storage through standardized tools for listing buckets, listing objects, retrieving objects, and uploading files to MinIO buckets.

MinIO 모델-컨텍스트 프로토콜(MCP)

이 프로젝트는 MinIO 객체 저장소를 위한 모델-컨텍스트 프로토콜(MCP) 서버와 클라이언트를 구현합니다. MinIO와 상호 작용하는 표준화된 방법을 제공합니다.

특징

섬기는 사람

자원

리소스를 통해 MinIO 데이터를 노출합니다. 서버는 다음에 액세스하여 제공할 수 있습니다.

  • 텍스트 파일(파일 확장자 기준으로 자동 감지)
  • 바이너리 파일(application/octet-stream으로 처리됨)
  • 버킷 내용(버킷당 최대 1000개 객체)
도구
  • 리스트버킷
    • 요청의 인증된 발신자가 소유한 모든 버킷 목록을 반환합니다.
    • 선택 매개변수: start_after (페이지 매김), max_buckets (결과 제한)
  • 목록 객체
    • 각 요청 시 버킷에 있는 객체 중 일부 또는 전체(최대 1,000개)를 반환합니다.
    • 필수 매개변수: bucket_name
    • 선택 매개변수: prefix (접두사로 필터링), max_keys (결과 제한)
  • 객체 가져오기
    • MinIO에서 객체를 검색합니다.
    • 필수 매개변수: bucket_name , object_name
  • PutObject
    • fput 메서드를 사용하여 MinIO 버킷에 파일을 업로드합니다.
    • 필수 매개변수: bucket_name , object_name , file_path

고객

이 프로젝트에는 여러 클라이언트 구현이 포함됩니다.

  1. 기본 클라이언트 - MinIO MCP 서버와 직접 상호 작용할 수 있는 간단한 클라이언트
  2. Anthropic Client - MinIO와의 AI 기반 상호 작용을 위한 Anthropic의 Claude 모델과 통합

설치

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

지엑스피1

  1. pip를 사용하여 종속성을 설치합니다.
pip install -r requirements.txt

또는 uv를 사용하면:

uv pip install -r requirements.txt

환경 구성

다음 구성으로 루트 디렉토리에 .env 파일을 만듭니다.

# MinIO Configuration MINIO_ENDPOINT=play.min.io MINIO_ACCESS_KEY=your_access_key MINIO_SECRET_KEY=your_secret_key MINIO_SECURE=true MINIO_MAX_BUCKETS=5 # Server Configuration SERVER_HOST=0.0.0.0 SERVER_PORT=8000 # For Anthropic Client (if using) ANTHROPIC_API_KEY=your_anthropic_api_key

용법

서버 실행

서버를 직접 실행할 수 있습니다.

python src/minio_mcp_server/server.py

기본 클라이언트 사용

from src.client import main import asyncio asyncio.run(main())

Anthropic 클라이언트 사용

  1. src/client/servers_config.json 에서 서버를 구성합니다.
{ "mcpServers": { "minio_service": { "command": "python", "args": ["path/to/minio_mcp_server/server.py"] } } }
  1. 클라이언트를 실행합니다:
python src/client/mcp_anthropic_client.py
  1. 도우미와 상호작용:
    • 도우미는 사용 가능한 도구를 자동으로 감지합니다.
    • MinIO 데이터에 대해 질문할 수 있습니다.
    • 보조자는 적절한 도구를 사용하여 정보를 검색합니다.
  2. 세션 종료:
    • 세션을 종료하려면 quit 또는 exit 입력하세요.

Claude Desktop과 통합

이 MCP 서버를 Claude Desktop과 통합할 수 있습니다.

구성

MacOS의 경우: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows의 경우: %APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "minio-mcp": { "command": "python", "args": [ "path/to/minio-mcp/src/minio_mcp_server/server.py" ] } } }

개발

프로젝트 구조

minio-mcp/ ├── src/ │ ├── client/ # Client implementations │ │ ├── mcp_anthropic_client.py # Anthropic integration │ │ └── servers_config.json # Server configuration │ ├── minio_mcp_server/ # MCP server implementation │ │ ├── resources/ # Resource implementations │ │ │ └── minio_resource.py # MinIO resource │ │ └── server.py # Main server implementation │ ├── __init__.py │ └── client.py # Basic client implementation ├── LICENSE ├── pyproject.toml ├── README.md └── requirements.txt

테스트 실행

pytest

코드 포맷팅

black src/ isort src/ flake8 src/

디버깅

MCP 서버는 stdio를 통해 실행되므로 디버깅이 어려울 수 있습니다. 최상의 디버깅 환경을 위해서는 MCP Inspector 사용을 권장합니다.

npx @modelcontextprotocol/inspector python path/to/minio-mcp/src/minio_mcp_server/server.py

Inspector를 실행하면 브라우저에서 접근하여 디버깅을 시작할 수 있는 URL이 표시됩니다.

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

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

MinIO 개체 저장소와 상호 작용하는 표준화된 방법을 제공하여 텍스트 파일, 바이너리 파일 및 버킷 콘텐츠에 액세스할 수 있도록 하며, 버킷/개체 나열, 개체 검색, 파일 업로드와 같은 작업을 지원합니다.

  1. 특징
    1. 섬기는 사람
    2. 고객
  2. 설치
    1. 환경 구성
      1. 용법
        1. 서버 실행
        2. 기본 클라이언트 사용
        3. Anthropic 클라이언트 사용
      2. Claude Desktop과 통합
        1. 구성
      3. 개발
        1. 프로젝트 구조
        2. 테스트 실행
        3. 코드 포맷팅
      4. 디버깅
        1. 특허

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            This server facilitates interaction with Keboola's Storage API, enabling users to browse and manage project buckets, tables, and components efficiently through Claude Desktop.
            Last updated -
            7
            13
            Python
            MIT License
            • Apple
          • -
            security
            F
            license
            -
            quality
            This server provides an interface for performing basic file system operations such as navigation, reading, writing, and file analysis, allowing users to manage directories and files efficiently.
            Last updated -
            3
            Python
          • A
            security
            F
            license
            A
            quality
            Enables AI models to perform file system operations (reading, creating, and listing files) on a local file system through a standardized Model Context Protocol interface.
            Last updated -
            3
            JavaScript
          • -
            security
            -
            license
            -
            quality
            A Model Context Protocol server that enables large language models to upload files directly to Alibaba Cloud Object Storage Service (OSS), supporting multiple OSS configurations and specified upload directories.
            Last updated -
            1
            TypeScript

          View all related MCP servers

          ID: q82dn5hswd