Revuo
Server Details
Agent-callable B2B SaaS directory: capability-structured, continuously verified listings.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.5/5 across 14 of 14 tools scored.
Most tools have clear distinct purposes, but some overlap exists between products.search and products.find_by_capability, and between tools.search and tools.find_for_task. Detailed descriptions help differentiate them, but an agent might still misselect.
The naming follows a rough noun.verb pattern, but there are variations: some verbs use underscores (find_agent_ready, find_by_capability) while others are single-word (list, get, search). The 'mcp.score_server' name deviates from the pattern. Overall readable but inconsistent.
14 tools is well-scoped for a directory service covering product search, detail retrieval, MCP tool discovery, and schema drift detection. Each tool serves a distinct need without excessive redundancy.
The tool surface covers core use cases: browsing categories, searching products, retrieving product/MCP details, and monitoring tool changes. Minor gaps like product submission or user-specific features are absent but not critical for the stated purpose.
Available Tools
14 toolscategories.listARead-onlyInspect
Lists all product categories in the directory. Use category slugs to filter product searches in products.search / products.find_by_capability. Response: { categories: [{ slug, name, description }] }. Note: this is a thin call. For a full directory briefing (subcategories, capability slugs per category, product counts, locked-vertical flags), prefer directory.overview as a single up-front call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| categories | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and openWorldHint. The description adds behavioral context: it's a 'thin call' and specifies the response structure with fields slug, name, description. It does not contradict 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 three sentences, front-loaded with the main action, and every sentence adds value: purpose, relationship to other tools, response format. No redundant words.
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 zero-parameter tool, the description covers all needed context: what it does, output format, and how to use results. Output schema exists externally, so no need to detail return values further.
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 input schema has no parameters, so schema coverage is 100% (vacuously). The description adds no parameter info but explains the response shape. With zero parameters, baseline is 4.
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 verb 'lists' and the resource 'product categories', and explicitly mentions using the returned slugs for filtering in products.search and products.find_by_capability. It distinguishes itself from sibling tool directory.overview by noting it's a 'thin call'.
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 description explicitly advises when to use this tool (for a thin list) and when to prefer directory.overview (for a full briefing). It also indicates the use of slugs for subsequent product searches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
directory.overviewARead-onlyInspect
Single 'call this first' entry-point that briefs an agent on the entire Revuo directory. Returns the taxonomy with subcategories, product counts per category, locked-vertical flags (the three verticals Revuo prioritizes), capability slugs valid per category, and the canonical capability-kind taxonomy (integration/compliance/format/standard/workflow). Use this once at the start of a session to ground every subsequent products.search / products.find_by_capability / tools.find_for_task call. Response: { directory: { name, tagline, url, policyUrl, capabilityKinds[] }, lockedVerticals[], categories[] (each with subcategories[], productCount, isLockedVertical, capabilitySlugs[]), tools: { ...tool-name hints } }.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| tools | No | |
| directory | No | |
| categories | No | |
| lockedVerticals | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, indicating safety and dynamic data. The description adds valuable context by detailing the response structure (e.g., directory object, lockedVerticals, categories) and the session-starting behavior, going beyond what annotations provide.
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 a single sentence followed by a response format. It front-loads the key purpose but is somewhat dense; splitting into clearer sentences could improve readability. Still, every part contributes meaning.
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 no parameters and a detailed output schema in the description, the tool definition is fully complete. It explains what it does, when to use it, and what it returns, with no missing information.
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?
There are no parameters, so schema coverage is 100%. The description adds meaning by explaining the return data structure, meeting the baseline of 4 as per guidelines for zero parameters.
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 it is the 'Single call this first entry-point' for the entire Revuo directory, specifying exactly what it returns: taxonomy, subcategories, product counts, locked-vertical flags, capability slugs, and the canonical capability-kind taxonomy. It distinguishes from siblings by grounding subsequent calls like products.search and tools.find_for_task.
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 description explicitly says to call it once at the start of a session and lists the tools it grounds. While it provides clear context, it does not mention when not to use it or alternatives, though due to its unique role this is not a major gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp.score_serverARead-onlyInspect
Score an MCP server against the Revuo quality rubric. Pass either a product slug (scored from cached probe data on the product's direct-probe MCP entry; fast) OR an endpoint URL (probed live). Returns: { target, server, summary { coreAwarded/Max/Percent, extensionAwarded/Max/Percent, probedAt }, categories[] (ServerMetadata, CapabilityQuality, ConfigurationUX, RevuoExtensions), checks[] (every rubric check with awarded/max/passed/evaluated/fixSuggestion/evidence), topFixes[] (failed checks ranked by points-at-stake), probe (probe diagnostics) }. Core score (max 100) is Smithery-comparable. Extension score covers Revuo-specific signals (response time today; freshness, error envelope, schema stability are not yet implemented and report evaluated=false — excluded from totals, never counted as a failure). A check with evaluated=false is a Revuo gap, not the server's fault. Errors: { error: { code: 'bad_input'|'not_found', ... } }.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | MCP endpoint URL (HTTPS) to probe and score. Mutually exclusive with slug. | |
| slug | No | Product slug whose direct-probe MCP server to score. Mutually exclusive with url. | |
| refresh | No | When passing slug, force a fresh probe instead of using cached probe data. Default false. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| probe | No | |
| checks | No | |
| server | No | |
| target | No | |
| summary | No | |
| topFixes | No | |
| categories | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds significant detail beyond annotations: explains the return structure, that extension score has evaluated=false for unimplemented checks, and error codes. No contradiction with readOnlyHint and openWorldHint 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 well-structured and concise. It front-loads the purpose, then details parameters and return value in a clear, organized manner. Every sentence adds value without redundancy.
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 has only 3 optional parameters and an output schema, the description is very complete. It explains the return fields, the evaluated=false nuance, and error handling. No gaps.
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%, so baseline is 3. The description adds value by explaining the mutually exclusive relationship between slug and url, and the effect of refresh. This helps the agent understand parameter semantics.
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 scores an MCP server against a quality rubric, with two distinct modes (slug for cached, url for live). This distinguishes it from all sibling tools which are about listing, searching, or retrieving products/tools/categories.
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 explains when to use slug vs url, including that slug is fast (cached) and url is live. The refresh parameter is also explained. However, no explicit 'when not to use' is given, but the tool is well-scoped.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
products.find_agent_readyARead-onlyInspect
Find products with the highest agent readiness scores — products that are easiest for AI agents to integrate with. Sorted by compositeScore desc; supports skip/limit pagination. All readiness scores are 0-100, higher better. Calibration: <30 = not agent-ready (default minimumScore filter), 30-49 = early/limited, 50-69 = decent, 70-89 = strong, 90+ = exceptional. Ranking basis: compositeScore desc. Tier is NOT a tiebreaker here — buyer intent is technical fit, not paid placement. Every result carries { position (1-based, within the returned page), rank (0..1; 1.0 = top of this page) } so callers can merge results across tools consistently. Response: { products: [{ position, rank, slug, name, tagline, websiteUrl, tier (free|verified|featured), unverified (true when no approved vendor claim), verifiedAt (ISO; nullable), agentReadiness: { compositeScore, apiScore, protocolScore, sdkScore, integrationScore, dxScore } (each 0-100), mcp?: { hasMcpSupport, totalToolCount, serverCount } }] }.
| Name | Required | Description | Default |
|---|---|---|---|
| skip | No | Number of results to skip (for pagination). Default 0. | |
| limit | No | Maximum number of results to return per page. Caps at 50. | |
| minimumScore | No | Minimum composite agent readiness score (0-100). Higher = more agent-ready. 0 returns everything; 50 is a usable threshold. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| products | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and openWorldHint. Description adds detailed behavioral context: pagination with skip/limit, sorting by compositeScore descending, ranking behavior (position and rank within page), and the fact that tier is not a tiebreaker. This goes beyond what annotations provide, making tool behavior transparent.
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 comprehensive but somewhat lengthy. It front-loads the core purpose and then systematically covers calibration, ranking details, and response structure. Every sentence adds value, but the full response schema could potentially be omitted since an output schema is provided. Still, it's well-structured and efficient.
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 complexity (multiple scoring dimensions, pagination, ranking, output schema), the description is thorough. It explains the scoring calibration, ranking behavior, response structure including nested fields like agentReadiness and MCP info. No obvious gaps for an agent to use this tool correctly.
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 covers all three parameters with descriptions. The description adds valuable calibration context for minimumScore (scores 0-100 with thresholds like <30 not agent-ready, 50+ decent, etc.), which significantly enhances parameter understanding beyond the schema's default and range info.
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?
Description clearly states it finds products with highest agent readiness scores, sorted by compositeScore, with pagination. It distinguishes from siblings by specifying the agent-readiness focus and explaining that tier is not a tiebreaker, setting it apart from general search or ranking tools.
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 description implies usage for finding agent-ready products and provides calibration thresholds for minimumScore, which helps in parameter selection. However, it lacks explicit guidance on when to use this tool versus alternatives like products.search or rankings.get. No 'when not' or alternative tool names are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
products.find_by_capabilityARead-onlyInspect
Find B2B SaaS products that support a specific capability — an integration with a named service ('salesforce-integration'), a data format ('xrechnung-support'), an industry standard ('eclass-support'), or a compliance certification ('soc2'). Accepts either a canonical capability slug or natural language; resolves to a structured capability when possible. Ranking basis: currentScore desc (computed editorial score), then name. Paid tier is NOT a ranking input — it appears only as an annotation. Every result carries { position (1-based), rank (0..1; 1.0 = top, scales linearly down by ordinal position) } so callers can merge results across tools consistently. Response: { capability, matchType (none|exactSlug|canonicalSlug|nlpFallback — exactSlug & canonicalSlug are deterministic; nlpFallback is heuristic), resolvedFeatures[], products[] }. Each product: { position, rank, slug, name, tagline, websiteUrl, tier, unverified (true when no approved vendor claim), verifiedAt, evidence[] (per-claim: featureSlug, evidenceUrl, notes, source, confidence) }. Empty: { capability, matchType, message, suggestedSlugs[] } when no capability matched, or products: [] when capability matched but no products claim it yet.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return | |
| category | No | Optional category slug to scope the search (e.g. 'pim', 'tender-management', 'billing') | |
| capability | Yes | Capability slug ('salesforce-integration') OR natural-language description ('integrates with Salesforce') |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| message | No | |
| products | No | |
| matchType | No | |
| capability | No | |
| suggestedSlugs | No | |
| resolvedFeatures | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and openWorldHint. The description adds detailed behavioral traits: ranking by currentScore then name, paid tier excluded from ranking, position and rank in results, match types (exactSlug, canonicalSlug, nlpFallback). This fully informs the agent of behavior beyond 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 comprehensive and well-structured, starting with purpose then covering ranking, response shape, and empty result handling. It is slightly verbose due to full response detail, but every sentence earns its place given the tool's complexity. Could be trimmed slightly without losing value.
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 (NLP resolution, ranking, varied match types), the description is complete. It covers input handling, ranking logic, response structure (with position/rank), and empty result behavior. The presence of an output schema does not reduce the need for explanation, and the description excels.
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%, so baseline is 3. The description adds substantial meaning: capability accepts natural language, resolves to structured capability; category scopes search; limit is documented. This exceeds the schema definitions and provides rich semantic context.
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's purpose: 'Find B2B SaaS products that support a specific capability.' It enumerates the types of capabilities (integration, data format, industry standard, compliance) and explains that input can be a canonical slug or natural language with resolution fallback. This specificity differentiates it from siblings like products.search or products.find_agent_ready.
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 description implicitly advises when to use the tool (when finding products for a capability) and includes a note that paid tier is not a ranking input. However, it does not explicitly contrast with alternative tools or provide when-not guidance, which would strengthen the dimension.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
products.getARead-onlyInspect
Get full details for a product by slug, including MCP integration data and agent readiness scores. Response: { product: { slug, name, tagline, description, websiteUrl, logoUrl, pricingModel, currentScore (0-100), tier (free|verified|featured), unverified (true when no approved vendor claim), verifiedAt (ISO; absent if never crawled), categories[], knownLimitations?[] (sourced weaknesses, each with evidenceUrl — weigh before recommending), alternatives?[] (neutral, score-ranked same-category options, self excluded, houseProduct disclosed) }, mcp?: { hasMcpSupport, totalToolCount, totalUseCount, servers[] }, agentReadiness?: { compositeScore (0-100), aiSummary } }. Errors: { error: { code: 'not_found', ... } }.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Product slug (URL-friendly identifier) |
Output Schema
| Name | Required | Description |
|---|---|---|
| mcp | No | |
| error | No | |
| product | No | |
| agentReadiness | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds context about response structure and error codes but does not introduce new behavioral traits beyond what annotations convey. It is consistent with annotations (no 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?
Description is well-structured with front-loaded purpose and detailed response breakdown. While somewhat lengthy due to the response schema, the information is organized and each part is relevant. Minor reduction possible but still effective.
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 presence of an output schema, the description is comprehensive. It covers all response fields, error codes, and special notes like unverified flag and known limitations. No gaps in information for a single-parameter lookup 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 coverage is 100% with a single required parameter 'slug' described as 'Product slug (URL-friendly identifier)'. The description mentions slug in text but does not add additional meaning beyond the schema. Baseline score of 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?
Description clearly states it retrieves full product details by slug, including MCP integration and agent readiness scores. The verb 'get' and resource 'product by slug' are specific, and the description distinguishes it from sibling tools like search or specialized MCP endpoints.
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?
Description implies usage for retrieving product details but does not provide explicit guidance on when to use this tool versus alternatives like products.get_mcp_setup or products.search. No when-not-to-use or alternative suggestions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
products.get_mcp_setupARead-onlyInspect
Get MCP server setup instructions for a product. Returns available servers, their tools, connection details, and whether they support remote (hosted) access. Each server carries a machine-usable connect block: { transport ('http'|'local'), url, mcpJson (paste-ready snippet), claudeMcpAddCommand (claude mcp add ...), installLinkUrl (a tracked link that routes through Revuo for vendor attribution, then redirects to the product) }. For remote servers use mcpJson/claudeMcpAddCommand directly; for local servers follow repositoryUrl. Each server also carries schema { hash, stable, lastChangeAt } — cache the hash and pass it to tools.changes(knownHash) later to detect tool-schema drift (rug-pull / tool-poisoning). Response when MCP support exists: { product: { slug, name, websiteUrl, tier, unverified, verifiedAt }, hasMcpSupport: true, totalToolCount, servers[], agentReadiness? }. Response when product exists but lacks MCP: { product: {...}, hasMcpSupport: false, message }. Errors: { error: { code: 'not_found', ... } }.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Product slug (URL-friendly identifier) |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| message | No | |
| product | No | |
| servers | No | |
| hasMcpSupport | No | |
| agentReadiness | No | |
| totalToolCount | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description thoroughly details what the tool returns, including the connect block structure and error cases. It aligns with annotations (readOnlyHint, openWorldHint) and adds useful behavioral context like caching strategies, 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?
The description is front-loaded with the main purpose and then provides detailed yet structured information about the response. While somewhat verbose, every sentence adds value given the tool's complexity.
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?
The description covers the input, output schema (including error responses), usage scenarios, and caching advice. It is fully self-contained, leaving no critical gaps for an AI agent to interpret the tool's behavior.
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 schema coverage is 100% for the single parameter 'slug'. The description repeats the schema's description ('Product slug (URL-friendly identifier)') but does not add new semantic meaning beyond what the schema already provides.
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's purpose: 'Get MCP server setup instructions for a product.' It specifies the exact resource and action, distinguishing it from sibling tools like products.get or products.search by focusing on MCP setup details.
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 description provides specific usage guidance, such as how to handle remote vs local servers and mentions caching the hash for drift detection. However, it lacks explicit comparison to sibling tools or conditions when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
products.searchARead-onlyInspect
Search for B2B SaaS products by name OR by capability. The query is first resolved against the canonical capability taxonomy (e.g. 'salesforce-integration', 'xrechnung-support', 'soc2'); on hit, products that claim that capability are returned. Falls back to name/slug/tagline substring search. Optional category scope. Ranking basis: currentScore desc (computed editorial score), then name. Paid tier is NOT a ranking input — tier appears only as an annotation on results. Every result carries { position (1-based), rank (0..1; 1.0 = top, scales linearly down by ordinal position) } so callers can merge results across tools consistently. Response: { query, matchType (none|exactSlug|canonicalSlug|nlpFallback), resolvedCapabilities[], products[] }. Each product carries { position, rank, tier (free|verified|featured — annotation only), houseProduct (true = built by Revuo's founder; conflict-of-interest disclosure), sponsored (true = paid Featured placement), unverified (true when the listing has no approved vendor claim; omitted otherwise — absence means an approved vendor claim, NOT crawl freshness; use verifiedAt for that), verifiedAt (ISO timestamp of last claim crawl; absent if never crawled), currentScore (0-100), compositeScore (agent-readiness 0-100, nullable), matchedCapability (true if surfaced by capability path) }. Errors: { error: { code: 'not_found'|'bad_input', ... } }.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query — capability slug or natural-language description; falls back to name match | |
| category | No | Optional category slug to filter results |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| query | No | |
| products | No | |
| matchType | No | |
| resolvedCapabilities | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds significant behavioral detail: ranking basis, paid tier not affecting ranking, house product disclosure, unverified flag meaning, error codes, and result attributes. No contradiction with 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 detailed but well-structured: it starts with purpose, then explains fallback, ranking, result fields, and errors. Every sentence adds value, though it could be slightly more concise without losing clarity.
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 complexity of the tool (two search modes, many result fields, error handling), the description is thorough and covers everything needed for correct invocation. The output schema handles return structure, so the description appropriately focuses on semantics and behavior.
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%, so parameters are documented. The description adds value by explaining the query can be a capability slug or natural language, and that category is optional and filters by slug. This goes beyond the schema's basic descriptions.
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 searches for B2B SaaS products by name or capability, with fallback and ranking details. It distinguishes itself from siblings like products.find_by_capability by describing dual search modes, but could explicitly note when to use this vs. that sibling.
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 description explains how the tool works (query resolution, fallback, ranking) but does not provide explicit when-to-use or when-not-to-use guidance, nor does it compare to sibling tools like products.find_by_capability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rankings.getARead-onlyInspect
Get the published editorial ranking ("Best {Category}") for a category. Ordering basis: computed editorial score ONLY (verified capability coverage, evidence verification rate & freshness, agent readiness, data completeness — weights published at /api/methodology). Tier is NOT a ranking input for this tool; positions are never sold. Rankings are published snapshots (monthly schedule; manual publishes are marked) — stable between recomputes and citable. Each entry carries { position, rank (0..1), slug, name, score (0-100), breakdown (raw 0-100 per dimension), tier (annotation only), houseProduct (true = built by Revuo's founder — same formula as everyone, disclosed machine-readably), unverified, verifiedAt }. unrankedCount + unranked[] name the category products that failed an eligibility gate, with reasons. Response: { category, computedAt, methodologyVersion, methodologyUrl, trigger, entries[], unranked[] }. Errors: { error: { code: 'not_found', ... } } — also returned when a category has no published ranking yet.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max ranked entries to return (caps at 50) | |
| category | Yes | Category slug (e.g. 'pim-software'). Use categories.list for valid slugs. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| entries | No | |
| trigger | No | |
| category | No | |
| unranked | No | |
| computedAt | No | |
| methodologyUrl | No | |
| methodologyVersion | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, but description adds substantial context: ordering basis with published weights, tier not an input, positions never sold, publication schedule, stability, and entry details including houseProduct disclosure. No 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?
Description is lengthy but well-structured, each sentence adds value. Front-loaded with purpose and key uniqueness. Could be slightly tighter but efficient for the complexity.
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 output schema exists (implied by detailed response structure in description), the description fully covers return format, errors, and edge cases. Combined with full schema coverage, it is complete for a complex ranking 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 describes both parameters (limit, category) with coverage 100%. Description adds 'caps at 50' for limit and references categories.list for valid slugs, providing useful clarification beyond the schema.
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?
Description uses specific verb 'Get' and resource 'published editorial ranking for a category.' It clearly differentiates from siblings by detailing ordering basis, tier exclusion, and position non-saleability.
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?
Description provides clear context for when to use (get ranking for a category) and references categories.list for valid slugs. However, it does not explicitly state when not to use this tool vs. alternatives like products.search or directory.overview.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tools.changesARead-onlyInspect
Detect whether a product's MCP tool schema has DRIFTED since you cached it — rug-pull / tool-poisoning detection (a server silently changing a tool's description or input schema after you approved it; web search structurally cannot answer this). Pass the product slug and EITHER the schema hash you cached earlier (knownHash, from products.get_mcp_setup → server.schema.hash — the strongest signal: an exact mismatch means the tools changed) OR the ISO-8601 timestamp you cached at (since). With neither, it returns the current fingerprint to cache for next time. A product may expose MULTIPLE servers: knownHash is per-server, so pass server (a qualifiedName) with knownHash on a multi-server product — otherwise knownHash is applied only when there's exactly one server. Re-verify before trusting a previously-approved tool. Response: { product, hasMcpSupport, drifted (did ANY tracked server change vs your reference; null when no reference given), servers[] (each: qualifiedName, currentSchemaHash, schemaStable, lastSchemaChangeAt, toolCount, directlyProbed, driftedSinceKnownHash, driftedSince, advice) }. Errors: { error: { code: 'not_found'|'bad_input', ... } }.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Product slug whose MCP tool schema to check. | |
| since | No | ISO-8601 timestamp you last cached at. Reports whether a schema change was recorded after it. | |
| server | No | The server qualifiedName your knownHash belongs to. Required with knownHash on a multi-server product. | |
| knownHash | No | The schema hash you cached earlier (products.get_mcp_setup → server.schema.hash). Exact-mismatch drift signal. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| drifted | No | |
| message | No | |
| product | No | |
| servers | No | |
| hasMcpSupport | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, and the description adds detailed behavior: multi-server handling, error codes, response fields like drifted and advice. No 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?
The description is well-structured with purpose first, then usage, parameters, response. It is somewhat lengthy but each part adds necessary detail for a complex tool. Could be slightly more concise.
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 4 parameters, output schema, and annotations, the description covers all necessary aspects: usage scenarios, multi-server handling, error codes, response fields. No gaps identified.
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 description further clarifies the conditional usage of parameters (EITHER knownHash OR since, server qualification) and the meaning of each, adding value beyond the schema.
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 starts with a specific verb and resource ('Detect whether a product's MCP tool schema has DRIFTED since you cached it'), clearly distinguishing from sibling tools like tools.get or tools.find_for_task by focusing on drift detection.
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?
It explains when to use (before trusting a previously-approved tool) and provides conditional logic for parameters (use knownHash or since, or neither to cache). It does not explicitly mention alternatives among siblings, but the use case is distinct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tools.find_for_taskARead-onlyInspect
Find the best MCP tools for a given task. Describe what you want to accomplish (e.g. 'manage github issues', 'send slack messages', 'query a database') and get ranked results — each result is one (product, tool) pair, since same-named tools across providers are NOT interchangeable. By default only shows tools available via remote (network-hosted) servers. Audience: agent builders looking for installable MCP tools — for B2B SaaS recommendations, prefer products.search or products.find_by_capability. Ranking basis: relevance score desc (+1 per term hit, +3 for full-phrase hit); within an equal relevance tier, callable-now (Open access) + remote + healthy tools are boosted ahead — never a hard filter (a product-bound tool stays in its own money query), then productName. Paid tier is NOT a ranking input — it appears only as an annotation. Every result carries { position (1-based), rank (0..1; 1.0 = top, scales linearly down by ordinal position) } plus preflight annotations { accessModel (open|keyed|account|commercial), healthScore (0-100, nullable), readOnly, destructive, callableNow (true = usable anonymously right now), setup (one-line 'how to get access' pointer for non-Open tools) }. Response: { task, matchType (none|exactSlug|canonicalSlug|nlpFallback), resolvedCapabilities[], capabilityProducts[] (B2B SaaS products that claim the same capability — empty when matchType=none), results[] (MCP-tool-level matches), buckets { callableNow, requiresSetup } }. Each result: { position, rank, normalizedName, displayName, description, inputSchema, relevance, accessModel, healthScore, readOnly, destructive, callableNow, setup, productSlug, productName, serverQualifiedName, isRemoteCapable, tier, unverified, verifiedAt }. Empty case: { task, matchType, message, suggestedQueries[], suggestedCapabilities[] }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of tool results to return | |
| access | No | Optional access-class filter: 'open' (callable anonymously), 'keyed', 'account', 'commercial', or 'unknown'. Omit for all — Open tools are boosted, not required. | |
| remoteOnly | No | If true (default), only return tools from remote-capable MCP servers | |
| taskDescription | Yes | Natural language description of the task you want to accomplish |
Output Schema
| Name | Required | Description |
|---|---|---|
| task | No | |
| error | No | |
| buckets | No | |
| message | No | |
| results | No | |
| matchType | No | |
| suggestedQueries | No | |
| capabilityProducts | No | |
| resolvedCapabilities | No | |
| suggestedCapabilities | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnlyHint and openWorldHint annotations, describes ranking logic, filtering, result structure, empty case, and preflight annotations in detail.
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?
Long but well-structured, front-loaded with purpose and audience. All sentences are informative, though could be slightly more concise.
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 output schema present, description still covers all aspects: ranking, filtering, results shape, empty case, and audience. Very complete for the tool's complexity.
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%, description adds context like default values, filter meanings, and usage hints (e.g., 'Open tools are boosted'). Not all parameters need extra description.
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?
Explicitly states 'Find the best MCP tools for a given task' with detailed explanation. Distinguishes from siblings like products.search and products.find_by_capability.
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?
Provides explicit when-to-use (task description) and when-not-to-use (B2B SaaS recommendations refer to other tools) with alternative tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tools.getARead-onlyInspect
Get detailed information about a specific MCP tool, scoped to one product. Pass both the productSlug and the tool name — same-named tools across products are distinct. Response: { tool: { normalizedName, displayName, description, inputSchema, productSlug, productName, serverQualifiedName, isRemoteCapable, accessModel, healthScore, readOnly, destructive, tier, unverified, verifiedAt, position (always 1), rank (always 1.0) } }. Errors: { error: { code: 'not_found', ... } }.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Normalized tool name (e.g. 'search_issues', 'send_message') | |
| productSlug | Yes | Slug of the product that exposes this tool (e.g. 'linear', 'github') |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| error | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds behavioral context by detailing the response structure (including fields like normalizedName, displayName, etc., and noting that position and rank are always 1.0) and the error format (with a 'not_found' code). This goes beyond annotations without contradicting them.
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 concise and front-loaded with the primary purpose. It efficiently includes the required parameters, response shape, and error format without extraneous text. Every sentence adds value.
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 simplicity (2 required params, output schema included), the description is complete. Annotations cover read-only and open-world semantics. The description explains the uniqueness constraint, response fields, and possible error. There are no significant gaps for execution.
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 input schema already fully documents both parameters with examples (100% coverage). The description adds value by explaining why both parameters are needed: 'Pass both the productSlug and the tool name — same-named tools across products are distinct.' This clarifies the requirement beyond the schema descriptions.
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's purpose: 'Get detailed information about a specific MCP tool, scoped to one product.' It specifies the verb 'Get' and the resource 'detailed information about a specific MCP tool'. It also explicitly distinguishes this tool from siblings by noting that same-named tools across products are distinct and that both productSlug and tool name are required.
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 description implies when to use this tool: when you have a specific productSlug and tool name to retrieve detailed information. It does not explicitly exclude alternatives like tools.search or tools.list_by_name, but the requirement for exact identifiers and the mention of distinct tools across products provides sufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tools.list_by_nameARead-onlyInspect
List every (product, tool) pair that shares a normalized name. A disambiguation lookup — same name across providers does NOT mean the tools are interchangeable. Ranking basis: productName. Paid tier is NOT a ranking input — it appears only as an annotation. Every result carries { position (1-based), rank (0..1) } plus preflight annotations { accessModel, healthScore, readOnly, destructive }. Response: { normalizedName, total, tools[] (each: position, rank, productSlug, productName, displayName, description, inputSchema, serverQualifiedName, isRemoteCapable, accessModel, healthScore, readOnly, destructive, tier, unverified, verifiedAt) }.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Normalized tool name (e.g. 'search', 'create_issue') |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| tools | No | |
| total | No | |
| normalizedName | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds significant value beyond annotations: it notes ranking basis (productName), that every result carries position and rank plus preflight annotations, and details the response structure. Annotations already declare readOnlyHint=true and openWorldHint=true, and description complements 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?
The description is thorough but not overly verbose. Each sentence adds value, and it is front-loaded with the core purpose. Could be slightly more concise, but structure is effective.
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 that the output schema exists (implied by description of response shape), the description covers all needed aspects: ranking, preflight annotations, and response field details. With one simple parameter and full schema coverage, it is 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 already covers 100% of parameters with a clear description for 'name'. The description reinforces that the name is normalized (e.g., 'search', 'create_issue'), adding slight contextual meaning beyond the schema.
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 explicitly states it 'list every (product, tool) pair that shares a normalized name' with a clear verb 'list' and specific resource. It distinguishes itself as a disambiguation lookup, differentiating from sibling tools like tools.search and tools.get.
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 description clearly defines the tool's context: 'a disambiguation lookup — same name across providers does NOT mean the tools are interchangeable.' It also clarifies that paid tier is not a ranking input. However, it does not explicitly state when to use this tool versus alternatives, though the purpose is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tools.searchARead-onlyInspect
Search for MCP tools by capability. Each result is one (product, tool) pair — tools sharing a name across providers are NOT interchangeable, so each provider's tool is its own row with its own description and input schema. Ranking basis: semantic relevance to the query (embedding search); on the lexical fallback (searchMode='lexical') results are name-ordered and rank does NOT reflect relevance. Paid tier is NOT a ranking input — it appears only as an annotation. Every result carries { position (1-based), rank (0..1; 1.0 = top) } so callers can merge results across tools consistently, plus preflight annotations { accessModel (open|keyed|account|commercial; whether an agent can call it without becoming a customer first), healthScore (0-100, nullable), readOnly, destructive } so you can judge callability and safety BEFORE selecting. Optional access filter narrows to a single access class. Response: { searchMode ('semantic'|'lexical'), tools: [{ position, rank, normalizedName, displayName, description, inputSchema, productSlug, productName, serverQualifiedName, isRemoteCapable, accessModel, healthScore, readOnly, destructive, tier, unverified (true when no approved vendor claim), verifiedAt (ISO; nullable) }] }. Errors: { error: { code: 'bad_input', ... } }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return | |
| query | Yes | Search query to find tools by name or capability. Natural-language phrases work best (semantic search). | |
| access | No | Optional access-class filter: 'open' (callable anonymously), 'keyed', 'account', 'commercial', or 'unknown'. Omit for all. | |
| remoteOnly | No | If true, only return tools available via remote (network-hosted) MCP servers |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| tools | No | |
| searchMode | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=true, and the description adds extensive behavioral details: non-interchangeability of tools across providers, ranking basis, preflight annotations (accessModel, healthScore, etc.), and error handling. No contradiction with 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 detailed but well-structured: it starts with the purpose, then explains result structure, ranking, filters, output schema, and errors. While long, every sentence serves a purpose and there is no redundancy. Could be slightly more concise, but it is efficient for the information conveyed.
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 (4 parameters, output schema, annotations), the description is remarkably complete. It covers ranking logic, preflight annotations for callability, error codes, and how to merge results across tools. The presence of an output schema is noted, but the description still explains the output fields sufficiently.
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% (all 4 parameters have descriptions). The description adds context beyond the schema, such as the default for access, the meaning of lexical fallback for ranking, and the effect of remoteOnly. This adds value without redundancy.
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 'Search for MCP tools by capability' and explains each result is a unique (product, tool) pair. It effectively distinguishes from sibling tools like tools.list_by_name or products.search by focusing on capability-based semantic search.
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 description provides explicit when-to-use context (search by capability) and explains the ranking behavior (semantic vs lexical fallback). It mentions optional filters (access, remoteOnly) but does not explicitly state when not to use this tool versus alternatives. However, the sibling context and clarity make it adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityDmaintenanceGive your AI agent access to 8,400+ software tools — search, compare, get pricing, find alternatives, and discover the best tool for any use case.Last updated202MIT
- Alicense-quality-maintenanceSearch and discover 500+ tools, APIs, and services for AI agents. Browse 15 categories, get recommendations, and access structured metadata including auth methods, free tiers, and example calls.Last updated1
- AlicenseAqualityDmaintenanceEnables AI agents to connect and interact with common business platforms like Shopify, WordPress, and Calendly via pre-built connectors for tasks such as product management, content operations, and scheduling.Last updated13MIT
- Flicense-qualityCmaintenanceMachine-readable directory of AI products that register themselves, plus an agent-readability grader for any URL.Last updated