Open directory
A free, open index of the Model Context Protocol ecosystem. Synced daily from the public MCP registries, deduplicated, ranked by provenance, and checked with a real MCP handshake so you know which endpoints still answer. Query it as a REST API or point an agent at it as an MCP server. No account, no key.
https://registry.truespar.com/v1/servers
https://registry.truespar.com/openapi.json
https://registry.truespar.com/mcp
Browse and try every endpoint in the interactive API reference.
liveness field records only whether an endpoint answered
a handshake when the catalog was last built. Treat every entry as a lead to verify before
you connect to it.
| Endpoint | Returns |
|---|---|
GET /v1/servers |
The ranked catalog. Filter with q, category,
tier, hostable, liveness; page with
limit (max 100) and offset. |
GET /v1/servers/{key} |
One server in full, including how to connect: hosted endpoints and the recommended transport, whether auth was required, installable packages, tools and license. |
GET /v1/categories | The category facet with counts. |
GET /v1/stats | Catalog size, composition and freshness. |
# is there an MCP for Stripe? curl 'https://registry.truespar.com/v1/servers?q=stripe&hostable=true' # everything first-party in the payments category curl 'https://registry.truespar.com/v1/servers?category=payments&tier=S' # how to connect to one of them curl 'https://registry.truespar.com/v1/servers/repo:github.com/stripe/agent-toolkit'
find_mcp_servers(query, category?, tier?, hostable?, limit?)
Ranked search across the ecosystem. Answers "does an MCP for X exist?" with the provenance tier, liveness and hosted endpoints of each hit.
get_mcp_server(key)
The full record for one hit, including the connection details needed to point a client at it. Truespar does not proxy the connection; your client talks to the server directly.
Add the endpoint to any MCP client with Streamable HTTP support. For example:
{
"mcpServers": {
"truespar-registry": {
"type": "http",
"url": "https://registry.truespar.com/mcp"
}
}
}
A daily job walks the public MCP registries, folds records that describe the
same server into one, and ranks them authority-first: a first-party server published by
the vendor it integrates with outranks a community reimplementation no matter how many
stars the latter has. Every server that advertises a hosted endpoint is then checked with
a genuine MCP initialize and tools/list, so
liveness reflects a real handshake rather than a ping.
Servers that run locally over stdio are never executed - testing one would mean running untrusted code - so they are listed with their packages and no liveness result.
Open and unauthenticated, with per-IP rate limits so one caller cannot crowd out the
rest. Responses carry X-RateLimit-Limit and
X-RateLimit-Remaining; a 429 carries Retry-After.
If you need volume beyond this, get in touch
rather than working around it.