Skip to content
This repository was archived by the owner on Feb 6, 2026. It is now read-only.

Commit 8a3cba0

Browse files
authored
Improve Storage tool descriptions (#879)
* Improve Storage tool descriptions * Shrink description text under 1024 characters * Add CHANGELOG entry
1 parent 7f1b535 commit 8a3cba0

2 files changed

Lines changed: 24 additions & 18 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ The Azure MCP Server updates automatically by default whenever a new release com
1515
### Other Changes
1616

1717
- Updated the descriptions of Azure AI Search `CommandGroup`s to improve their usage by Agents. [[#874](https://github.com/Azure/azure-mcp/pull/874)]
18+
- Updated the root Storage `CommandGroup` description to improve their usage by Agents. [#879](https://github.com/Azure/azure-mcp/pull/879)
1819

1920
## 0.5.3 (2025-08-05)
2021

areas/storage/src/AzureMcp.Storage/StorageSetup.cs

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,19 @@ public void ConfigureServices(IServiceCollection services)
2727
public void RegisterCommands(CommandGroup rootGroup, ILoggerFactory loggerFactory)
2828
{
2929
// Create Storage command group
30-
var storage = new CommandGroup("storage", "Storage operations - Commands for managing and accessing Azure Storage resources. Includes operations for containers, blobs, and tables.");
30+
var storage = new CommandGroup("storage",
31+
"""
32+
Storage operations - Commands for managing and accessing Azure Storage accounts and their data services
33+
including Blobs, Data Lake Gen 2, Shares, Tables, and Queues for scalable cloud storage solutions. Use
34+
this tool when you need to list storage accounts, work with blob containers and blobs, access file shares,
35+
querying table storage, handle queue messages. This tool focuses on object storage, file storage,
36+
simple NoSQL table storage scenarios, and queue messaging. This tool is a hierarchical MCP command router
37+
where sub-commands are routed to MCP servers that require specific fields inside the "parameters" object.
38+
To invoke a command, set "command" and wrap its arguments in "parameters". Set "learn=true" to discover
39+
available sub-commands for different Azure Storage service operations including blobs, datalake, shares,
40+
tables, and queues. Note that this tool requires appropriate Storage account permissions and will only
41+
access storage resources accessible to the authenticated user.
42+
""");
3143
rootGroup.AddSubGroup(storage);
3244

3345
// Create Storage subgroups
@@ -45,7 +57,7 @@ public void RegisterCommands(CommandGroup rootGroup, ILoggerFactory loggerFactor
4557
blobs.AddSubGroup(batch);
4658

4759
// Create a containers subgroup under blobs
48-
var blobContainer = new CommandGroup("container", "Storage blob container operations - Commands for managing blob container in your Azure Storage accounts.");
60+
var blobContainer = new CommandGroup("container", "Storage blob container operations - Commands for managing blob containers in your Azure Storage accounts.");
4961
blobs.AddSubGroup(blobContainer);
5062

5163
// Create Data Lake subgroup under storage
@@ -69,28 +81,21 @@ public void RegisterCommands(CommandGroup rootGroup, ILoggerFactory loggerFactor
6981
shares.AddSubGroup(shareFiles);
7082

7183
// Register Storage commands
72-
storageAccount.AddCommand("list", new AccountListCommand(
73-
loggerFactory.CreateLogger<AccountListCommand>()));
74-
tables.AddCommand("list", new TableListCommand(
75-
loggerFactory.CreateLogger<TableListCommand>()));
84+
storageAccount.AddCommand("list", new AccountListCommand(loggerFactory.CreateLogger<AccountListCommand>()));
85+
86+
tables.AddCommand("list", new TableListCommand(loggerFactory.CreateLogger<TableListCommand>()));
7687

7788
blobs.AddCommand("list", new BlobListCommand(loggerFactory.CreateLogger<BlobListCommand>()));
7889

79-
batch.AddCommand("set-tier", new BatchSetTierCommand(
80-
loggerFactory.CreateLogger<BatchSetTierCommand>()));
90+
batch.AddCommand("set-tier", new BatchSetTierCommand(loggerFactory.CreateLogger<BatchSetTierCommand>()));
8191

82-
blobContainer.AddCommand("list", new ContainerListCommand(
83-
loggerFactory.CreateLogger<ContainerListCommand>()));
84-
blobContainer.AddCommand("details", new ContainerDetailsCommand(
85-
loggerFactory.CreateLogger<ContainerDetailsCommand>()));
92+
blobContainer.AddCommand("list", new ContainerListCommand(loggerFactory.CreateLogger<ContainerListCommand>()));
93+
blobContainer.AddCommand("details", new ContainerDetailsCommand(loggerFactory.CreateLogger<ContainerDetailsCommand>()));
8694

87-
fileSystem.AddCommand("list-paths", new FileSystemListPathsCommand(
88-
loggerFactory.CreateLogger<FileSystemListPathsCommand>()));
95+
fileSystem.AddCommand("list-paths", new FileSystemListPathsCommand(loggerFactory.CreateLogger<FileSystemListPathsCommand>()));
8996

90-
directory.AddCommand("create", new DirectoryCreateCommand(
91-
loggerFactory.CreateLogger<DirectoryCreateCommand>()));
97+
directory.AddCommand("create", new DirectoryCreateCommand(loggerFactory.CreateLogger<DirectoryCreateCommand>()));
9298

93-
shareFiles.AddCommand("list", new FileListCommand(
94-
loggerFactory.CreateLogger<FileListCommand>()));
99+
shareFiles.AddCommand("list", new FileListCommand(loggerFactory.CreateLogger<FileListCommand>()));
95100
}
96101
}

0 commit comments

Comments
 (0)