MCP server discovery - find and install MCP servers from Official Registry, Glama, and Smithery
Server has 4 tools with clear action verbs and reasonable descriptions (100-200 chars each). All tools have input schemas with typed parameters and descriptions. However, output schemas are not formally documented, tools return JSON strings rather than structured objects with declared fields. Parameter descriptions lack constraint details (ranges, enums, formats). Error handling is minimal; tools do not guide recovery or categorize errors. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being read-only. Missing dependency hints and multi-step guidance.
Browse MCP server categories and get servers by category.
Generate install config for a target client. Use this after get_server_details to generate a ready-to-paste JSON config.
Get detailed information about an MCP server. Always call this before recommending or installing a server. Returns metadata for judging safety and fit.
Search for MCP servers by keyword, technology, or use case. Call this first whenever the user needs a capability you do not already have. Use it when the user mentions an external service, a database, a filesystem, or asks 'can you connect to X?'. Examples: - query='postgres' for PostgreSQL database - query='slack' for Slack integration - query='filesystem' for file system access
Output schemas not documented. Tools return JSON strings; LLMs cannot infer field structure for downstream chaining. E.g., search_mcp_servers returns {query, results[], next_actions[]} but this is not declared in tool metadata.
Parameter constraints missing. transport_type, registry_type, registry_source accept 'any' but valid enum values (stdio, streamable-http, sse, npm, pypi, oci, official, glama, smithery) are not declared in schema, only in description text. LLMs cannot validate before calling.
No tool annotations. All 4 tools are read-only (risk: READ_ONLY) but lack readOnlyHint annotation. Agents cannot infer safety without explicit hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Error handling absent. Tools return JSON with next_actions hints but do not categorize errors (retryable vs user-fixable vs fatal) or provide recovery guidance. E.g., if get_server_details(name='invalid') fails, no error message guides the LLM to search_mcp_servers first.
Parameter descriptions lack format/range details. E.g., limit: 1-50 is stated in description text but not in schema constraints. platform enum (claude-desktop, cursor, claude-code, cline, windsurf) is not declared as enum in schema.