AIStor
Un servidor MCP para interactuar con almacenes de objetos AIStor y MinIO.
Documentación
Servidor MCP de AIStor
Este es un servidor del Model Context Protocol (MCP) para interactuar con almacenes de objetos AIStor.
Puede encontrar más información sobre MCP en su sitio oficial.
Puede encontrar más información sobre el servidor MCP de AIStor en nuestras publicaciones de blog:
- Presentación del servidor MCP para AIStor
- Funciones administrativas del servidor MCP para AIStor
- Servidor MCP para AIStor: cómo funciona
Actualizaciones
- 2025-05-28
- Se añadió soporte para la versión de MCP 2025-03-26
- Se añadió soporte para el protocolo StreamableHTTP
- Se añadió la herramienta text_to_object
Funciones
Operaciones de lectura
- Listar buckets
- Listar objetos en el bucket
- Obtener metadatos y etiquetas de un objeto
- Crear una URL prefirmada con expiración para un objeto
Operaciones de IA
- Describir el contenido del objeto mediante la herramienta
ask_object
Operaciones de escritura
Estas operaciones deben habilitarse usando la bandera --allow-write en la configuración.
- Crear un bucket
- Subir un objeto al bucket
- Añadir etiquetas al objeto
Operaciones de eliminación
Estas operaciones deben habilitarse usando la bandera --allow-delete en la configuración.
- Eliminar un objeto
- Eliminar un bucket
Operaciones administrativas
Estas operaciones deben habilitarse usando la bandera --allow-admin en la configuración.
- Obtener información del clúster (configuración, estado de salud, espacio disponible) en formato legible para humanos
Configuración para Claude for Desktop
Este servidor MCP funciona con otros clientes compatibles con MCP, pero empecemos con Claude.
Utiliza el transporte STDIO para interactuar con el servidor.
Consulte la siguiente sección para obtener instrucciones sobre cómo configurar el servidor con el transporte StreamableHTTP.
Requisitos previos
-
Descargue e instale la aplicación Claude for Desktop desde Claude. Este servidor MCP funciona con otros clientes compatibles con MCP, pero empecemos con Claude.
-
Asegúrese de tener Docker o Podman instalados y listos para usar en su escritorio/portátil.
-
Obtenga sus credenciales del almacén de objetos AIStor (o MinIO) (
MINIO_ACCESS_KEYyMINIO_SECRET_KEY) y la ubicación de su endpoint. Si no dispone de un servidor AIStor o MinIO, no dude en utilizar los valores del servidor de pruebas MinIO Playground.
Archivo de configuración
Abra el archivo de configuración de Claude for Desktop con su editor de texto favorito. Para encontrar el archivo de configuración en su sistema, siga las instrucciones de inicio rápido del sitio del Model Context Protocol. Su ubicación predeterminada es:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Añada las siguientes líneas al archivo de configuración, reemplazando las credenciales, el endpoint y YOUR_USERNAME con sus valores reales.
Este ejemplo utiliza Podman, pero si usa Docker, reemplace podman en el campo command: por docker.
Si tiene otros servidores MCP configurados, simplemente inserte la configuración de AIStor en la lista.
Tenga cuidado al añadir las banderas --allow-*. De forma predeterminada, sin banderas, el servidor se ejecutará en modo de solo lectura.
Añada las banderas --allow-write y --allow-delete a esta configuración solo cuando las necesite.
La bandera --allow-admin habilita las funciones administrativas que recopilan información sobre el clúster.
{
"mcpServers": {
"aistor": {
"command": "podman",
"args": [
"run",
"-i",
"--rm",
"-v",
"/Users/YOUR_USERNAME/Downloads:/Downloads",
"-e",
"MINIO_ENDPOINT=REPLACE_WITH_ENDPOINT",
"-e",
"MINIO_ACCESS_KEY=REPLACE_WITH_ACCESS_KEY",
"-e",
"MINIO_SECRET_KEY=REPLACE_WITH_SECRET_KEY",
"-e",
"MINIO_USE_SSL=true",
"quay.io/minio/aistor/mcp-server-aistor:latest",
"--allowed-directories",
"/Downloads",
"--allow-write",
"--allow-delete",
"--allow-admin"
]
}
}
}
De forma predeterminada, el número de objetos o buckets que el servidor lista y envía al LLM está limitado a 1000 objetos.
Esto se hace para evitar alcanzar el límite de la ventana de contexto del modelo en tokens.
Si su modelo permite una ventana de contexto más amplia, puede aumentar este número añadiendo el parámetro --max-keys al archivo de configuración.
Tenga en cuenta que cada registro de objeto contiene varias decenas de tokens.
Configuración para StreamableHTTP
Este servidor MCP funciona con otros clientes compatibles con MCP que admiten el transporte StreamableHTTP.
Requisitos previos
-
Descargue e instale un cliente LLM que admita MCP y StreamableHTTP. Por ejemplo, puede usar Cherry Studio.
-
Asegúrese de tener Docker o Podman instalados y listos para usar en su escritorio/portátil.
-
Obtenga sus credenciales del almacén de objetos AIStor (o MinIO) (
MINIO_ACCESS_KEYyMINIO_SECRET_KEY) y la ubicación de su endpoint. Si no dispone de un servidor AIStor o MinIO, no dude en utilizar los valores del servidor de pruebas MinIO Playground.
Ejecutar el servidor
Ejecute el siguiente comando para iniciar el servidor.
Reemplace los valores de MINIO_ENDPOINT, MINIO_ACCESS_KEY y MINIO_SECRET_KEY con sus valores reales.
Reemplace 8090 (¡en tres lugares!) con el número de puerto disponible en su sistema.
podman run -d --name aistor-mcp-server \
-v /Users/YOUR_USERNAME/Downloads:/Downloads \
-e MINIO_ENDPOINT=REPLACE_WITH_ENDPOINT \
-e MINIO_ACCESS_KEY=REPLACE_WITH_ACCESS_KEY \
-e MINIO_SECRET_KEY=REPLACE_WITH_SECRET_KEY \
-e MINIO_USE_SSL=true \
-p 8090:8090 \
quay.io/minio/aistor/mcp-server-aistor:latest \
--allowed-directories /Downloads \
--allow-admin \
--allow-delete \
--allow-write \
--http \
--http-port 8090
Configurar el cliente
En el cliente, añada la siguiente configuración:
- Nombre del servidor MCP:
aistor - Tipo:
StreamableHTTP - URL:
http://localhost:8090/mcp
Probar la conexión
Compruebe si puede listar las herramientas disponibles en el servidor. Use la pestaña "Herramientas" en el cliente.
Detener el servidor
podman stop aistor-mcp-server
Uso
Aquí hay algunos ejemplos de lo que puede hacer:
Operaciones básicas
- "Lista todos los buckets en mi servidor AIStor"
- "Lista el contenido del bucket test"
Operaciones con archivos
- "Descarga el archivo example.pdf a mi directorio de Descargas"
- "Crea un bucket my-bucket"
- "Sube document.pdf desde Descargas al bucket my-bucket"
Operaciones con metadatos
- "Obtén los metadatos de file.pdf en el bucket my-bucket"
- "Lista todas las etiquetas del objeto config.json"
Operaciones administrativas
- "Muestra el estado de salud del servidor"
- "Obtén las estadísticas de uso de almacenamiento"
Cada comando devolverá respuestas legibles para humanos con información relevante.
Herramientas disponibles
Normalmente, el Modelo de Lenguaje Grande (LLM) podrá determinar qué herramienta usar para su solicitud. A veces, es posible que desee indicar explícitamente al modelo qué herramienta usar. Para esos casos y también para que sepa qué más es posible con este servidor MCP, aquí está la lista de herramientas disponibles en esta versión.
Siempre puede obtener esta lista haciendo clic en el icono de martillo en su aplicación Claude for Desktop.
ask_object
: Haga preguntas sobre el contenido de un objeto usando IA, con soporte para varios formatos de archivo y devolviendo respuestas contextuales
copy_object
: Copie un objeto de un bucket a otro conservando los metadatos y modificando opcionalmente las propiedades. También puede especificar un ID de versión para copiar una versión específica del objeto.
create_bucket
: Cree un nuevo bucket con configuraciones especificadas y ajustes opcionales de versionado
delete_bucket
: Elimine un bucket y opcionalmente fuerce la eliminación de todos los objetos contenidos
delete_object
: Elimine un objeto o versión específico de un bucket, con soporte opcional de eliminación suave. También puede especificar un ID de versión para eliminar una versión específica del objeto.
download_object
: Descargue un objeto de un bucket especificado al sistema de archivos local, conservando los metadatos. También puede especificar un ID de versión para descargar una versión específica del objeto.
get_admin_info
: Obtenga información técnica completa sobre el almacén de objetos AIStor, incluidos estado, métricas de rendimiento y configuración
get_bucket_lifecycle
: Obtenga el ciclo de vida, también conocido como reglas de ciclo de vida o configuración ILM, de un bucket especificado
get_bucket_replication
: Obtenga la configuración de replicación de un bucket especificado
get_bucket_tags
: Obtenga las etiquetas de un bucket especificado
get_bucket_versioning
: Obtenga el estado y la configuración de versionado de un bucket especificado
get_data_usage_info
: Obtenga información de uso de datos del almacén de objetos AIStor, incluidos los datos totales almacenados, el número de objetos y el uso por cada bucket
get_object_metadata
: Obtenga metadatos detallados de un objeto, incluidos tipo de contenido, tamaño, encabezados personalizados y propiedades del sistema
get_object_presigned_url
: Obtenga una URL prefirmada para un objeto en un bucket, con un tiempo de expiración opcional. El valor predeterminado es 7 días.
get_object_tags
: Obtenga todas las etiquetas asociadas con un objeto específico en un bucket
get_object_versions
: Obtenga todas las versiones de un objeto en un bucket
list_allowed_directories
: Liste todos los directorios permitidos para operaciones con el servidor
list_bucket_contents
: Liste todos los objetos en un bucket especificado, incluidos sus tamaños y fechas de última modificación. También puede especificar un prefijo para filtrar los objetos y si desea listar versiones.
list_buckets
: Liste todos los buckets en el almacén de objetos AIStor con su información básica
list_local_files
: Liste todos los archivos y directorios en una ruta de directorio local especificada con sus atributos
move_object
: Mueva un objeto entre buckets copiándolo al destino y eliminándolo del origen. También puede especificar un ID de versión para mover una versión específica del objeto.
set_bucket_tags
: Establezca las etiquetas de un bucket especificado
set_bucket_versioning
: Configure los ajustes de versionado para un bucket con privilegios administrativos
set_object_tags
: Establezca o actualice etiquetas para un objeto existente en un bucket, con soporte para múltiples pares clave-valor. También puede especificar un ID de versión para establecer etiquetas para una versión específica del objeto.
text_to_object
: Convierta texto en un objeto en un bucket, con soporte para diferentes tipos de contenido.
upload_object
: Suba un archivo desde el sistema de archivos local a un bucket especificado.