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
[Doc Gap] PostgreSQL tools entirely missing from azmcp-commands.md, e2eTestPrompts.md, and README.md after breaking-change migration in PR
[Content truncated due to length] #2947
PR #2942 migrated all PostgreSQL tools to the new tool design pattern (AuthenticatedCommand / SubscriptionCommand), removing several base command classes (BaseDatabaseCommand, BaseServerCommand, BasePostgresCommand) and refactoring option definitions. The changelog explicitly marks this as a Breaking Change: "Removed unused parameters from Postgresql tools."
Options previously managed through legacy base command classes are now expressed directly as typed properties on individual Options classes. Some commands gained new parameters (--tenant, --retry-*) and the required/optional status of existing parameters changed.
Gaps Found
No azmcp postgres commands appear anywhere in azmcp-commands.md — all 6 tools are entirely undocumented
No PostgreSQL entries exist in e2eTestPrompts.md — no test prompts for any of the 6 tools
PostgreSQL is not mentioned in README.md under either "What can you do..." or "Complete List of Supported Azure Services"
The current 6 commands and their parameter sets (post-PR #2942) are:
CLI command
Description
azmcp postgres list
List PostgreSQL servers, databases, or tables
azmcp postgres database query
Execute a read-only SQL query against a PostgreSQL database
azmcp postgres table schema get
Retrieve the schema of a PostgreSQL table
azmcp postgres server config get
Retrieve the configuration of a PostgreSQL server
azmcp postgres server param get
Retrieve a specific parameter of a PostgreSQL server
azmcp postgres list
azmcp postgres database query
azmcp postgres table schema get
azmcp postgres server config get
azmcp postgres server param get
azmcp postgres server param set
📐 Implementation Guide
This section contains step-by-step instructions for a coding agent to implement the changes described above
Step 1: Modify files
servers/Azure.Mcp.Server/docs/azmcp-commands.md
Add a new ## Azure Database for PostgreSQL section (in alphabetical order). Include one subsection per command following the existing format. Parameter tables should reflect the current options:
azmcp postgres list (PostgresListOptions):
Parameter
Required
Description
--subscription
No
Subscription ID or name
--resource-group
No
Resource group (scopes server listing)
--server
No
PostgreSQL server name — provide to list databases; required with --database
--database
No
PostgreSQL database — provide to list tables (requires --server)
--schema
No
Schema to list tables from (defaults to public; requires --server and --database)
--user
Conditional
Username — required when --server is provided
--auth-type
No
Auth type: MicrosoftEntra (default) or PostgreSQL
--password
No
Password — required only when --auth-type is PostgreSQL
azmcp postgres table schema get (TableSchemaGetOptions):
Parameter
Required
Description
--table
Yes
Table name
--server
Yes
PostgreSQL server hostname
--database
Yes
Database name
--user
Yes
Username
--auth-type
Yes
Auth type: MicrosoftEntra or PostgreSQL
--password
No
Password (required for PostgreSQL auth-type)
azmcp postgres server config get (BaseServerOptions):
Parameter
Required
Description
--server
Yes
PostgreSQL server name
--user
Yes
Username
--resource-group
Yes
Resource group
--subscription
No
Subscription ID or name
--tenant
No
Tenant ID or name
--retry-max-retries
No
Max retry attempts
--retry-delay
No
Delay between retries
azmcp postgres server param get (ServerParamGetOptions : BaseServerOptions):
Same as server config get, plus:
| --param | Yes | Parameter name to retrieve |
azmcp postgres server param set (ServerParamSetOptions : BaseServerOptions):
Same as server config get, plus:
| --param | Yes | Parameter name to set |
| --value | Yes | Value to set for the parameter |
servers/Azure.Mcp.Server/docs/e2eTestPrompts.md
Add a new ## Azure Database for PostgreSQL section in alphabetical order. Add a table:
## Azure Database for PostgreSQL| Tool Name | Test Prompt ||---|---|| postgres_database_query | Execute a SQL query to list all tables in the public schema on my PostgreSQL server myserver.postgres.database.azure.com database mydb || postgres_list | List all PostgreSQL servers in my subscription || postgres_server_config_get | Get the configuration of my PostgreSQL server myserver in resource group myrg || postgres_server_param_get | Get the log_connections parameter of my PostgreSQL server myserver in resource group myrg || postgres_server_param_set | Set the log_connections parameter to on for my PostgreSQL server myserver in resource group myrg || postgres_table_schema_get | Get the schema of the users table in the public schema on my PostgreSQL server |
servers/Azure.Mcp.Server/README.md
Add PostgreSQL to the "Complete List of Supported Azure Services" section:
| 🐘 Azure Database for PostgreSQL | List servers, databases, and tables; execute queries; retrieve and configure server parameters |
Add a ### 🐘 Azure Database for PostgreSQL subsection under "What can you do" with 2–3 example prompts.
Step 2: Verify documentation structure
servers/Azure.Mcp.Server/docs/azmcp-commands.md — must include:
A global options table at the top (subscription, resource-group, tenant, retry-max-retries, retry-delay)
One ## azmcp <service> <resource> <operation> section per command, containing a description, parameters table, and example usage block
servers/Azure.Mcp.Server/docs/e2eTestPrompts.md — must include:
A header explaining the file's purpose
Service area sections (e.g., ## Azure Advisor, ## Azure AI Search) in alphabetical order
Within each section, a table with columns Tool Name | Test Prompt listing tool names alphabetically
New commands added in alphabetical order within their service section
servers/Azure.Mcp.Server/README.md — must include:
An # Overview section describing the server
An # Installation section with subsections for IDE and Package Manager
A ## What can you do with the Azure MCP Server? section with per-service subsections showing example prompts
A ## Complete List of Supported Azure Services section listing all supported services with emoji icons and brief descriptions
A # Support and Reference section
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.Postgres/src/ — confirms the affected toolset compiles
dotnet test tools/Azure.Mcp.Tools.Postgres/tests/Azure.Mcp.Tools.Postgres.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.PostgresTriggered by: commit 1753e0a (PR #2942) by
@alzimmermsftChanged files:
tools/Azure.Mcp.Tools.Postgres/src/Commands/PostgresListCommand.cstools/Azure.Mcp.Tools.Postgres/src/Commands/Database/DatabaseQueryCommand.cstools/Azure.Mcp.Tools.Postgres/src/Commands/Server/ServerConfigGetCommand.cstools/Azure.Mcp.Tools.Postgres/src/Commands/Server/ServerParamGetCommand.cstools/Azure.Mcp.Tools.Postgres/src/Commands/Server/ServerParamSetCommand.cstools/Azure.Mcp.Tools.Postgres/src/Options/PostgresOptionDefinitions.csservers/Azure.Mcp.Server/changelog-entries/1782332979507.yamlWhat Changed
PR #2942 migrated all PostgreSQL tools to the new tool design pattern (
AuthenticatedCommand/SubscriptionCommand), removing several base command classes (BaseDatabaseCommand,BaseServerCommand,BasePostgresCommand) and refactoring option definitions. The changelog explicitly marks this as a Breaking Change: "Removed unused parameters from Postgresql tools."Options previously managed through legacy base command classes are now expressed directly as typed properties on individual
Optionsclasses. Some commands gained new parameters (--tenant,--retry-*) and the required/optional status of existing parameters changed.Gaps Found
azmcp postgrescommands appear anywhere inazmcp-commands.md— all 6 tools are entirely undocumentede2eTestPrompts.md— no test prompts for any of the 6 toolsREADME.mdunder either "What can you do..." or "Complete List of Supported Azure Services"The current 6 commands and their parameter sets (post-PR #2942) are:
azmcp postgres listazmcp postgres database queryazmcp postgres table schema getazmcp postgres server config getazmcp postgres server param getazmcp postgres server param setFiles to Update
servers/Azure.Mcp.Server/docs/azmcp-commands.mdservers/Azure.Mcp.Server/docs/e2eTestPrompts.mdservers/Azure.Mcp.Server/README.mdContext
PostgresSetup.cscommand group structure:📐 Implementation Guide
This section contains step-by-step instructions for a coding agent to implement the changes described above
Step 1: Modify files
servers/Azure.Mcp.Server/docs/azmcp-commands.mdAdd a new ## Azure Database for PostgreSQL section (in alphabetical order). Include one subsection per command following the existing format. Parameter tables should reflect the current options:
azmcp postgres list(PostgresListOptions):--subscription--resource-group--server--database--database--server)--schemapublic; requires--serverand--database)--user--serveris provided--auth-typeMicrosoftEntra(default) orPostgreSQL--password--auth-typeisPostgreSQL--tenant--retry-max-retries--retry-delayazmcp postgres database query(DatabaseQueryOptions):--query--server--database--user--auth-typeMicrosoftEntraorPostgreSQL--passwordPostgreSQLauth-type)azmcp postgres table schema get(TableSchemaGetOptions):--table--server--database--user--auth-typeMicrosoftEntraorPostgreSQL--passwordPostgreSQLauth-type)azmcp postgres server config get(BaseServerOptions):--server--user--resource-group--subscription--tenant--retry-max-retries--retry-delayazmcp postgres server param get(ServerParamGetOptions : BaseServerOptions):Same as
server config get, plus:|
--param| Yes | Parameter name to retrieve |azmcp postgres server param set(ServerParamSetOptions : BaseServerOptions):Same as
server config get, plus:|
--param| Yes | Parameter name to set ||
--value| Yes | Value to set for the parameter |servers/Azure.Mcp.Server/docs/e2eTestPrompts.mdAdd a new ## Azure Database for PostgreSQL section in alphabetical order. Add a table:
servers/Azure.Mcp.Server/README.mdAdd PostgreSQL to the "Complete List of Supported Azure Services" section:
Add a ### 🐘 Azure Database for PostgreSQL subsection under "What can you do" with 2–3 example prompts.
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 blockservers/Azure.Mcp.Server/docs/e2eTestPrompts.md— must include:## Azure Advisor,## Azure AI Search) in alphabetical orderTool Name | Test Promptlisting tool names alphabeticallyservers/Azure.Mcp.Server/README.md— must include:# Overviewsection describing the server# Installationsection with subsections for IDE and Package Manager## What can you do with the Azure MCP Server?section with per-service subsections showing example prompts## Complete List of Supported Azure Servicessection listing all supported services with emoji icons and brief descriptions# Support and ReferencesectionStep 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.Postgres/src/— confirms the affected toolset compilesdotnet test tools/Azure.Mcp.Tools.Postgres/tests/Azure.Mcp.Tools.Postgres.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