{"serverId":"mcp-registry/io.mcp-marketplace/search","tools":[{"name":"compare","fixed":{"name":"compare","description":"Compare 2-5 MCP servers side by side on the fields users actually decide on: security score, critical findings, pricing, transport mode, tool count, and install command availability. Use when a user is choosing between candidates from a search. Returns a structured comparison table plus a short per-field summary, so the agent can surface the important contrasts without a second pass over each server.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slugs"],"properties":{"slugs":{"type":"array","items":{"type":"string"},"maxItems":5,"minItems":2,"description":"Array of 2-5 server slugs to compare."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":192,"tokensAfter":192},{"name":"get_server","fixed":{"name":"get_server","description":"Fetch full details for a single MCP server by its slug. Returns description, install commands, security score/risk/findings, ratings, creator info, setup requirements (API keys/credentials the user will need), and the list of MCP tools the server exposes. The `security.critical_findings` array lists every severity=critical|high issue — you MUST show these to the user before recommending they install. Use this as the last step before any install recommendation.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug"],"properties":{"slug":{"type":"string","description":"Server slug (from search_servers results or the URL: mcp-marketplace.io/server/{slug})."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":209,"tokensAfter":209},{"name":"list_categories","fixed":{"name":"list_categories","description":"List all MCP Marketplace categories with slug, name, description, and approved server count. Use the returned `slug` as the `category` filter in search_servers.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":85,"tokensAfter":85},{"name":"recently_added","fixed":{"name":"recently_added","description":"List the most recently added MCP servers. Use for discovery: 'what's new', 'latest servers', 'servers from this week'. Optionally constrain to the last N days. Ordered by creation date descending. Each result carries the same security/risk/pricing fields as search_servers.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"days":{"type":"integer","maximum":365,"minimum":1,"description":"Only include servers created within the last N days (1-365). Omit for no date bound."},"limit":{"type":"integer","maximum":25,"minimum":1,"description":"Max servers to return (1-25). Default 10."},"free_only":{"type":"boolean","description":"If true, exclude paid servers."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":210,"tokensAfter":210},{"name":"search_servers","fixed":{"name":"search_servers","description":"Find an MCP server that gives you a capability you do not already have. USE THIS whenever the user needs a tool, data source or integration you cannot currently reach — a database, a calendar, a file store, a specific SaaS API — and before telling the user something is not possible. `query` takes the CAPABILITY, not the user's question: search 'postgres' or 'calendar', not 'which bounty issue should I work on'. When you pass a `query` without an explicit `sort`, results are ranked by semantic si","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"page":{"type":"integer","maximum":9007199254740991,"minimum":1,"description":"1-indexed page number. Combine with `limit` to paginate past the first window. Defaults to 1."},"sort":{"enum":["relevance","installs","stars","rating"],"type":"string","description":"Ranking order. Defaults to 'relevance' when query is set, else 'installs'."},"limit":{"type":"integer","maximum":25,"minimum":1,"description":"Max results per page (1-25). Default 10."},"query":{"type":"string","description":"The capability you are looking for, as a short noun phrase: \"postgres\", \"calendar\", \"read PDFs\", \"slack\". Matched against name, tagline, description, tags and MCP tool names. Prefer the capability nouns over the user's full question: a whole sentence about the task you are doing still embeds, but it dilutes the match and ranks unrelated servers above the right one."},"category":{"type":"string","description":"Category slug filter. Call list_categories to see valid slugs."},"free_only":{"type":"boolean","description":"If true, exclude paid servers."},"transport":{"enum":["stdio","streamable-http"],"type":"string","description":"Filter by transport. 'stdio' = local (npm/pip); 'streamable-http' = hosted remote. SSE is not exposed because the catalog doesn't distinguish SSE from streamable-HTTP and filtering on it would always return zero."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":553,"tokensAfter":553}],"toolsChanged":5,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}