mcp-registry-finder
Enables searching the official MCP Registry for servers, inspecting details, and generating install commands directly from within an agent session.
README
mcp-registry-finder
Search the official MCP Registry from inside your agent session.
An MCP server that wraps the official Model Context Protocol Registry REST API as MCP tools — so a Claude Code / Claude Desktop / Cursor session can find, inspect, and get install commands for published MCP servers without you tabbing over to a browser.
github.com/bharat3645/mcp-registry-finder · MIT · built by Bharat
The problem
By mid-2026 the MCP server ecosystem is large and fragmented: the official registry alone lists thousands of published servers, and third-party directories (mcp.so, LobeHub, and others) each index tens of thousands more, with no single, consistent way to search. If you're inside an agent session and want to know "is there already an MCP server for X" or "what's the exact install command for that GitHub MCP server," today you leave the chat, open a browser, and search a directory by hand.
This is the missing meta-tool: an MCP server whose whole job is making the official registry queryable from inside the session that would actually use the result.
What it is
Four tools, each doing one job:
| Tool | What it does |
|---|---|
search_registry |
Substring-search the registry by server name; returns matches with version, status, and description. |
get_server_details |
Full detail for one server by its reverse-DNS name — packages, required env vars, remote endpoints. |
list_recent_servers |
List servers, optionally filtered to those updated in the last N days. |
format_install_command |
Offline helper: turn a {registryType, identifier} pair into a runnable install command (npx, uvx, docker run, dnx, cargo install, …). Makes no network call. |
It talks to the official registry only (registry.modelcontextprotocol.io,
the registry stood up under the modelcontextprotocol/registry project) — not
the larger unofficial directories, which have no single stable API.
Install
Claude Code
claude mcp add registry-finder -- npx -y mcp-registry-finder
Claude Desktop / other MCP hosts
Add to your MCP config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"registry-finder": {
"command": "npx",
"args": ["-y", "mcp-registry-finder"]
}
}
}
Run from source
git clone https://github.com/bharat3645/mcp-registry-finder && cd mcp-registry-finder
npm test # 40 tests, node:test, zero test-framework dependencies
npm start # runs the stdio server directly
There is nothing to build — the package ships as plain ESM JavaScript and has
zero runtime dependencies: it uses Node's built-in global fetch (Node
≥18) and node:readline for the stdio transport.
Example
Once installed, ask your agent things like:
"Is there an MCP server for Slack in the official registry?" "Give me the install command for the filesystem MCP server." "What's been published to the registry in the last 3 days?"
which route to search_registry, search_registry + get_server_details,
and list_recent_servers({ updatedWithinDays: 3 }) respectively.
Architecture
stdin ──► readline (newline-delimited JSON-RPC) ──► server.js (protocol) ──► tools.js ──► registryClient.js ──► registry.modelcontextprotocol.io
stdout ◄── JSON-RPC responses ◄──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
src/server.js— transport-agnostic JSON-RPC message handling (initialize,ping,tools/list,tools/call), so protocol logic is unit-testable without spawning a process.src/index.js— the stdio transport shim: one JSON-RPC message per line in, one per line out, logs on stderr only, per the stdio transport spec.src/registryClient.js— thin fetch wrapper over the registry's/v0endpoints, with an injectablefetchImplfor testing.src/tools.js/src/format.js— tool schemas/handlers and pure formatting helpers (install-command derivation, summaries).
Targets protocol versions 2025-06-18 and 2025-03-26 (negotiated at
initialize, defaulting to 2025-06-18). The registry's own transport
(Streamable HTTP for remote servers, stdio/HTTP for local packages) is
unrelated to this server's own transport, which is always stdio.
Verification
- 40 tests on
node:test, zero test-framework dependencies (npm test). registryClientandtoolsare unit-tested against real recorded responses captured from the live registry API on 2026-07-10 (seefixtures/) via an injected fetch, covering success, 404, non-JSON, and network-failure paths.format.js(install-command derivation, summaries) is pure and exhaustively unit-tested — npm, pypi (uvx and pip variants), oci, nuget, cargo, mcpb, and the unrecognized-type fallback.test/protocol.test.jsspawns the real server binary and drives it over actual stdin/stdout pipes — a genuine end-to-end test of the JSON-RPC framing, restricted to the tools that need no network (initialize,ping,tools/list,format_install_command) so the suite never depends on internet access being available wherever it runs.node --checkpasses on every source and test file.
Scope, stated plainly
- Read-only. The registry API also defines optional
publish/update/deleteendpoints gated by bearer auth; this server doesn't implement them — it's a finder, not a publisher. - No live-network integration test ships in this repo. The registry
client's HTTP-calling code is unit-tested against real, recorded API
responses (not live calls) so the suite is deterministic and runs offline;
the request/response shapes were hand-verified against the live registry
while building this. If the registry changes its response shape, the unit
tests won't catch that on their own — recapture the fixtures under
fixtures/from a liveGET /v0/serverscall to re-verify. - Targets the stable spec, not the bleeding edge. The registry's own API
doc set references both a deployed
/v0path and a documented/v0.1OpenAPI schema; this client targets the deployed/v0path (verified live) and exposesbaseUrlas an override (MCP_REGISTRY_FINDER_BASE_URL) in case that changes. Likewise, this server negotiates the current stable MCP protocol versions (2025-06-18/2025-03-26), not the2026-07-28stateless-protocol release candidate, since that RC isn't final or widely supported by hosts yet. - Substring search only.
search_registrymatches on server name, which is what the registry'ssearchquery parameter does server-side — there's no fuzzy or semantic matching layer on top.
License
MIT.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。