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 MCP WebDAVUn servidor de Protocolo de Contexto de Modelo (MCP) que permite operaciones CRUD en un punto final...Ver
dbx-mcp-serverUn servidor de Protocolo de Contexto de Modelo (MCP) que proporciona integración con Dropbox, permit...Ver
Servidor MCP de AWS S3Servidor MCP para operaciones de AWS S3, que proporciona acceso seguro a los buckets de S3 a través...Ver
CajaBox MCP Server es un proyecto Python que se integra con la API de Box para realizar diversas operaci...Ver
Servidor de copia de seguridad MCPVer
Apache OpenDAL™Una implementación de servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso a var...Ver