Multi-agent framework for industry-specific assistants that call MCP tools over HTTP. Provides a FastAPI-based MCP server for Azure integrations including OpenAI, Azure AI Search, Azure Cosmos DB, and Azure Storage.
Azure MCP Blueprint presents three tools with moderate to significant quality gaps. Tools are named with action verbs (search_, openai_) but descriptions lack depth and contextual guidance. Input schemas are present but incomplete, parameters have types and minimal descriptions, but lack critical validation details (ranges, constraints, enums). Output schemas are not documented anywhere in the provided source. The sample code shows HTTP-based tool invocation but tool definitions appear to be inferred from the agent sample rather than explicitly registered in a canonical server definition. Error handling is minimal, no recovery guidance, classification, or actionable error messages visible.
Execute OpenAI chat completion requests using Azure OpenAI API with role-based messages and temperature control
Perform keyword-based search on documents using Azure AI Search
Perform semantic search on documents using Azure AI Search with vector embeddings
Output schemas not documented. No schema definition visible for any of the three tools, LLMs cannot predict response structure, downstream tool chaining is error-prone, and agents cannot plan multi-step workflows.
Parameter descriptions are minimal and lack context. 'Array of message objects with role and content fields' for messages param is bare, no guidance on role enums (system/user/assistant only?), content length limits, or multi-turn conversation patterns.
No enum constraints on model parameter. 'Model deployment name (e.g., gpt-4o, gpt-4o-mini)' lists examples but not valid options. LLMs may hallucinate invalid model names like 'gpt-5' or 'gpt-4o-turbo-2024'.
temperature parameter lacks bounds. Description says '0.0-2.0' but no min/max schema constraints. LLMs may pass values outside the stated range.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
search_semantic and search_documents descriptions are nearly identical and do not explain when to choose one vs the other. LLMs cannot distinguish between keyword and semantic search without explicit guidance.
No error recovery guidance documented. No mention of what happens on API failures, rate limits, invalid queries, or empty results. Agents have no guidance on retry strategy or alternative approaches.
Tool definitions appear inferred from agent sample code rather than explicitly registered. No canonical tool registry visible, tools are called via HTTP /mcp/execute endpoint but no server-side tool definition file shown.
No pagination support documented for search results. 'top' parameter accepts a number but no max_results limit specified, no next_cursor or offset mechanism shown. A query returning 1000+ results could exhaust LLM context.