{ "protocolVersion": "0.3.0", "name": "AgentSearch", "description": "Find AI agents and MCP servers by natural-language query. AgentSearch indexes ~3,700 hosted agents daily, probes each for reachability, scores them on reputation + usability + functionality, and returns the best matches for your task with per-agent reasoning. Use it to answer 'is there an agent that does X?' or 'is this specific agent any good?'. Read-only, free, no auth.", "url": "https://agentsearch.luthersystems.com/api/a2a", "version": "0.1.0", "provider": { "organization": "Luther Systems", "url": "https://luthersystems.com" }, "documentationUrl": "https://github.com/luthersystems/agentsearch", "homepage": "https://agentsearch.luthersystems.com", "license": { "spdx_id": "MIT", "name": "MIT License", "url": "https://github.com/luthersystems/agentsearch/blob/main/LICENSE" }, "pricing": { "model": "free", "rateLimit": "best-effort, ~60 requests per minute per IP" }, "securitySchemes": { "public": { "type": "none", "description": "All endpoints are publicly readable, no auth required." } }, "capabilities": { "streaming": false, "pushNotifications": false, "stateTransitionHistory": false }, "additionalInterfaces": [ { "transport": "jsonrpc", "url": "https://agentsearch.luthersystems.com/api/a2a" }, { "transport": "mcp-streamable-http", "url": "https://agentsearch.luthersystems.com/api/mcp" }, { "transport": "mcp-stdio", "url": "npx://-y/@luthersystems/agentsearch" } ], "defaultInputModes": ["text/plain", "application/json"], "defaultOutputModes": ["application/json"], "skills": [ { "id": "search", "name": "Search the agent index", "description": "Take a natural-language query and return the top ranked agents/MCP servers from the index, with per-agent reasoning. Ranked by final_score = query_fit × agent_quality.", "tags": ["search", "discovery", "ranking", "agent-discovery", "mcp-discovery"], "examples": [ "find an agent that reads invoice PDFs", "what MCP server lets me control a browser", "agents for crypto price lookup" ], "inputModes": ["text/plain", "application/json"], "outputModes": ["application/json"] }, { "id": "agent_details", "name": "Get a scored agent profile", "description": "Return the full scored profile for one named indexed agent: inventory data, layer-by-layer scores (Fame / Usability / Functionality / Call Graph), reasoning, and live blocker status.", "tags": ["details", "profile", "scoring"], "examples": [ "details for upstash/context7", "how does taylorwilsdon/google_workspace_mcp score", "show me the Fame breakdown for a2aproject/A2A" ], "inputModes": ["text/plain", "application/json"], "outputModes": ["application/json"] }, { "id": "found_agent", "name": "Live-score an arbitrary agent URL", "description": "Crawl + probe + LLM-score an arbitrary agent URL using the same rubric the batch pipeline uses. Works for agents not (yet) in the index.", "tags": ["scoring", "live", "probe", "agent-evaluation"], "examples": [ "score https://github.com/example/new-mcp-server", "evaluate https://some-new-agent.com against the query 'edit calendar events'", "is https://acme.com/agent/api any good?" ], "inputModes": ["application/json"], "outputModes": ["application/json"] }, { "id": "browse", "name": "Browse the full index", "description": "Paginated list of every indexed agent, ranked by overall quality.", "tags": ["browse", "list", "rank"], "examples": [ "top 50 agents by overall score", "page 5 of the index", "list everything ranked" ], "inputModes": ["text/plain", "application/json"], "outputModes": ["application/json"] }, { "id": "stats", "name": "Index summary stats", "description": "Distributions, top categories, and the agent-to-agent call graph for the whole index.", "tags": ["stats", "rollups", "graph"], "examples": [ "how many agents are reachable right now?", "what are the top capability clusters?", "license breakdown across the index" ], "inputModes": ["text/plain", "application/json"], "outputModes": ["application/json"] } ] }