Search
Anusha Y

Redefining storage operations with AI and MCP

April 19, 2026

The shift from scripts to conversations in storage management

Interacting with storage infrastructure today often means navigating dashboards, writing scripts, or manually stitching together API calls. While powerful, these approaches can slow down operations and create a gap between intent and execution, especially when quick insights or actions are needed.

What if you could request:

Which arrays are running low on capacity?

Create a volume for this workload.

And have those actions carried out reliably?

In this post, I’ll show you how to use the Model Context Protocol (MCP) with Visual Studio Code and GitHub Copilot to enable natural language interaction with storage systems. By leveraging Data Service Cloud Console (DSCC)'s open API specification, you can expose storage operations as AI-understandable capabilities, turning everyday management tasks into simple, conversational workflows.

From queries to actions: AI-driven storage control

The foundation: Why OpenAPI matters

Before MCP and AI came into the picture, there is a critical enabler, a strong OpenAPI specification.

The well-designed OpenAPI spec provides:

  • Clearly defined endpoints
  • Structured request/response schemas
  • Consistent naming and semantics

This structure is what makes it possible to:

  • Programmatically understand capabilities
  • Automatically generate tools
  • Reliably map user intent to actions

Without a solid API foundation, exposing capabilities to AI would be inconsistent and error-prone.

The shift: From APIs to intent-driven operations

Most storage platforms already provide rich APIs. However, APIs are typically structured and require users to:

  • Understand endpoints and payloads
  • Refer to documentation
  • Write and execute requests

MCP serves as the translation layer, converting human intent into executable API calls.

Note: While this blog article demonstrates the setup using Visual Studio Code and GitHub Copilot, MCP clients are not limited to Visual Studio Code. Any compatible AI client can interact with the MCP server. For more information, refer to this page.

Setting up MCP with Visual Studio Code

To get started, you configure an MCP server locally and connect it to your API layer. Before setting up and using the MCP server, ensure the following prerequisites are met:

  • Install Node.js (version 18.0 or later)
  • Install and sign in to GitHub Copilot with an active license

Step 1: Configuring an Model Context Protocol (MCP) server

In Visual Studio Code, start by opening an empty folder. Inside this folder, create a ‘.vscode’ directory to store your workspace configurations. Within the .vscode folder, add a JSON configuration file with the following details:

{
  "servers": {
    "fleet-openapi": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@ivotoby/openapi-mcp-server",
        "--api-base-url", "https://fleetscale-app.qa.cds.hpe.com",
        "--headers", "Authorization:Bearer BEARER_TOKEN",
        "--openapi-spec", "https://console-us1.data.cloud.hpe.com/doc/api/v1/storage-api.yaml",
        "--name", "fleet-openapi",
        "--tools", "all",
        "--tag", "storage-systems",
        "--tag", "headroom",
        "--tag", "capacity",
        "--tag", "performance",
      ]
    }
  }
}

Generate the access token as mentioned in this blog. Replace the BEARER_TOKEN with the generated access token. Bearer tokens are short-lived and security-scoped; they should not be treated as static secrets. When a token expires, update it in the JSON file, reload the Visual Studio Code window, and restart the MCP server.

  • server-name → A unique identifier for the MCP server instance.
  • type → Specifies how the MCP server communicates (e.g., stdio, http).
  • command → The executable used to start the MCP server (e.g., npx).
  • args → Command-line arguments passed to the MCP server at startup.
  • api-base-url → Base endpoint of the backend service that the MCP server will call.
  • openapi-spec → Path to the OpenAPI file used to generate tools.
  • headers → HTTP headers (like authentication tokens) sent with API requests.
  • tools → Controls which capabilities (APIs/actions) are exposed to the AI.
  • "tools": "all" → Exposes all available tools without filtering.
  • tag → Filters tools based on OpenAPI tags (logical grouping).
Restricting Operations for Safer Execution:

Since MCP enables AI-driven interaction with your storage systems, it’s important to control what actions are allowed, especially in production environments.

Using the --operation flag, you can restrict the MCP server to specific HTTP methods.

{
  "servers": {
    "fleet-openapi": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@ivotoby/openapi-mcp-server",
        "--api-base-url", "https://fleetscale-app.qa.cds.hpe.com",
        "--headers", "Authorization:Bearer BEARER_TOKEN",
        "--openapi-spec", "https://console-us1.data.cloud.hpe.com/doc/api/v1/storage-api.yaml",
        "--name", "fleet-openapi",
        "--tools", "all",
        "--operation", "get",
        "--tag", "storage-systems",
        "--tag", "headroom",
        "--tag", "capacity",
        "--tag", "performance",
      ]
    }
  }
}

This limits MCP to read-only APIs, preventing any create, update, or delete actions.

This is useful for:

  • Safe initial adoption
  • Monitoring and reporting use cases
  • Security-sensitive environments

You can gradually enable additional operations as needed, with proper guardrails in place.

This configuration starts the MCP server locally, loads the OpenAPI specification, and exposes the APIs as MCP tools. It also passes the required authentication headers for API calls. To apply the changes, reload the Visual Studio Code window using Ctrl + Shift + P → “Developer: Reload Window.”

Note: Ensure your organization approves the use of MCP and AI tools, and that all integrations comply with internal security and cybersecurity policies before use.

