microsoft / microsoft/mcp

[ONBOARD] Add Azure.Storage.Blobs hierarchical folder listing support

Open
#2,094 1 comment 0 reactions 1 assignee Claimed by @alzimmermsft View on GitHub
customer-reported enhancement needs-team-attention onboarding server-Azure.Mcp tools-Storage
Dominant language
C#
Stars
3.7k
Forks
624
Avg merge
2d 20h
Merged PRs (30d)
220

Description

### Service / Tool Name

Azure.Storage.Blobs

### Contacts

N/A – External community request

### Intended Agent Scenarios

**Service / Tool Name**
Azure.Storage.Blobs

**Intended Agent Scenarios**

Users working with large Azure Blob Storage containers need to navigate folder hierarchies interactively through AI agents. The current `storage_blob_get` command either fetches a single blob by exact name or dumps all blobs in a container — which fails with a payload overflow error (>1MB) on large containers.

Key scenarios that are currently blocked:

1. **Folder browsing** – List top-level "virtual directories" in a container using a `/` delimiter, without retrieving all nested blobs.
2. **Prefix-based listing** – List blobs and subfolders under a specific path (e.g., `HRA006113/`) without enumerating the entire container.
3. **Progressive exploration** – Navigate into subfolders iteratively, one level at a time, as a user would in Azure Storage Explorer.

These are fundamental data plane operations supported natively by the Azure Blob Storage REST API (`prefix` + `delimiter` parameters on `ListBlobsHierarchySegment`) but currently not exposed by the MCP server.

**Proposed Changes**

Add the following parameters to the existing `storage_blob_get` command (or introduce a new `storage_blob_list` command):
- `--prefix` – Filter blobs by path prefix (e.g., `HRA006113/`)
- `--delimiter` – Group blobs by delimiter (e.g., `/`) to return virtual directories
- `--max-results` – Limit the number of results returned per call to avoid payload overflow

**Impact**

Without this, blob storage browsing through AI agents is effectively unusable for any container with more than a few hundred blobs. This is one of the most common real-world Azure Storage use cases.

### Timeline

TBD – As soon as feasible. This is a high-impact gap affecting any user trying to browse large blob containers through AI agents. Even a basic `--prefix` and `--delimiter` support on the existing `storage_blob_get` command would be sufficient as a first step. A full `storage_blob_list` command with pagination (`--max-results`) would be ideal.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.