MCP Registry Search: find and add MCP servers
Search 31,000+ MCP servers by task, tool or tag, get install configs, and submit new servers.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"mcp-registry-search": {
"url": "https://ai.mcpharbor.dev/mcp"
}
}
}Remote endpoints
https://ai.mcpharbor.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟢search_servers(offset, tag, query, limit, transport)
Search the registry for MCP servers. Matches names, titles, descriptions, tags and the names of the tools each server exposes. Returns short summaries; call get_server for install instructions. Search before submit_server so you don't add a duplicate.
Input Schema
{
"type": "object",
"properties": {
"offset": {
"default": 0,
"type": "integer",
"minimum": 0
},
"tag": {
"type": "string",
"description": "Only servers with this tag, e.g. search."
},
"query": {
"type": "string",
"description": "Free text, e.g. \"github issues\", or a tool name such as \"get_forecast\". Omit to list everything."
},
"limit": {
"default": 10,
"maximum": 50,
"type": "integer",
"minimum": 1
},
"transport": {
"type": "string",
"enum": [
"stdio",
"streamable-http",
"sse"
],
"description": "Only servers with this transport."
}
},
"additionalProperties": false
}🟢get_server(name)
Get one server by its exact name: its server.json manifest, its review status, and ready-to-use install snippets. Use it to check on a server you submitted; status is pending until a maintainer approves it.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Exact server name, e.g. io.github.acme/weather-mcp."
}
},
"required": [
"name"
],
"additionalProperties": false
}🟡submit_server(name, version, description, title, tools, ...)
Add an MCP server to the registry. New submissions are reviewed by a maintainer before they appear in search; get_server shows their status meanwhile. Fill in what you know from the server's README or package metadata. If the result is an error, fix the fields it names and call again. Never include secrets: env_vars takes variable names only, not values.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Unique name: a reverse-DNS namespace you can vouch for, a slash, and a short name. For a GitHub project use io.github.<owner>/<repo>, e.g. io.github.acme/weather-mcp. Lowercase letters, digits, dots, hyphens and underscores."
},
"version": {
"type": "string",
"description": "Current version, e.g. 1.2.0. Defaults to 0.1.0."
},
"description": {
"type": "string",
"description": "What the server does and anything it needs to run, in one or two sentences.",
"maxLength": 1000,
"minLength": 10
},
"title": {
"type": "string",
"description": "Human-readable name, e.g. Weather.",
"maxLength": 120
},
"tools": {
"type": "array",
"description": "Names of the tools the server exposes.",
"items": {
"type": "string"
}
},
"transport": {
"type": "string",
"enum": [
"stdio",
"streamable-http",
"sse"
],
"description": "stdio for a server run locally from a package; streamable-http for a hosted server reached by URL; sse only for older hosted servers."
},
"tags": {
"type": "array",
"description": "Lowercase topic tags, e.g. weather, data.",
"items": {
"type": "string"
},
"maxItems": 12
},
"remote_url": {
"type": "string",
"description": "Required for streamable-http and sse: the URL clients connect to."
},
"package_registry": {
"type": "string",
"enum": [
"npm",
"pypi",
"oci",
"nuget",
"mcpb",
"cargo"
],
"description": "Required for stdio: where the package is published."
},
"package_identifier": {
"type": "string",
"description": "Required for stdio: the package name or image, e.g. @acme/weather-mcp or ghcr.io/acme/weather-mcp."
},
"repository_url": {
"type": "string",
"description": "Source repository URL."
},
"website_url": {
"type": "string",
"description": "Documentation or home page URL."
},
"env_vars": {
"type": "array",
"description": "Names of environment variables the server needs, e.g. WEATHER_API_KEY. Names only.",
"items": {
"type": "string"
}
},
"license": {
"type": "string",
"description": "SPDX license identifier, e.g. MIT."
}
},
"required": [
"name",
"title",
"description",
"transport"
],
"additionalProperties": false
}Community
Evidence