Find MCP - Agentage MCP Directory
Search the official MCP registry: 17,000+ servers with trust grades, stars, tools, install config.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"find-mcp": {
"command": "npx",
"args": [
"@agentage/find-mcp"
]
}
}
}Ausführbare Pakete
1.7.0stdioRemote-Endpunkte
https://catalog.agentage.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (3)
🟢mcp_search(query, type, category, language, license, ...)
Search the agentage MCP directory - a public catalog of Model Context Protocol servers crawled from the official registry - for servers matching a keyword, optionally narrowed by type, category, language, or license. Use this FIRST whenever the user wants to discover, find, compare, or pick an MCP server ("is there an MCP for X", "which MCP servers do Y"). Results are ranked by text relevance to the query first, then by popularity, so the best match is on top. Returns a page of lean cards (slug, title, description, category, transport, match_score - text relevance the ranking is based on, details_url). To read one server's full packages, tools, and install command, call mcp_get with the slug from a result; open a card's details_url for the human detail page. Valid category, language, and license values come from the mcp_categories tool, not from guesswork - call it before filtering and pass its labels verbatim, or the call is rejected. Read-only - never installs or runs anything.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "What to search for - a keyword, product, capability, or server name (e.g. \"github\", \"postgres\", \"web search\"). Matched across names, titles, and descriptions. Prefer a single distinctive term over a long phrase."
},
"type": {
"type": "string",
"enum": [
"npm",
"pypi",
"oci",
"mcpb",
"nuget",
"remote"
],
"description": "Optional. Restrict to one distribution type: npm | pypi | oci | mcpb | nuget, or \"remote\" for hosted (HTTP) servers. Omit to search every type."
},
"category": {
"type": "string",
"enum": [
"Development & Coding",
"Data & Databases",
"Search & Web",
"AI & Machine Learning",
"Productivity & Docs",
"Communication & Messaging",
"Cloud & DevOps",
"Finance & Crypto",
"Security",
"Media & Design",
"Browser & Automation",
"Knowledge & Memory",
"Commerce & Marketing",
"Other"
],
"description": "Optional. Restrict to one category label. Valid values come from the mcp_categories tool - call it to get the exact labels (with counts) and pass one verbatim; anything else is rejected. Omit for no category filter."
},
"language": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Optional. Restrict to a repository language (e.g. \"TypeScript\", \"Python\"). Exact, case-sensitive; call mcp_categories for valid values. Omit for no language filter."
},
"license": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Optional. Restrict to a license, given either as an SPDX id (\"MIT\", \"Apache-2.0\") or as the full name mcp_categories lists (\"MIT License\"). Omit for no license filter."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Optional. Results per page; defaults to 20, capped at 50."
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "Optional. 1-based page number; defaults to 1. Use pagination.total_pages to page."
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Stable id - pass verbatim to mcp_get for full details"
},
"title": {
"type": "string",
"description": "Human-readable server name"
},
"description": {
"type": "string"
},
"category": {
"type": "array",
"items": {
"type": "string"
},
"description": "AI-assigned category labels"
},
"match_score": {
"type": "number",
"description": "Text relevance the ranking is based on; higher is a closer match to the query"
},
"language": {
"type": "string",
"description": "Primary repository language, when known"
},
"license": {
"type": "string",
"description": "License name, when known, e.g. \"MIT License\""
},
"tool_count": {
"type": "number",
"description": "Number of MCP tools the server exposes, when known"
},
"is_official": {
"type": "boolean",
"description": "Present in the official MCP registry"
},
"transport_types": {
"type": "array",
"items": {
"type": "string"
},
"description": "How the server ships/runs, e.g. [\"npm\"], [\"remote\"]"
},
"details_url": {
"type": "string",
"description": "Human detail page for this server - open it for more information"
}
},
"required": [
"slug",
"title",
"description",
"category",
"is_official",
"transport_types",
"details_url"
],
"additionalProperties": false
}
},
"pagination": {
"type": "object",
"properties": {
"page": {
"type": "number"
},
"limit": {
"type": "number"
},
"total": {
"type": "number"
},
"total_pages": {
"type": "number"
},
"has_more": {
"type": "boolean"
}
},
"required": [
"page",
"limit",
"total",
"total_pages",
"has_more"
],
"additionalProperties": false
},
"query": {
"type": "string",
"description": "The query the backend actually ran"
}
},
"required": [
"results",
"pagination",
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢mcp_get(slug)
Fetch the complete record for ONE MCP server in the agentage directory by its canonical slug: full description, categories, the packages and remote endpoints it ships, the tools it exposes, a ready-to-run install command, and a README excerpt. Use this after mcp_search to get the depth a result card omits - pass a slug exactly as returned by mcp_search. Slugs are canonical and registry-derived ("io-github-github-github-mcp-server"), NOT the plain product name ("github"); if you pass a plain name anyway it is resolved by search as a fallback - a single confident match returns that server (with `resolved_from` set), anything else returns an error naming the candidate slugs to retry with. No slug yet? call mcp_search first. Read-only.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"description": "The canonical slug of one server, taken verbatim from a mcp_search result. Catalog slugs are registry-derived and rarely match the plain product name (e.g. \"io-github-github-github-mcp-server\", not \"github\"), so prefer a slug from mcp_search. A plain name is accepted as a best-effort fallback: it resolves only when exactly one server matches, otherwise the error lists candidate slugs."
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"category": {
"type": "array",
"items": {
"type": "string"
}
},
"language": {
"type": "string"
},
"license": {
"type": "string"
},
"is_official": {
"type": "boolean"
},
"transport_types": {
"type": "array",
"items": {
"type": "string"
}
},
"tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false
},
"description": "The MCP tools this server exposes, from its live tools/list"
},
"packages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"registry_type": {
"type": "string",
"description": "npm | pypi | oci | mcpb | nuget"
},
"identifier": {
"type": "string",
"description": "Package id in that registry"
},
"version": {
"type": "string"
},
"transport_type": {
"type": "string",
"description": "stdio | streamable-http | sse, when declared"
},
"runtime_hint": {
"type": "string"
},
"environment_variables": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"required": {
"type": "boolean"
},
"secret": {
"type": "boolean"
}
},
"required": [
"name"
],
"additionalProperties": false
},
"description": "Env vars the server reads, for setup"
}
},
"required": [
"registry_type",
"identifier"
],
"additionalProperties": false
}
},
"remotes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "e.g. streamable-http, sse"
},
"url": {
"type": "string"
}
},
"required": [
"type",
"url"
],
"additionalProperties": false
}
},
"install": {
"type": "object",
"properties": {
"registry_type": {
"type": "string"
},
"identifier": {
"type": "string"
},
"command": {
"type": "string",
"description": "A suggested command or connection hint to run the server"
}
},
"required": [
"registry_type",
"identifier",
"command"
],
"additionalProperties": false,
"description": "The recommended way to run this server, derived from its first package/remote"
},
"readme_excerpt": {
"type": "string",
"description": "First ~2000 chars of the README; open details_url for the full document"
},
"details_url": {
"type": "string",
"description": "Human detail page for this server - open it for more information"
},
"resolved_from": {
"type": "string",
"description": "Present only when the requested slug was not canonical and was resolved by name; this is what you asked for - use `slug` from now on"
}
},
"required": [
"slug",
"name",
"title",
"description",
"category",
"is_official",
"transport_types",
"tools",
"packages",
"remotes",
"details_url"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢mcp_categories
List the directory's available filter values - every category, language, and license, each with how many servers carry it. Call this BEFORE mcp_search when you intend to filter, so you pass exact, existing values for the type/category/language/license arguments instead of guessing. Takes no input. Read-only.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"count": {
"type": "number"
}
},
"required": [
"name",
"count"
],
"additionalProperties": false
},
"description": "Category labels and how many servers carry each"
},
"languages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"count": {
"type": "number"
}
},
"required": [
"name",
"count"
],
"additionalProperties": false
},
"description": "Repository languages and their server counts"
},
"licenses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"count": {
"type": "number"
}
},
"required": [
"name",
"count"
],
"additionalProperties": false
},
"description": "License names and their server counts"
}
},
"required": [
"categories",
"languages",
"licenses"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Community
Nachweis