MCP server for Azure AI Agent Service integration with Neon database management capabilities
This server has critical definition gaps across all three tools. While tool names follow verb_noun convention (query_agent, list_agents, create_neon_management_agent), descriptions are present but vague, parameters lack type information and descriptions in the schema, and output schemas are completely undocumented. The code shows basic string returns with no structured output. Tools are functional but would confuse LLMs about when to call each one and what to do with results. The create_neon_management_agent tool accepts zero parameters yet has significant side effects (creates a new agent in a remote service), violating the principle that idempotent discovery tools should have no parameters while mutation tools should require explicit intent parameters.
Create a new Neon database management agent.
List available agents in the Azure AI Agent Service.
Send a query to the specific agent in Azure AI Agent and get the response.
CRITICAL: create_neon_management_agent accepts zero input parameters despite being a CREATE (mutation) operation. LLM cannot control what is created, violates command-tool pattern.
All tools return unstructured strings (markdown or plain text) instead of structured JSON. LLMs must parse free-text output, increasing errors and token waste.
Output schemas are completely undocumented across all tools. LLMs cannot plan downstream actions or extract required IDs.
list_agents offers no pagination support despite potentially returning many agents. Context window could be exhausted on large agent lists.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 36 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
create_neon_management_agent is non-idempotent by design (generates unique name on each call). Agents retrying on failure will create duplicate agents.
Parameter descriptions are minimal or missing constraints (e.g., agent_id format, query length bounds). Rubric baseline: 100% of A+ tools have descriptions for every parameter.
Error handling returns plain strings without recovery guidance. Rubric: 'Error responses must tell the LLM what to do next.' A timeout or 'agent not found' error should suggest next steps.
Descriptions lack context on when to use each tool. 'Send a query to the specific agent' does not explain whether it expects a natural question, SQL command, or structured request.
create_neon_management_agent hardcodes Azure OpenAI deployment name without parameter control or documentation. Reduces flexibility and self-documentation.