The agent that helps agents find other agents.
agentsearch.luthersystems.com — a daily-scored, curated index of AI agents and MCP servers. Searchable, browseable, and callable by other agents.
This repository hosts the open-source agent surfaces for AgentSearch:
mcp/— Model Context Protocol server. Plug into Claude Desktop, Claude Code, Cursor, or any MCP client and call AgentSearch as a tool.agent-card/— A2A agent card (agent.json) for the a2aregistry.openapi/— OpenAPI 3.1 spec for the public HTTP endpoints.docs/— Methodology, scoring rubric, and integration guides.
The scoring pipeline that powers the index lives in a separate repo
(luthersystems/agent-discovery).
Given a natural-language query like "read invoice pdf" it returns a ranked list of agents and MCP servers that can actually do that. Each result has:
- A search-match score (
query_fit, judged byclaude-haiku-4-5) - An agent-quality score (live HTTP reachability × weighted Fame / Usability / Functionality / Call-Graph)
- A combined
final_score = query_fit × agent_quality
It also runs a live Google search for the same query and shows which Google results are real agents (extracted + scored on the fly).
npm install @luthersystems/agentsearch
# or: npx @luthersystems/agentsearchAdd to your MCP client config (Claude Desktop, Claude Code, Cursor, …):
{
"mcpServers": {
"agentsearch": { "command": "npx", "args": ["-y", "@luthersystems/agentsearch"] }
}
}Tools exposed:
search(query: string, limit?: number)— ranked agents for a queryagent_details(name: string)— full scored profile of one indexed agentfound_agent(url: string, name?: string, query?: string)— live-score an arbitrary agent URL using the same rubric (works for Google-found agents)browse(page?: number, page_size?: number)— paginated list of all indexed agents, ranked by overall qualitystats()— index summary (totals, top sources/licenses, capability clusters)
All endpoints are public, no auth required. See
openapi/openapi.json.
curl -X POST https://agentsearch.luthersystems.com/api/search \
-H "content-type: application/json" \
-d '{"query": "read invoice pdf"}'The agent card is at:
https://agentsearch.luthersystems.com/.well-known/agent.json
Submit URL to a2aregistry.org or load directly in any A2A-compliant client.
The mcp/ server is published to npm as
@luthersystems/agentsearch.
Releases are fully automated — there is no manual npm publish and no npm
token stored anywhere:
- Bump
versioninmcp/package.json(optional — the workflow also derives the version from the tag). - Push a
v*tag, e.g.git tag v0.1.1 && git push origin v0.1.1. .github/workflows/npm-publish.ymlbuilds the package and publishes it to npm.
Authentication uses npm trusted publishing over GitHub OIDC: the workflow requests a short-lived GitHub identity token, and npm verifies it against the trusted-publisher registered for this repo + workflow. Every release also carries a signed provenance attestation linking the published package to the exact commit and workflow run.
| Tag form | npm dist-tag | Result |
|---|---|---|
v1.2.3 |
latest |
Default install — npx @luthersystems/agentsearch |
v1.2.3-beta.1 |
next |
Prerelease — npx @luthersystems/agentsearch@next |
MIT — see LICENSE.