MinIO Model-Context Protocol (MCP) Server

by ucesys
MIT License
  • Apple

Integrations

  • Provides access to MinIO object storage through standardized tools for listing buckets, listing objects, retrieving objects, and uploading files to MinIO buckets.

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

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

Proporciona una forma estandarizada de interactuar con el almacenamiento de objetos MinIO, lo que permite el acceso a archivos de texto, archivos binarios y contenidos de depósitos y, al mismo tiempo, admite operaciones como enumerar depósitos/objetos, recuperar objetos y cargar archivos.

  1. Características
    1. Servidor
    2. Cliente
  2. Instalación
    1. Configuración del entorno
      1. Uso
        1. Ejecución del servidor
        2. Uso del cliente básico
        3. Uso del cliente antrópico
      2. Integración con Claude Desktop
        1. Configuración
      3. Desarrollo
        1. Estructura del proyecto
        2. Ejecución de pruebas
        3. Formato de código
      4. Depuración
        1. Licencia

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            This server facilitates interaction with Keboola's Storage API, enabling users to browse and manage project buckets, tables, and components efficiently through Claude Desktop.
            Last updated -
            7
            13
            Python
            MIT License
            • Apple
          • -
            security
            F
            license
            -
            quality
            This server provides an interface for performing basic file system operations such as navigation, reading, writing, and file analysis, allowing users to manage directories and files efficiently.
            Last updated -
            3
            Python
          • A
            security
            F
            license
            A
            quality
            Enables AI models to perform file system operations (reading, creating, and listing files) on a local file system through a standardized Model Context Protocol interface.
            Last updated -
            3
            JavaScript
          • -
            security
            -
            license
            -
            quality
            A Model Context Protocol server that enables large language models to upload files directly to Alibaba Cloud Object Storage Service (OSS), supporting multiple OSS configurations and specified upload directories.
            Last updated -
            1
            TypeScript

          View all related MCP servers

          ID: q82dn5hswd