Recommend Capability
recommend_capabilityReturn the best matching real SqueezeOS capabilities for a natural-language need, including live endpoint/payment metadata and next actions.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
recommend_capabilityReturn the best matching real SqueezeOS capabilities for a natural-language need, including live endpoint/payment metadata and next actions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior; the description adds beyond this by promising live metadata and next actions, signaling dynamic or current data. It does not fully explain external-fetch behavior or output variability, but with strong annotation coverage, this is a reasonable level of disclosure.
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, front-loaded sentence states the core function first and then adds two specific output categories. Every phrase contributes meaning, and there is no repetition of the title or wasted 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?
With no output schema, the description gives some return details but leaves the structure and ranking of results vague. It also lacks any guidance on how this relates to sibling tools, so an agent must infer when this is the right recommendation vs. discovery/comparison 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 descriptions are absent (0% coverage), so the description must compensate. It adds meaning to the required 'query' parameter by defining it as a natural-language need, but it never explains the optional 'limit' parameter beyond what its name/default already imply.
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 names a specific operation—returning best-matching real SqueezeOS capabilities for a natural-language need—with unique output elements (live endpoint/payment metadata, next actions). This distinguishes it from sibling tools like discover_capabilities or inspect_capability without requiring schema inspection.
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 phrase 'for a natural-language need' gives a clear usage context, implying this is the tool to choose when the user expresses intent in plain language. However, it does not explicitly say when not to use it or name alternatives such as discover_capabilities or compare_capabilities.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools have clear ownership: capability inventory tools (manifest, discover, inspect, compare, recommend) and x402 payment tools (contract, readiness, evidence) are cleanly separated, with call_capability and agent_web_access distinguished by API-path vs arbitrary-URL scope. Some overlap remains between discover_capabilities, capability_manifest, and recommend_capability, since all three surface capability inventory in slightly different modes.
The capability tools mostly follow a verb_noun pattern (call_capability, compare_capabilities, discover_capabilities, inspect_capability, recommend_capability), but capability_manifest, system_status, agent_web_access, and the x402_* group are noun phrases rather than actions. This is readable and grouped, but not a single predictable convention.
11 tools is well within the ideal range, and each tool maps to a distinct concern: discovery, inspection, recommendation, invocation, status, and x402 payment support. The count feels appropriately scoped for a capability-and-payment-focused server, neither bloated nor too thin.
The tool set covers the full intended workflow: discover, inspect, compare, and recommend capabilities; invoke them with write confirmation and payment-signature handling; and check payment readiness, contracts, and settlement evidence. Management operations are outside the stated purpose because the manifest is explicitly generated from a Flask route table, so there are no obvious dead ends.