Find MCP - Agentage MCP Directory
Server Details
Search the official MCP registry: 17,000+ servers with trust grades, stars, tools, install config.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: mcp_categories lists filter values, mcp_search finds servers, and mcp_get retrieves full details for a single server. There is no overlap or ambiguity in their responsibilities.
All tools use the mcp_ prefix, but the pattern is slightly mixed: mcp_search and mcp_get are verb-first, while mcp_categories is a noun. The convention is still predictable and readable, so this is a minor deviation.
Three tools is exactly right for a directory service: one to discover filter options, one to search, and one to fetch details. No tool is redundant or missing.
The tools cover the complete read-only workflow for the domain: browse categories, search with filters, and inspect a server's full record. There are no dead ends or obvious gaps; the dependency between mcp_categories and mcp_search is well-documented.
Available Tools
3 toolsmcp_categoriesList directory filter valuesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| licenses | Yes | License names and their server counts |
| languages | Yes | Repository languages and their server counts |
| categories | Yes | Category labels and how many servers carry each |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and non-destructive. The description adds context about the return content (every category, language, license with server counts) and confirms it takes no input. This goes beyond annotations, though it omits potential rate limits or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the first sentence states the core purpose, the second gives usage timing, and the final clauses confirm no input and read-only nature. Every sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-input, read-only listing tool with an output schema, the description fully covers what is returned, when to call it, and its safety profile. It also addresses the relationship with mcp_search, making it contextually complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description confirms 'Takes no input,' matching the empty schema. No further parameter explanation is necessary or possible.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('directory's available filter values'), enumerates the exact contents (category, language, license) and includes counts. It clearly distinguishes itself from sibling mcp_search by establishing itself as the precursor for obtaining valid filter values.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance states 'Call this BEFORE mcp_search when you intend to filter' and instructs the agent to pass exact, existing values instead of guessing. This directly tells when to use the tool relative to the alternative sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_getGet one MCP serverARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | 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. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| slug | Yes | |
| title | Yes | |
| tools | Yes | The MCP tools this server exposes, from its live tools/list |
| install | No | The recommended way to run this server, derived from its first package/remote |
| license | No | |
| remotes | Yes | |
| category | Yes | |
| language | No | |
| packages | Yes | |
| description | Yes | |
| details_url | Yes | Human detail page for this server - open it for more information |
| is_official | Yes | |
| resolved_from | No | 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 |
| readme_excerpt | No | First ~2000 chars of the README; open details_url for the full document |
| transport_types | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral context: slug canonicalization rules, fallback resolution with `resolved_from`, and error listing candidate slugs. This goes well beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but every sentence earns its place: purpose, contents, usage sequence, slug format, fallback behavior, and read-only note. It is front-loaded and well organized with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter, an output schema present, and annotations covering safety, the description covers all needed context: when to use, how to source the slug, fallback behavior, and read-only nature. No significant gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the slug parameter's schema description already includes verbatim-from-search guidance, canonical format, and fallback behavior. The tool description adds minimal new meaning beyond this, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches one MCP server's complete record by canonical slug, enumerating the contents (description, categories, packages, endpoints, tools, install command, README). It distinguishes itself from mcp_search by noting it provides depth beyond result cards.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use this after mcp_search and to call mcp_search first if no slug is available. It also explains the fallback resolution for plain names and error behavior, giving unambiguous when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_searchSearch the MCP directoryARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Optional. 1-based page number; defaults to 1. Use pagination.total_pages to page. | |
| type | No | Optional. Restrict to one distribution type: npm | pypi | oci | mcpb | nuget, or "remote" for hosted (HTTP) servers. Omit to search every type. | |
| limit | No | Optional. Results per page; defaults to 20, capped at 50. | |
| query | Yes | 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. | |
| license | No | 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. | |
| category | No | 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 | No | Optional. Restrict to a repository language (e.g. "TypeScript", "Python"). Exact, case-sensitive; call mcp_categories for valid values. Omit for no language filter. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | The query the backend actually ran |
| results | Yes | |
| pagination | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations, the description adds ranking behavior ('ranked by text relevance to the query first, then by popularity'), result card contents, and a hard rejection when invalid category values are passed. It also states 'Read-only - never installs or runs anything,' reinforcing the annotation without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Though longer than typical descriptions, every sentence carries distinct value: purpose, usage guidance, ranking behavior, return format, integration with siblings, filtering prerequisites, and safety. It is front-loaded with the core purpose and remains tightly structured with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 params, search semantics, pagination, sibling interactions) and the presence of an output schema, the description covers all necessary context: what to search, how results are ranked and returned, how to drill down via mcp_get, and filtering prerequisites. No critical operational detail is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already provides detailed parameter descriptions (e.g., query guidance to 'Prefer a single distinctive term', category enums, license format). The description adds minor reinforcement by reminding the agent to call mcp_categories and pass labels verbatim, but that is already largely present in the schema. It does not significantly deepen parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource+scope: 'Search the agentage MCP directory ... for servers matching a keyword, optionally narrowed by type, category, language, or license.' This clearly distinguishes it from siblings mcp_get (fetch full details) and mcp_categories (get valid filter values).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this FIRST whenever the user wants to discover, find, compare, or pick an MCP server' and directs to 'call mcp_get with the slug from a result' for full details, plus to call mcp_categories before filtering. This provides clear when/when-not guidance and names alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
mcp_search1 field changed- changed
Input schema / properties / category / descriptionPrevious value: -"Optional. Restrict to one category label. Must be an exact value from this taxonomy - call mcp_categories to see the categories that actually exist with their counts. Omit for no category filter."New value: +"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."
3 tool updates
- Changed
mcp_categories1 field changed- changed
Output schema / properties / licenses / descriptionPrevious value: -"SPDX licenses and their server counts"New value: +"License names and their server counts"
- Changed
mcp_get2 fields changed- changed
Input schema / properties / slug / descriptionPrevious value: -"The exact slug of one server, taken verbatim from a mcp_search result (do not guess or construct one)."New value: +"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." - added
Output schema / properties / resolved_fromAdded value: +{ + "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", + "type": "string" +}
- Changed
mcp_search2 fields changed- changed
Input schema / properties / license / descriptionPrevious value: -"Optional. Restrict to an SPDX license id (e.g. \"MIT\", \"Apache-2.0\"). Exact; call mcp_categories for valid values. Omit for no license filter."New value: +"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." - changed
Output schema / properties / results / items / properties / license / descriptionPrevious value: -"SPDX license id, when known"New value: +"License name, when known, e.g. \"MIT License\""
3 tool updates
- First observed
mcp_categories - First observed
mcp_get - First observed
mcp_search
Related MCP Connectors
Search 31,000+ MCP servers by task, tool or tag, get install configs, and submit new servers.
Find the right MCP server for your task. 4,500+ servers ranked by community trust.
Trust verification for MCP servers. Check scores, scan for security issues, search 4,200+ servers.
Search 77,000+ MCP servers ranked by real adoption data to find the right one for any task.
Related MCP Servers
- AlicenseCqualityDmaintenanceEasily find MCP servers using our MCP registry. Search with natural language.15MIT
- AlicenseNot gradedqualityDmaintenanceEnables searching and retrieving detailed information about MCP servers from the official MCP registry. Provides tools to list servers with filtering options and get comprehensive details about specific servers.26 npm3MIT
- AlicenseAqualityDmaintenanceSearch and evaluate MCP servers from your AI agent: quality grades, live verification status, install commands and client compatibility for 5,000+ servers.473 npm1MIT
- AlicenseAqualityDmaintenanceProvides intelligent recommendations for MCP servers based on development needs using natural language queries. Searches through 874+ curated MCP servers across 36+ categories with advanced matching algorithms.35MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.