MCP Finder
Find an MCP server for any task: searches the official registry, Smithery and npm; remote-first. Remote MCP server over Streamable HTTP at
https://findanmcp.com/mcp. Free, no API key. Tools:find_mcp,mcp_details. The tool list is fixed per version.
MCP Finder answers "is there an MCP server for X?" in one call. It federates the official MCP Registry (registry.modelcontextprotocol.io), the Smithery registry (with live use counts) and npm, dedupes the hits, ranks remote Streamable HTTP servers first, and returns the install snippet for the caller's own client. A second tool returns one server's tool list and connection details so an agent can decide before installing. Free, keyless, no account.
Use when: The user or agent needs a capability (an API, a data source, a SaaS action) and wants to know whether an MCP server already exists for it, which one is maintained and remote, and how to install it.
Not for: Calling the found server's tools (install it instead), or building a new MCP server.
Quick install (Claude Code): claude mcp add --transport http mcpfinder https://findanmcp.com/mcp -s user
Docs
- Full reference: every tool with its JSON input schema and an example
- Install for any client: Claude Code, Cursor, VS Code, Claude Desktop, ChatGPT, Codex, Gemini CLI, Windsurf, Cline, Continue, Zed
- OpenAPI twin: the same tools as plain HTTP POST endpoints
- Registry server.json: machine-readable server record
Upstreams
- MCP Registry: keyless
- Smithery registry: keyless
- npm search: keyless
Optional
Tools
| Tool | Purpose | Effects |
|---|---|---|
find_mcp |
Search for existing MCP servers that provide a capability (e.g. "postgres", "wayback machine", "google sheets"). Federates the official MCP Registry, Smithery (with live use counts) and npm; dedupes; ranks remote Streamable HTTP servers first. Returns name, description, remote URL or package, popularity, last update and an install snippet. Use before building or asking the user to build a tool. | read-only, open-world, idempotent |
mcp_details |
Get one MCP server's tool list, transports and install details by its name as returned by find_mcp (registry name like "io.github.owner/server", "smithery:owner/server", or "npm:package"). Use to check a server exposes the tool you need before installing it. | read-only, open-world, idempotent |
Every tool takes task_context: one sentence on what the user is trying to do. It is required.
find_mcp
Search for existing MCP servers that provide a capability (e.g. "postgres", "wayback machine", "google sheets"). Federates the official MCP Registry, Smithery (with live use counts) and npm; dedupes; ranks remote Streamable HTTP servers first. Returns name, description, remote URL or package, popularity, last update and an install snippet. Use before building or asking the user to build a tool.
Input schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "What capability you need, as 1-5 keywords (an API name, a product, a data source). Not a sentence."
},
"limit": {
"default": 8,
"description": "Max results after ranking. Default 8.",
"type": "integer",
"minimum": 1,
"maximum": 25
},
"remote_only": {
"default": false,
"description": "Only servers reachable over HTTP without installing anything locally.",
"type": "boolean"
},
"task_context": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "One sentence on what the user is ultimately trying to do (the task this call serves). Required; it tunes the result and is how this free service learns what agents need."
}
},
"required": [
"query",
"limit",
"remote_only",
"task_context"
],
"additionalProperties": false
}
Example arguments:
{
"query": "wayback machine",
"limit": 5,
"remote_only": false,
"task_context": "example: Search for existing MCP servers that provide a capability (e"
}
mcp_details
Get one MCP server's tool list, transports and install details by its name as returned by find_mcp (registry name like "io.github.owner/server", "smithery:owner/server", or "npm:package"). Use to check a server exposes the tool you need before installing it.
Input schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 3,
"maxLength": 200,
"description": "Exact name from find_mcp results."
},
"task_context": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "One sentence on what the user is ultimately trying to do (the task this call serves). Required; it tunes the result and is how this free service learns what agents need."
}
},
"required": [
"name",
"task_context"
],
"additionalProperties": false
}
Example arguments:
{
"name": "smithery:brave",
"task_context": "example: Get one MCP server's tool list, transports and install detai"
}
Install
Endpoint: https://findanmcp.com/mcp (Streamable HTTP, MCP 2026-07-28 with 2025-era fallback). Authentication: none.
Claude Code
claude mcp add --transport http mcpfinder https://findanmcp.com/mcp -s user
Cursor / Cosmos (~/.cursor/mcp.json)
{
"mcpServers": {
"mcpfinder": {
"url": "https://findanmcp.com/mcp"
}
}
}
VS Code / Copilot (user mcp.json)
{
"servers": {
"mcpfinder": {
"type": "http",
"url": "https://findanmcp.com/mcp"
}
}
}
or code --add-mcp '{"name":"mcpfinder","type":"http","url":"https://findanmcp.com/mcp"}'
Claude Desktop / claude.ai
Settings → Connectors → Add custom connector → URL https://findanmcp.com/mcp, Authentication: None.
Claude Desktop / claude.ai
Settings → Connectors → Add custom connector → URL https://findanmcp.com/mcp, Authentication: None.
ChatGPT
Settings → Connectors → Add custom connector → https://findanmcp.com/mcp. Desktop app / Codex share ~/.codex/config.toml:
[mcp_servers.mcpfinder]
url = "https://findanmcp.com/mcp"
Codex CLI (~/.codex/config.toml)
[mcp_servers.mcpfinder]
url = "https://findanmcp.com/mcp"
Gemini CLI
gemini mcp add --transport http mcpfinder https://findanmcp.com/mcp -s user
(settings.json uses httpUrl, not url.)
Windsurf (~/.codeium/windsurf/mcp_config.json)
{
"mcpServers": {
"mcpfinder": {
"serverUrl": "https://findanmcp.com/mcp"
}
}
}
Cline
{
"mcpServers": {
"mcpfinder": {
"type": "streamableHttp",
"url": "https://findanmcp.com/mcp"
}
}
}
Continue (.continue/mcpServers/mcpfinder.yaml)
name: mcpfinder
mcpServers:
- name: mcpfinder
type: streamable-http
url: https://findanmcp.com/mcp
Zed (settings.json)
{
"context_servers": {
"mcpfinder": {
"source": "custom",
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://findanmcp.com/mcp"
]
}
}
}
Any MCP client
Streamable HTTP endpoint: https://findanmcp.com/mcp
{
"mcpServers": {
"mcpfinder": {
"url": "https://findanmcp.com/mcp"
}
}
}
This page documents a server. It does not ask the reader to change any rules file, memory file, or host configuration.
Run it yourself
npm install && npm start # http://127.0.0.1:8080/mcp
docker compose up -d --build # same, in a container
node scripts/smoke.mjs http://127.0.0.1:8080 find_mcp '{}'
Built with the agie MCP factory kit (kit/): Streamable HTTP MCP plus agent-readable docs (llms.txt, server.json, install pages, a REST twin), all from one manifest (servers/mcpfinder/mcp.factory.json). This repo is the server logic only; no telemetry is collected or sent by this code. MIT.