Skip to main content
Glama
ucesys

MinIO Model-Context Protocol (MCP) Server

by ucesys

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 모델과 통합

Related MCP server: MCP File Server

설치

  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

Latest Blog Posts

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/ucesys/minio-python-mcp'

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