A modern React-based client for interacting with Model Context Protocol (MCP) servers, featuring AI-powered chat interface with Azure OpenAI integration and advanced trace debugging capabilities.
This MCP server has severe definition quality issues across nearly all tools. 23 tools are defined in search-proxy.cjs, but the source code provided does NOT include that file, only TypeScript service files. This means tool definitions cannot be verified from the provided source. The tools appear to be inferred from the endpoint responses and the summary provided. For 18 of 23 tools (GetProducts, GetDetailedInventory, GetInventoryStatus, GetLowStockProducts, GetSalesData, GetTotalRevenue, GetSalesByCategory, GetDailySummary, GetContentTypesSummary, GetPricesWithoutBaseItem, GetLatestStatistics, GetPluData, GetArticlesWithIngredients, GetDocuments, GetCollections, CheckSupermarketHealth, CheckThirdApiHealth, CheckSystemHealth), NO input schemas are visible, only descriptions. For FindArticlesByName and FindArticleByContentKey, minimal schemas are shown with single string parameters but no output schemas documented. The multi_tool_use tool has a complex input schema but no output schema. Descriptions are present for all tools but are generic, single-sentence summaries (e.g., 'Retrieve products from the supermarket SQL server plugin') that lack context on WHEN to use them, what prerequisites exist, or what the response structure is. No parameter descriptions beyond name and type for the 2 - 3 tools with params. No documented output schemas for ANY tool. Error handling guidance is absent. These are serious gaps that will cause LLM tool selection errors and mid-chain failures.
Perform aggregation on data from the ThirdApi MongoDB plugin
Health check endpoint for the supermarket SQL server plugin
System-wide health check endpoint
Health check endpoint for the ThirdApi MongoDB plugin
Find a specific article by its content key from the ThirdApi MongoDB plugin
Search for articles by name from the ThirdApi MongoDB plugin
Get articles with their ingredients information from the ThirdApi MongoDB plugin
Tool definitions cannot be verified from provided source. search-proxy.cjs (where all 23 tools are defined) was not included in the code sample. Only TypeScript service files (mcpServer.ts) are visible. This means input schemas, output schemas, and full descriptions are inferred or unavailable for review.
18 of 23 tools have NO visible input schemas. A tool with no input schema is scored 0 for schema per the hard rules. Examples: GetProducts, GetSalesData, GetInventoryStatus. This prevents LLMs from understanding required vs optional parameters, valid value ranges, and types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 35 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 23 | - | v1 |
Get available collections from the ThirdApi MongoDB plugin
Retrieve content types summary from the ThirdApi MongoDB plugin
Get daily sales summary from the supermarket SQL server plugin
Get detailed inventory information from the supermarket SQL server plugin
Retrieve documents from the ThirdApi MongoDB plugin
Check inventory status from the supermarket SQL server plugin
Retrieve the latest statistics from the ThirdApi MongoDB plugin
Retrieve low stock products from the supermarket SQL server plugin
Retrieve PLU (Price Look Up) data from the ThirdApi MongoDB plugin
Get prices without base item from the ThirdApi MongoDB plugin
Retrieve products from the supermarket SQL server plugin
Retrieve sales data organized by category from the supermarket SQL server plugin
Get sales data from the supermarket SQL server plugin
Calculate total revenue from the supermarket SQL server plugin
Search documents in the ThirdApi MongoDB plugin
Wrapper for executing multiple tools or selecting the best tool based on a query using Azure Search
All tool descriptions are single sentences, under 80 characters on average, lacking critical context. Example: 'Retrieve products from the supermarket SQL server plugin' does not explain WHEN to call this vs other tools, what data is returned, or what parameters are accepted.
NO output schemas documented for any of the 23 tools. LLMs need to know what fields to expect in responses to plan downstream tool calls and extract data correctly. For example, GetProducts should document: returns array of {id, name, price, stock_quantity, category, ...}.
Three tools with parameters (FindArticlesByName, FindArticleByContentKey, SearchDocuments) have NO descriptions for their parameters. 'name', 'contentKey', and 'query' need explanations of acceptable formats, length limits, and examples.
Tool names do not follow verb_noun convention consistently. 'multi_tool_use' is vague and does not describe a single action. Better names: 'select_best_tool', 'execute_multiple_tools', or 'route_query_to_tool'. Current name obscures purpose.
No error handling guidance visible in any tool. When a lookup fails (e.g., product not found), what should the LLM do? Retry? Call a discovery tool? Call a fallback? No recovery instructions.
No pagination support documented. GetProducts, GetDocuments, SearchDocuments do not mention limit, offset, page_size, or total_count. Without pagination, large result sets will blow context windows and degrade LLM reasoning.
multi_tool_use tool is poorly designed. It appears to be a meta-tool that wraps other tools, creating a 'tool of tools' antipattern. This violates single responsibility (pattern:tool). Instead, expose each underlying tool directly to the LLM so it can compose them as needed.