Step 2: Connect with GitHub Copilot and start the MCP server

In Visual Studio Code, install the GitHub Copilot extension and sign in with your GitHub account to start using it.

To start the MCP server, open the Command Palette (Ctrl+Shift+p) and select ‘MCP: List Servers’. You should see the server configured in your JSON file (for example, fleet-openapi) listed there.

Select the configured server and click “Start Server”. Once the server is up and running, you should see a confirmation in the console similar to the example below.

The GitHub Copilot extension allows you to choose from supported LLMs based on your subscription and configuration, as shown below.

GitHub Copilot can leverage the tools discovered by the MCP extension in Visual Studio Code. You can also view the discovered tools using the Command Palette (Ctrl + Shift + P) by searching for MCP-related commands.

Step 3: Interacting using natural language

Once everything is set up, you can begin issuing natural language queries.

Examples:

  • List all storage arrays
  • Identify arrays above 80% capacity
  • Create a 100GB volume on a specific array
  • Check overall system health

These queries are interpreted, mapped to MCP tools, and executed via DSCC APIs.

For example, consider the following prompt where the user asks to list storage system details:

Note: The behaviour and responses may vary depending on the LLM used, as different models can interpret prompts and execute actions with varying accuracy and reasoning.

What happens behind the scenes
  • The user enters a natural language query (in this case, requesting storage system details)
  • Copilot interprets the intent and identifies the relevant operation (e.g., list storage systems)
  • The MCP client discovers available tools from the MCP server and selects the most relevant one based on the intent.
  • The MCP server maps the request to the corresponding API (derived from the OpenAPI specification) and executes it via DSCC, passing the required authentication headers configured in the server JSON.
  • The API returns a structured response, which is then relayed back through the MCP server.
  • Structured response is returned
  • The response is presented to the user, often enriched with additional insights (for example, highlighting potential issues such as performance headroom overutilization).

This removes the need to manually:

  • Write API calls
  • Look up documentation
  • Handle request formatting
  • Parse responses

Important: Please ensure that the user does not have admin or superuser privileges, as the project is still in its early stages and requires further enhancements in RBAC and guardrails. For safer execution, use the operation tag appropriately.

Relationship to HPE GreenLake MCP documentation

The DSCC MCP integration follows the same core patterns as the GreenLake MCP setup.

You can refer to the GreenLake documentation for:

  • MCP server setup
  • Tool definitions
  • Request/response flow

HPE GreenLake MCP references can be found here.

While DSCC APIs and authorization differ, the overall MCP concepts and configuration remain largely the same and can be reused with minimal changes.

Conclusion: From APIs to conversation

What makes this transformation possible is not just MCP or AI, it’s the combination of a strong OpenAPI foundation and a protocol that can leverage it effectively. By layering MCP on top of a well-defined API ecosystem like DSCC, you can unlock a new interaction model where users express intent and systems handle execution.

With tools like Visual Studio Code and GitHub Copilot, users can now manage storage systems using natural language, reducing complexity and speeding up operations.

Key takeaway

Great APIs don’t just enable integrations—they enable entirely new ways of interaction.

And MCP doesn’t replace APIs—it enhances how we interact with them.

It does so by combining:

  • OpenAPI specifications
  • MCP server
  • AI assistants

This enables a shift from script-driven operations to intent-driven interactions.

Call to action:

  • Start by exploring your existing OpenAPI specifications. Identify a few key operations and expose them through an MCP server. Try interacting with them using natural language in Visual Studio Code with GitHub Copilot.
  • If you have questions or want to explore deeper integrations, feel free to reach out anusha.y@hpe.com or continue experimenting. This is just the beginning of conversational infrastructure.
  • Please check out the HPE DEV blog for more articles on this topic.

Related

Denis Vilfort

From data centers to centers of data: Navigating the pull of data gravity

May 9, 2025
Ganael Laplanche

Meet Open Source enthusiast and Fpart project developer, Ganael Laplanche

Jun 12, 2023
Michael Mattsson

Migrating vSphere Virtual Volumes to KubeVirt with HPE CSI Driver for Kubernetes

Apr 22, 2025
Daniel Fedorin

Experimenting with the Model Context Protocol and Chapel

Aug 28, 2025
Santosh Nagaraj, Isabelle Steinhauser

HPE Private Cloud AI: Natural Language to Structured Query Language

May 6, 2026
Christian Graf

Managing Junos Devices with Context-File and JMCP Server - An Introduction to LLM-Driven Network Automation

Jun 3, 2026
Dinesh R Singh

Part 3: Model Context Protocol (MCP): The protocol that powers AI agents

Jul 18, 2025
Dinesh R Singh

Part 8: Agentic AI and Qdrant: Building semantic memory with MCP protocol

Jul 21, 2025

HPE Developer Newsletter

Stay in the loop.

Sign up for the HPE Developer Newsletter or visit the Newsletter Archive to see past content.

By clicking on “Subscribe Now”, I agree to HPE sending me personalized email communication about HPE and select HPE-Partner products, services, offers and events. I understand that my email address will be used in accordance with HPE Privacy Statement. You may unsubscribe from receiving HPE and HPE-Partner news and offers at any time by clicking on the Unsubscribe button at the bottom of the newsletter.

For more information on how HPE manages, uses, and protects your personal data please refer to HPE Privacy Statement.