You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #2677 fixed several issues in the MySQL toolset:
azmcp mysql list: --resource-group is now optional. When omitted, lists all MySQL servers across the entire subscription (previously required). --user is also now optional — only required when --server is specified (data-plane operations).
azmcp mysql server config get, server param get, server param set: --user is no longer required. These are ARM-only commands that do not open a direct database connection, so user credentials are not needed.
--user remains required for database query and table schema get (data-plane commands).
Gaps Found
azmcp-commands.md still shows --resource-group as required for mysql list, but it is now optional
azmcp-commands.md still shows --user as required for mysql list, but it is now only required when --server is specified
azmcp-commands.md comment for mysql list incorrectly says "Without parameters: lists all MySQL servers in the resource group" — it should say "in the subscription"
azmcp-commands.md still shows --user <user> as required for azmcp mysql server config get, server param get, and server param set — --user was removed from all three ARM-only commands
Files to Update
servers/Azure.Mcp.Server/docs/azmcp-commands.md
Context
Current (incorrect) docs for mysql list:
# Hierarchical list command for MySQL resources# Without parameters: lists all MySQL servers in the resource group# With --server: lists all databases on that server# With --server and --database: lists all tables in that database# ❌ Destructive | ✅ Idempotent | ❌ OpenWorld | ✅ ReadOnly | ❌ Secret | ❌ LocalRequired
azmcp mysql list --subscription <subscription> \
--resource-group <resource-group> \
--user <user> \
[--server <server>] \
[--database <database>]
Correct docs for mysql list:
# Hierarchical list command for MySQL resources# Without parameters: lists all MySQL servers in the subscription# With --resource-group: lists servers in that resource group# With --server: lists all databases on that server (--user required)# With --server and --database: lists all tables in that database (--user required)# ❌ Destructive | ✅ Idempotent | ❌ OpenWorld | ✅ ReadOnly | ❌ Secret | ❌ LocalRequired
azmcp mysql list --subscription <subscription> \
[--resource-group <resource-group>] \
[--user <user>] \
[--server <server>] \
[--database <database>]
Current (incorrect) docs for server commands (same issue for server param get and server param set):
# Retrieve the configuration of a MySQL server
azmcp mysql server config get --subscription <subscription> \
--resource-group <resource-group> \
--user <user> \
--server <server>
Correct docs for server commands:
# Retrieve the configuration of a MySQL server
azmcp mysql server config get --subscription <subscription> \
--resource-group <resource-group> \
--server <server>
📐 Implementation Guide
This section contains step-by-step instructions for a coding agent to implement the changes described above.
Locate the ### Azure Database for MySQL Operations section and make the following replacements:
1. Fix mysql list command signature and comments:
Replace:
# Hierarchical list command for MySQL resources
# Without parameters: lists all MySQL servers in the resource group
# With --server: lists all databases on that server
# With --server and --database: lists all tables in that database
# ❌ Destructive | ✅ Idempotent | ❌ OpenWorld | ✅ ReadOnly | ❌ Secret | ❌ LocalRequired
azmcp mysql list --subscription <subscription> \
--resource-group <resource-group> \
--user <user> \
[--server <server>] \
[--database <database>]
With:
# Hierarchical list command for MySQL resources
# Without parameters: lists all MySQL servers in the subscription
# With --resource-group: lists servers in that resource group
# With --server: lists all databases on that server (--user required)
# With --server and --database: lists all tables in that database (--user required)
# ❌ Destructive | ✅ Idempotent | ❌ OpenWorld | ✅ ReadOnly | ❌ Secret | ❌ LocalRequired
azmcp mysql list --subscription <subscription> \
[--resource-group <resource-group>] \
[--user <user>] \
[--server <server>] \
[--database <database>]
2. Fix mysql server config get — remove --user:
Replace:
azmcp mysql server config get --subscription <subscription> \
--resource-group <resource-group> \
--user <user> \
--server <server>
With:
azmcp mysql server config get --subscription <subscription> \
--resource-group <resource-group> \
--server <server>
3. Fix mysql server param get — remove --user:
Replace:
azmcp mysql server param get --subscription <subscription> \
--resource-group <resource-group> \
--user <user> \
--server <server> \
--param <parameter>
With:
azmcp mysql server param get --subscription <subscription> \
--resource-group <resource-group> \
--server <server> \
--param <parameter>
4. Fix mysql server param set — remove --user:
Replace:
azmcp mysql server param set --subscription <subscription> \
--resource-group <resource-group> \
--user <user> \
--server <server> \
--param <parameter> \
--value <value>
With:
azmcp mysql server param set --subscription <subscription> \
--resource-group <resource-group> \
--server <server> \
--param <parameter> \
--value <value>
Step 2: Verify documentation structure
servers/Azure.Mcp.Server/docs/azmcp-commands.md — must include:
One ## azmcp <service> <resource> <operation> section per command, containing a description, parameters table, and example usage block
Optional parameters shown in brackets [--param <value>]; required parameters shown without brackets
Step 3: Validate
Run these commands in order. Each must succeed before proceeding to the next:
dotnet build servers/Azure.Mcp.Server/ — confirms the server project compiles cleanly
dotnet build tools/Azure.Mcp.Tools.MySql/src/ — confirms the affected toolset compiles
dotnet test tools/Azure.Mcp.Tools.MySql/tests/Azure.Mcp.Tools.MySql.Tests/ --filter "TestType!=Live" — runs unit tests for the affected toolset
.\eng\common\spelling\Invoke-Cspell.ps1 — checks spelling in new or modified documentation
Next Steps
Tip
Ready for automated implementation? Assign this issue to @copilot to have Copilot coding agent implement the changes described in the Implementation Guide above
Documentation Gap
Server:
Azure.Mcp.ServerTool directory:
tools/Azure.Mcp.Tools.MySqlTriggered by: commit 5403cce / PR #2677 by
@g2vinayChanged files:
tools/Azure.Mcp.Tools.MySql/src/Commands/MySqlListCommand.cstools/Azure.Mcp.Tools.MySql/src/Commands/Server/BaseServerCommand.cstools/Azure.Mcp.Tools.MySql/src/Commands/Database/BaseDatabaseCommand.cstools/Azure.Mcp.Tools.MySql/src/Commands/BaseMySqlCommand.cs(removed)What Changed
PR #2677 fixed several issues in the MySQL toolset:
azmcp mysql list:--resource-groupis now optional. When omitted, lists all MySQL servers across the entire subscription (previously required).--useris also now optional — only required when--serveris specified (data-plane operations).azmcp mysql server config get,server param get,server param set:--useris no longer required. These are ARM-only commands that do not open a direct database connection, so user credentials are not needed.--userremains required fordatabase queryandtable schema get(data-plane commands).Gaps Found
azmcp-commands.mdstill shows--resource-groupas required formysql list, but it is now optionalazmcp-commands.mdstill shows--useras required formysql list, but it is now only required when--serveris specifiedazmcp-commands.mdcomment formysql listincorrectly says "Without parameters: lists all MySQL servers in the resource group" — it should say "in the subscription"azmcp-commands.mdstill shows--user <user>as required forazmcp mysql server config get,server param get, andserver param set—--userwas removed from all three ARM-only commandsFiles to Update
servers/Azure.Mcp.Server/docs/azmcp-commands.mdContext
Current (incorrect) docs for
mysql list:Correct docs for
mysql list:Current (incorrect) docs for server commands (same issue for
server param getandserver param set):Correct docs for server commands:
📐 Implementation Guide
This section contains step-by-step instructions for a coding agent to implement the changes described above.
Step 1: Modify files
File:
servers/Azure.Mcp.Server/docs/azmcp-commands.mdLocate the
### Azure Database for MySQL Operationssection and make the following replacements:1. Fix
mysql listcommand signature and comments:Replace:
With:
2. Fix
mysql server config get— remove--user:Replace:
With:
3. Fix
mysql server param get— remove--user:Replace:
With:
4. Fix
mysql server param set— remove--user:Replace:
With:
Step 2: Verify documentation structure
servers/Azure.Mcp.Server/docs/azmcp-commands.md— must include:## azmcp <service> <resource> <operation>section per command, containing a description, parameters table, and example usage block[--param <value>]; required parameters shown without bracketsStep 3: Validate
Run these commands in order. Each must succeed before proceeding to the next:
dotnet build servers/Azure.Mcp.Server/— confirms the server project compiles cleanlydotnet build tools/Azure.Mcp.Tools.MySql/src/— confirms the affected toolset compilesdotnet test tools/Azure.Mcp.Tools.MySql/tests/Azure.Mcp.Tools.MySql.Tests/ --filter "TestType!=Live"— runs unit tests for the affected toolset.\eng\common\spelling\Invoke-Cspell.ps1— checks spelling in new or modified documentationNext Steps
Tip
Ready for automated implementation? Assign this issue to
@copilotto have Copilot coding agent implement the changes described in the Implementation Guide above