Resumen
Using an MCP server that integrates with FlashBlade allows you to query system data and even take direct actions, unlocking a new frontier in agentic storage management.
La administración del almacenamiento en las instalaciones ha sido tradicionalmente un proceso tedioso y manual: consultar las métricas del sistema, monitorear el rendimiento y ejecutar acciones a menudo requiere scripts complejos o herramientas especializadas. Pero, ¿qué sucedería si simplemente pudiera pedir la información que necesita en inglés simple y obtener información inmediata y procesable?
Allí es donde entra en juego el Protocolo de contexto del modelo (MCP). MCP es un protocolo abierto que permite que los modelos de lenguaje grande (LLM) interactúen de manera inteligente con las aplicaciones, lo que aporta capacidades de lenguaje natural a la administración del almacenamiento. En este blog, le mostraremos cómo crear un servidor MCP que se integre con Pure Storage® FlashBlade®, lo que le permitirá consultar datos del sistema e incluso tomar medidas directas, todo a través de una interfaz intuitiva impulsada por AI.
Al modular nuestro enfoque, estamos desbloqueando una nueva frontera en la administración del almacenamiento agente, donde la automatización no solo es eficiente, sino también conversacional y adaptativa. Profundicemos.
Nuestro objetivo para estas acciones es una matriz de Pure Storage, específicamente un sistema FlashBlade, pero los principios también se aplican a los sistemas FlashArray™. Al usar la aplicación de escritorio Claude, nuestras consultas usarán las herramientas proporcionadas por el servidor MCP para interactuar con la matriz designada de Pure Storage según esta captura de pantalla:
Creación de un servidor MCP
El primer paso es instalar el administrador de paquetes uv Python. Para obtener instrucciones de instalación, consulte la guía oficial.
A continuación, debemos crear la estructura del servidor MCP. Para esto, utilizaremos las herramientas proporcionadas dentro del paquete uv:
Continúe con los pasos finales indicados para instalar las dependencias y nuestro servidor MCP de esqueleto estará listo. El código fuente que debemos modificar se encuentra en pure-mcp-server/src/pure-mcp-server. En este punto, el código es para una herramienta de notas adicionales de plantilla. Modificaremos esto para interactuar con una matriz FlashBlade de Pure Storage en las instalaciones.
Desde la carpeta del proyecto, ingresamos en el entorno virtual de Python que fue creado automáticamente por uv e instalamos el SDK de Python de Pure Storage, ya que lo aprovecharemos para interactuar con la API REST de FlashBlade.
Luego, agregamos el código relevante para crear dos herramientas de MCP para ejecutar consultas contra los puntos finales de una matriz FlashBlade determinada:
- get_arrays
- get_arrays y get_arrays_performance
El servidor MCP se agregó automáticamente al escritorio de Claude durante la fase de inicialización. Para verificar, abra el siguiente archivo y verifique que la entrada sea correcta:
Además del inspector de MCP, utilizamos el siguiente guión para validar:
Este código enumera correctamente mis herramientas del servidor MCP. También se conecta a la matriz remota, realiza la llamada API necesaria y devuelve la cadena JSON relevante.
Ahora, a través de la aplicación de escritorio Claude, podemos ejecutar consultas utilizando las herramientas del servidor MCP contra Pure Storage FlashBlade:
Y con la herramienta de armado completo, pregunte sobre el espacio de almacenamiento:
Tenga en cuenta que esta es una matriz de laboratorio bastante inactiva, pero se pueden hacer preguntas de seguimiento, como las siguientes:
“Cree un gráfico para mostrar el rendimiento de los últimos 7 días en función del valor de tiempo por período métrico. Convierta los resultados de rendimiento del período y del grupo por día”.
Ejecución de una herramienta de MCP modular
El código hasta el momento proporciona una integración básica para las llamadas con codificación fija según la definición de la herramienta del servidor MCP, pero es posible que deseemos enviar acciones y recuperar información. Tener una herramienta de MCP por solicitud no es un enfoque deseable; debemos cambiar de una llamada de API de REST con código duro como get_arrays a un enfoque modular en el que acepte cualquier llamada de punto final como parámetro a través de una única herramienta de pure-fb para usar para cualquier punto final.
El código completo se puede encontrar en este repositorio de GitHub.
Uso
Con nuestro nuevo servidor MCP, podemos ejecutar consultas informativas, como las siguientes:
“Use pure-fb en el host: 1.2.3.4 con token de API: T-7c7a*****f23e para ejecutar el comando: get_file_systems y luego el comando: get_buckets. Ordene los elementos por tamaño utilizado e indique para cada uno si es un cubo etiquetando el elemento como “s3” o un sistema de archivos etiquetando el elemento como “fs”. Asegúrese de ordenar correctamente por orden descendente según el tamaño usado y enumere los 5 primeros por espacio usado”.
Esto genera el siguiente resultado:
Con este enfoque modular, podemos consultar cualquier punto final (obtener matrices, cubos, sistemas de archivos, etc.) para recuperar información y tomar medidas en la matriz. Por ejemplo, ejecutaremos un simple comando de creación de bucket usando la siguiente consulta:
“Use pure-fb en el host: 1.2.3.4 con token de API: T-7c7a*****f23e y el comando post_buckets con los parámetros: names=[“jbtmcptest”], bucket=BucketPost(account=Reference(name=’jbt’)) ”
En la matriz FlashBlade de Pure Storage, podemos ver que el grupo relevante ahora está presente:
Y con esta consulta, creamos un sistema de archivos. Tenga en cuenta que en este ejemplo, no proporcionamos el punto final específico. Dejamos esto en manos de LLM para averiguar:
“Cree un sistema de archivos utilizando los siguientes parámetros: nombres=[“jbt-myfs”], file_system=FileSystemPost(provisioned=5000, hard_limit_enabled=True, nfs=Nfs(v4_1_enabled=True), smb=Smb(habilitado=Verdadero), multi_protocol=MultiProtocolPost(access_control_style=”nfs”))”
Podemos ver que ClaudeAI pudo proporcionar el comando correcto post_file_system para ejecutar esta solicitud.
Cómo establecer la indicación para actuar como agente
Ahora agregaremos algo de contexto al chat y definiremos el comportamiento y las capacidades de un agente de almacenamiento que tiene dos matrices que controlar:
“Usted es un agente de administración de almacenamiento inteligente que, a través de la herramienta de fb pura, puede administrar las siguientes dos matrices:
array01 en host: 1.2.3.4 con token de API: T-7c7a*****f23e
array02 en host: 1.2.3.5 con token de API: T-f2e0*****3b8d”
Con este agente de almacenamiento definido, podemos ejecutar consultas contra ambas matrices, como:
“Obtenga todos los cubos de ambas matrices, nombre de extracto, total_used espacio sin procesar y matriz de origen en una sola lista. Ordene estrictamente según los total_used valores brutos sin conversiones. Proporcione los 15 primeros de la lista y convierta el espacio usado en unidades adecuadas para su visualización”.
Nuestro agente comienza por recopilar los datos relevantes usando get_buckets y get_file_systems contra las dos matrices:
El agente procede a ordenar los cubos por espacio utilizado según lo solicitado. Tenga en cuenta que se necesitaron varios intentos para obtener la indicación de que la clasificación fuera correcta.
Desde la administración del almacenamiento impulsada por CLI hasta AI la AI
Con un servidor MCP, hemos transformado la administración del almacenamiento en las instalaciones de un proceso rígido impulsado por la línea de comandos a una experiencia de lenguaje natural asistida por AI. Al unir los LLM con el almacenamiento empresarial, ya no solo recuperamos datos, sino que estamos comandando nuestra infraestructura de forma dinámica, reduciendo la complejidad y abriendo la puerta a flujos de trabajo más inteligentes y eficientes.
Pero esto es solo el comienzo. La automatización de agentes está remodelando la tecnología empresarial y el almacenamiento no es la excepción. A medida que estas capacidades evolucionan, avanzamos hacia un futuro en el que la administración del almacenamiento impulsada por AI no solo sea una conveniencia, sino una ventaja competitiva. La pregunta no es si este se convertirá en el nuevo estándar, es lo pronto.
¿Está listo para dar el siguiente paso?
Free Test Drive
Explore FlashBlade in our virtual lab.