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
고객
이 프로젝트에는 여러 클라이언트 구현이 포함됩니다.
기본 클라이언트 - MinIO MCP 서버와 직접 상호 작용할 수 있는 간단한 클라이언트
Anthropic Client - MinIO와의 AI 기반 상호 작용을 위한 Anthropic의 Claude 모델과 통합
Related MCP server: MCP File Server
설치
저장소를 복제합니다.
지엑스피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 클라이언트 사용
src/client/servers_config.json에서 서버를 구성합니다.
{
"mcpServers": {
"minio_service": {
"command": "python",
"args": ["path/to/minio_mcp_server/server.py"]
}
}
}클라이언트를 실행합니다:
python src/client/mcp_anthropic_client.py도우미와 상호작용:
도우미는 사용 가능한 도구를 자동으로 감지합니다.
MinIO 데이터에 대해 질문할 수 있습니다.
보조자는 적절한 도구를 사용하여 정보를 검색합니다.
세션 종료:
세션을 종료하려면
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.pyInspector를 실행하면 브라우저에서 접근하여 디버깅을 시작할 수 있는 URL이 표시됩니다.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.