[ONBOARD] Add Azure.Storage.Blobs hierarchical folder listing support
- 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
Assessment
This issue has not been assessed yet.