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