Skip to main content
Glama
ucesys

MinIO Model-Context Protocol (MCP) Server

by ucesys

Protocolo de modelo-contexto MinIO (MCP)

Este proyecto implementa un servidor y un cliente de Protocolo Modelo-Contexto (MCP) para el almacenamiento de objetos MinIO. Proporciona una forma estandarizada de interactuar con MinIO.

Características

Servidor

Recursos

Expone datos de MinIO mediante Recursos . El servidor puede acceder y proporcionar:

  • Archivos de texto (detectados automáticamente según la extensión del archivo)

  • Archivos binarios (gestionados como aplicación/octet-stream)

  • Contenido del depósito (hasta 1000 objetos por depósito)

Herramientas

  • Lista de cubos

    • Devuelve una lista de todos los depósitos propiedad del remitente autenticado de la solicitud

    • Parámetros opcionales: start_after (paginación), max_buckets (limitar resultados)

  • Lista de objetos

    • Devuelve algunos o todos (hasta 1000) los objetos en un depósito con cada solicitud

    • Parámetro obligatorio: bucket_name

    • Parámetros opcionales: prefix (filtrar por prefijo), max_keys (limitar resultados)

  • Obtener objeto

    • Recupera un objeto de MinIO

    • Parámetros obligatorios: bucket_name , object_name

  • PonerObjeto

    • Sube un archivo al depósito MinIO usando el método fput

    • Parámetros obligatorios: bucket_name , object_name , file_path

Cliente

El proyecto incluye múltiples implementaciones de cliente:

  1. Cliente básico : cliente simple para interacción directa con el servidor MinIO MCP

  2. Cliente antrópico : integración con los modelos Claude de Anthropic para interacciones impulsadas por IA con MinIO

Related MCP server: MCP File Server

Instalación

  1. Clonar el repositorio:

git clone https://github.com/yourusername/minio-mcp.git cd minio-mcp
  1. Instalar dependencias usando pip:

pip install -r requirements.txt

O usando uv:

uv pip install -r requirements.txt

Configuración del entorno

Cree un archivo .env en el directorio raíz con la siguiente configuración:

# 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

Uso

Ejecución del servidor

El servidor se puede ejecutar directamente:

python src/minio_mcp_server/server.py

Uso del cliente básico

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

Uso del cliente antrópico

  1. Configure los servidores en src/client/servers_config.json :

{ "mcpServers": { "minio_service": { "command": "python", "args": ["path/to/minio_mcp_server/server.py"] } } }
  1. Ejecute el cliente:

python src/client/mcp_anthropic_client.py
  1. Interactuar con el asistente:

    • El asistente detectará automáticamente las herramientas disponibles.

    • Puedes hacer preguntas sobre tus datos de MinIO

    • El asistente utilizará las herramientas adecuadas para recuperar la información.

  2. Salir de la sesión:

    • Escriba quit o exit para finalizar la sesión

Integración con Claude Desktop

Puede integrar este servidor MCP con Claude Desktop:

Configuración

En MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
En Windows: %APPDATA%/Claude/claude_desktop_config.json

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

Desarrollo

Estructura del proyecto

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

Ejecución de pruebas

pytest

Formato de código

black src/ isort src/ flake8 src/

Depuración

Dado que los servidores MCP se ejecutan en stdio, la depuración puede ser complicada. Para una mejor experiencia de depuración, recomendamos usar el Inspector MCP:

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

Al iniciarse, el Inspector mostrará una URL a la que podrá acceder en su navegador para comenzar a depurar.

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

-
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