Agent-native discovery layer for MCP servers: an MCP server that finds, ranks, and installs other MCP servers. Bundled 17k-server index works offline with zero API keys; optional hosted mode adds semantic search and live metrics.
mcp-discovery defines 4 tools with reasonable action-verb naming and descriptions. However, there are significant structural issues: (1) two tools (discover_mcp_server and mcp_discovery) appear to be near-duplicates with different parameter names ('need' vs 'query'), creating ambiguity for LLMs; (2) parameter schemas are present and well-typed, but descriptions lack depth on when/why to use each tool and what downstream composition looks like; (3) output structure is inferred from code but not formally documented in schemas; (4) error handling exists (timeout/exception catching in Python tool) but lacks actionable recovery guidance; (5) the get_server_metrics and compare_servers tools lack detailed descriptions of their return structures. Overall, the server shows competent tool design but falls short of production-grade clarity on tool composition, error recovery, and output contracts.
Compares multiple MCP servers by their capabilities, performance metrics, and ranking across latency, uptime, and features.
Discovers MCP (Model Context Protocol) servers based on task requirements. Use this when you need to find tools or capabilities that aren't currently available. Input should be a natural language description of what you need to accomplish. Returns server details with installation instructions, trust scores, and performance metrics.
Retrieves performance metrics for a specified MCP server including latency, uptime, success rate, and active connections over a specified time range.
Discovers MCP (Model Context Protocol) servers based on task requirements. Use this when you need to find tools or capabilities that aren't currently available. Input should be a natural language description of what you need to accomplish. Returns server details with installation instructions, trust scores, and performance metrics.
Duplicate/near-duplicate tools: discover_mcp_server and mcp_discovery perform the same function but use different parameter names ('need' vs 'query'). This violates the composition principle that agents should not have multiple tools doing the same thing differently. LLMs will waste reasoning cycles deciding between them and may pick the wrong one.
Output schema is not formally documented in tool definitions. The Python LangChain tool shows _format_results() returns a string with formatted server info (name, description, trust_score, install_command, metrics), but this structure is not part of the tool schema visible to the MCP client. Agents cannot reliably parse or chain off structured results.
get_server_metrics and compare_servers lack detailed descriptions of what fields are returned and when to use them vs discover_mcp_server. The description for get_server_metrics is vague ('performance metrics including latency, uptime, success rate, and active connections') but doesn't explain expected output structure, pagination, or how this chains with other discovery tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 48 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 50 | - | v1 |
Error handling provides generic messages (e.g., 'No MCP servers found matching...') but lacks actionable recovery guidance. If a discovery query returns no results, the description should suggest retry strategies (e.g., 'Try a broader search term or use force_refresh=true') to guide the agent.
The 'force_refresh' parameter description mentions bypassing cache but doesn't explain the cost (latency) or when to use it. An agent might always set force_refresh=true, causing unnecessary API load, because the trade-off is not clear.