MCP Harbor Search
Server Details
MCP Harbor directory search: search_servers, get_server, list_categories, recent_servers.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- punkjazz-labs/mcp-harbor-search
- GitHub Stars
- 0
- Server Listing
- mcp-harbor-search
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 6 tools
Two pairs of tools are explicitly identical: get_tool is stated as an alias of get_server, and search_tools an alias of search_servers. Descriptions do call out the aliasing, so an agent won't fail catastrophically, but half the surface has no distinct purpose, which is precisely the kind of artificial overlap that causes misselection.
Five of six tools follow a clean verb_noun snake_case pattern (get_server, get_tool, list_categories, search_servers, search_tools). The lone outlier is recent_servers, which drops the verb and would read more consistently as list_recent_servers.
Six tools is a reasonable, well-scoped count for a directory search server. However, the effective distinct surface is only four operations once the two alias pairs are collapsed, making the set feel slightly padded rather than perfectly lean.
The surface covers the core directory workflows: keyword search, single-listing retrieval, category enumeration, and recency browsing with category/remote-URL filters. Minor gaps remain, such as no pagination or bulk listing tool, but these are workable around via repeated searches.
Available Tools
6 toolsget_serverGet MCP Harbor listingBRead-onlyInspect
Get the full MCP Harbor listing for one server or tool by its slug (as returned by search_servers).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile needs no restating. The description only hints at behavior via the word 'full', contrasting with presumably summarized search results, but says nothing about lookup failures for bad slugs or what the listing contains.
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?
One sentence with no filler, and the key elements (resource, scope, parameter provenance) are all front-loaded.
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 no output schema and no annotations describing the payload, the description leaves 'full listing' undefined, so the agent cannot anticipate the returned fields. For a single-parameter lookup tool this is acceptable but not complete, especially given the unexplained overlap with get_tool.
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 0% and slug is typed only as a bare string, so the description must carry the meaning. It does partially, explaining that the slug is the identifier returned by search_servers, which tells the agent where to get a valid value, though it gives no format example or case-sensitivity detail.
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?
States a specific verb and resource ('Get the full MCP Harbor listing') and pins the scope to exactly one server or tool identified by slug. It weakens slightly by covering both servers and tools, which overlaps the sibling get_tool without saying how they differ.
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?
The parenthetical '(as returned by search_servers)' implies the intended workflow: search first, then fetch details for a chosen slug. There is no explicit when-to-use statement and no guidance on when get_tool or list_categories would be the better choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_toolGet MCP Harbor listingARead-onlyInspect
Get the full MCP Harbor listing for one tool by its slug (as returned by search_tools). Alias of get_server.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that the result is the 'full' listing and that behavior is identical to get_server, which is genuine value. It does not say what happens when a slug is invalid or how large the listing is, which are the remaining behavioral gaps.
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?
Two short sentences, front-loaded with the primary action and followed by the disambiguating alias note. No filler or redundant restatement of the title.
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 one required parameter, no output schema, and full annotation coverage, this description covers nearly everything an agent needs to select and invoke the tool. The only omission is failure behavior for unknown slugs. Return contents need not be spelled out since there is no output schema to rely on, though a hint about what the listing contains would help.
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 single parameter has 0% schema description coverage, so the description must carry the load. It does add meaning by tying the slug to search_tools output, which tells the agent where to obtain a valid value. It does not describe slug format or whether slugs are case-sensitive, so the compensation is partial rather than complete.
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?
States a specific verb and resource: retrieves 'the full MCP Harbor listing for one tool', keyed by slug. It also identifies itself as an alias of get_server, which pre-empts confusion with that sibling. The only weakness is that 'MCP Harbor listing' is somewhat jargon-y about what is actually returned, but the retrieval intent is unambiguous.
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?
The parenthetical '(as returned by search_tools)' tells the agent where the slug comes from and implies the search_tools -> get_tool workflow. Because the tool is an alias of get_server, no further sibling differentiation is needed. It stops short of stating when NOT to use it (e.g., batch retrieval or fetching by server rather than tool).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesList MCP Harbor categoriesARead-onlyInspect
List the category slugs used on MCP Harbor, with their display names and listing counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered structurally. The description adds the payload shape (slugs, display names, counts), which is genuine extra value, but says nothing about result volume, ordering, or whether the list is exhaustive or paginated.
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?
A single sentence with no filler, and the resource identification is front-loaded ahead of the return-value detail. Every clause (slugs, display names, counts) conveys distinct information.
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 no parameters and no output schema, the description bears the burden of describing the return value, and it does so adequately by naming the three fields returned. It stops short of covering ordering or list size, which is a minor but real gap for a listing tool.
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 takes zero parameters, so there is no parameter meaning for the description to supply; the baseline is 4. Nothing in the text misdescribes the input shape.
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 pairs a specific verb ("List") with a specific resource ("category slugs used on MCP Harbor") and states what each entry carries (display names and listing counts). It is clearly distinct from the lookup/search siblings, though it never names them explicitly.
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?
No explicit when-to-use or when-not-to-use guidance is given, and no alternative is named. The usage is only implied: an agent can infer this is the enumeration step that supplies slugs for a later category-filtered search, but that inference is left to the reader.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recent_serversRecent MCP Harbor listingsBRead-onlyInspect
List recently updated MCP servers, optionally filtered by category or by listings that publish an HTTPS remote URL.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| category | No | Optional category slug: search-web, ai-agent-frameworks, cloud-infra, browser-automation, databases, memory-knowledge, other, productivity, developer-tools, finance-crypto, media-design, mcp-clients | |
| remote_only | No | If true, only listings that publish an HTTPS remote URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds the useful scope note that filtering only narrows results, but it does not state the recency window, sort order, or pagination behavior — meaningful gaps for a "recent" listing tool.
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?
A single well-formed sentence with the resource front-loaded and the filter options trailing, with no redundant wording. It is economical, though it could have spent one more clause on the recency definition rather than nothing.
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 three-parameter read-only listing tool with no output schema, the description is mostly adequate. The one substantive omission is what "recently updated" means and how results are ordered, which an agent may need in order to judge whether the output satisfies a freshness requirement.
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?
At 67% schema coverage, the category and remote_only parameters are already documented in the schema, and limit is constrained by default/minimum/maximum. The description restates both filters (including the HTTPS qualifier) without adding syntax, format, or edge-case detail beyond what the schema provides, 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 gives a specific verb and resource ("List recently updated MCP servers") plus the two filtering dimensions, so the agent knows exactly what the call returns at a high level. It stops short of naming how it differs from sibling search_servers, leaving the recency-vs-query distinction implicit.
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?
Phrasing "recently updated" and "optionally filtered" implies the browse-newest use case, which is enough to infer usage. However, there is no explicit statement of when to prefer this over search_servers or get_server, and no mention of prerequisites or result-ordering assumptions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_serversSearch MCP Harbor serversARead-onlyInspect
Search the MCP Harbor directory of MCP servers, clients and SDKs by keyword, optionally filtered by category or by listings that publish an HTTPS remote URL. Returns the best matches ranked by relevance and GitHub stars.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Keywords, e.g. "postgres", "browser automation", "slack" | |
| category | No | Optional category slug: search-web, ai-agent-frameworks, cloud-infra, browser-automation, databases, memory-knowledge, other, productivity, developer-tools, finance-crypto, media-design, mcp-clients | |
| remote_only | No | If true, only listings that publish an HTTPS remote URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds value beyond them by disclosing the ranking model (relevance and GitHub stars), which tells the agent how to interpret result ordering and that popularity influences output.
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?
Two tight sentences, no filler. The corpus and mechanism are front-loaded, with filters and ranking following in a logical order.
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 read-only, four-parameter search with no output schema, the definition covers scope, filtering, and ranking, which is most of what an agent needs. Minor gaps remain around result shape and the limit parameter's effect, but nothing essential to calling it correctly 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 75%, so the schema already documents query, category, and remote_only, and the description mostly restates those in prose. The one undocumented parameter, limit, gets no explanation of its tradeoffs in the description, so no meaning is added beyond the structured fields.
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?
Specific verb (Search) plus the exact resource domain (the MCP Harbor directory of MCP servers, clients and SDKs) and a keyword-based mechanism. It implicitly separates itself from search_tools by naming servers/clients/SDKs as the corpus, though it never names that sibling explicitly.
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?
The keyword-plus-optional-filter framing makes the intended usage implied and obvious, but there is no explicit when-to-use guidance and no routing against siblings like list_categories, recent_servers, or search_tools. An agent must infer that this is the discovery entry point and that get_server is for retrieval of something already found.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_toolsSearch MCP HarborARead-onlyInspect
Search the MCP Harbor directory of MCP servers, clients and SDKs by keyword, optionally filtered by category. Returns the best matches ranked by relevance and GitHub stars. Alias of search_servers.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Keywords, e.g. "postgres", "browser automation", "slack" | |
| category | No | Optional category slug: search-web, ai-agent-frameworks, cloud-infra, browser-automation, databases, memory-knowledge, other, productivity, developer-tools, finance-crypto, media-design, mcp-clients | |
| remote_only | No | If true, only listings that publish an HTTPS remote URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is clear. The description adds that results are ranked by relevance and GitHub stars, but does not discuss limits, result shape, or remote_only 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 two compact sentences with no wasted wording. Core purpose and return-ranking behavior are front-loaded and easy to scan.
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 read-only search tool with good annotation coverage and no output schema, the definition gives enough context to select and invoke it. A little more on alias behavior or result limits would make it fully 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?
Schema description coverage is 75%, with query, category, and remote_only documented in the input schema. The description reinforces keyword and category filtering but adds no new meaning for limit or remote_only, so it meets the baseline without compensating further.
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 states a specific verb and resource: search the MCP Harbor directory of servers, clients, and SDKs by keyword. It also clarifies that this is an alias of search_servers, which helps distinguish it from non-alias siblings, though the alias relationship itself is not fully explained.
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?
Usage is implied by the keyword search and optional category filter, and the alias statement suggests equivalence with search_servers. However, there is no explicit guidance on when to choose this tool over search_servers or other sibling tools.
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.
5 tool updates
- Added
get_server - Added
list_categories - Added
recent_servers - Added
search_servers - Changed
search_tools2 fields changed- changed
Input schema / properties / category / descriptionPrevious value: -"Optional category slug: search-web, ai-agent-frameworks, cloud-infra, browser-automation, databases, memory-knowledge, productivity, developer-tools, finance-crypto, media-design, mcp-clients, other"New value: +"Optional category slug: search-web, ai-agent-frameworks, cloud-infra, browser-automation, databases, memory-knowledge, other, productivity, developer-tools, finance-crypto, media-design, mcp-clients" - added
Input schema / properties / remote_onlyAdded value: +{ + "description": "If true, only listings that publish an HTTPS remote URL", + "type": "boolean" +}
1 tool update
- Changed
search_tools1 field changed- changed
Input schema / properties / category / descriptionPrevious value: -"Optional category slug: search-web, ai-agent-frameworks, cloud-infra, browser-automation, databases, memory-knowledge, productivity, developer-tools, finance-crypto, media-design, other"New value: +"Optional category slug: search-web, ai-agent-frameworks, cloud-infra, browser-automation, databases, memory-knowledge, productivity, developer-tools, finance-crypto, media-design, mcp-clients, other"
2 tool updates
- First observed
get_tool - First observed
search_tools
Related MCP Connectors
Search a nightly-refreshed directory of MCP servers by keyword, category or topic.
Search the mcp.tc directory of MCP servers: URLs, install commands, sign-in types, tools, setup.
Search the public universe of MCP servers. This data comes from the Official MCP Registry.
Search MCP servers in the public mcp-catalog.ru directory.
Related MCP Servers
- 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.57 npm3MIT
- AlicenseNot gradedqualityCmaintenanceEnables discovery and querying of available MCP servers from the official repository. Supports searching by name, description, features, categories, and provides random server suggestions for exploration.7 npm3MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables querying and searching the MCP Hub database to discover MCP servers, view server details, find top servers by popularity or recency, and identify top contributors.-
- AlicenseAqualityCmaintenanceEnables searching a directory of public MCP servers by text, category, transport, language, official or remote status, and scoring a public website for AI-agent readiness from 0 to 100.5MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.