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