Protocolo Modelo-Contexto (MCP) de MinIO

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

Características

Servidor

Recursos

Expone datos MinIO a través de Recursos. El servidor puede acceder y proporcionar

  • Archivos de texto (detectados automáticamente basándose en la extensión del archivo)
  • Archivos binarios (manejados como application/octet-stream)
  • Contenido de cubos (hasta 1000 objetos por cubo)

Herramientas

  • ListBuckets

    • Devuelve una lista de todos los buckets propiedad del remitente autenticado de la solicitud
    • Parámetros opcionales: start_after (paginación), max_buckets (limitar resultados)
  • ListObjects

    • Devuelve algunos o todos (hasta 1.000) los objetos de un bucket con cada solicitud
    • Parámetro obligatorio: bucket_name
    • Parámetros opcionales: prefix (filtrar por prefijo), max_keys (limitar resultados)
  • GetObject

    • Recupera un objeto de MinIO
    • Parámetros obligatorios: bucket_name, object_name
  • PutObject

    • Sube un archivo al cubo 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. Basic Client - Cliente simple para la interacción directa con el servidor MCP de MinIO
  2. Cliente Anth ropic - Integración con los modelos Claude de Anthropic para interacciones potenciadas por IA con MinIO

Instalación

  1. Clone el repositorio:
git clone https://github.com/yourusername/minio-mcp.git cd minio-mcp
  1. Instala las 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:

# Configuración de MinIO MINIO_ENDPOINT=play.min.io MINIO_ACCESS_KEY=tu_clave_de_acceso MINIO_SECRET_KEY=tu_clave_secreta MINIO_SECURE=true MINIO_MAX_BUCKETS=5 # Configuración del servidor SERVER_HOST=0.0.0.0 SERVER_PORT=8000 # Para el cliente antrópico (si se utiliza) ANTHROPIC_API_KEY=tu_clave_antrópica_api_key

Uso

Ejecutar el servidor

El servidor puede ejecutarse 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. Configura los servidores en src/client/servers_config.json:
{ "mcpServers": { "minio_service": { "command": "python", "args": ["path/to/minio_mcp_server/server.py"] } }
  1. Ejecutar el cliente:
python src/client/mcp_anthropic_client.py
  1. Interactúa con el asistente:

    • El asistente detectará automáticamente las herramientas disponibles
    • Puede hacer preguntas sobre sus datos 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/ # Implementaciones cliente │ │ ├── mcp_anthropic_client.py # Integración antrópica │ │ └── servers_config.json # Server configuration │ ├── minio_mcp_server/ # MCP server implementation │ │ ├── resources/ # Resource implementations │ │ │ └── minio_resource.py # MinIO resource │ │ └── server.py # Implementación principal del servidor │ ├── __init__.py │ └── client.py # Implementación básica del cliente ├── LICENSE ├── pyproject.toml ├── README.md └── requirements.txt

Ejecución de las pruebas

pytest

Formateo de código

black src/ isort src/ flake8 src/

Depuración

Dado que los servidores MCP se ejecutan a través de stdio, la depuración puede resultar complicada. Para obtener la mejor experiencia de depuración, recomendamos utilizar 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 la depuración.

Licencia

Este proyecto está licenciado bajo la Licencia MIT - vea el archivo LICENSE para más detalles.

Relacionados en Almacenamiento en la nube - MCP Servers Seguros

ServidorResumenAcciones
Servidor de copia de seguridad MCPVer
Servidor OSS MCP中文版 | EspañolVer
Servidor MCP de DropboxUn servidor de Protocolo de Contexto de Modelo (MCP) que proporciona integración con Dropbox, permit...Ver
MCP de DropboxUn servidor de Protocolo de Contexto de Modelo (MCP) que proporciona integración con Dropbox, permit...Ver
dbx-mcp-serverUn servidor de Protocolo de Contexto de Modelo (MCP) que proporciona integración con Dropbox, permit...Ver
Apache OpenDAL™Una implementación de servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso a var...Ver