Skip to main content
Glama

Recommend a current DotMoose product

recommend_product
Read-only

Recommend the smallest currently orderable public product set for a goal, or return the workload-specific Dedicated quote handoff when bare metal is explicitly requested. Fixed-product recommendations and optional backup/object-storage components come from live public availability, not a hard-coded price table.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "recommend_product"
  }
}

Input Schema

NameRequiredDescriptionDefault
workloadNounknown
needsRootNo
needsBackupNo
needsDomainNo
expectedTrafficNotiny
needsObjectStorageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint/destructiveHint/openWorldHint annotations already covering safety, the description adds genuinely new behavioral context: results are derived from 'live public availability, not a hard-coded price table', and the bare-metal input silently changes the return type into a quote handoff. That return-type switch is important disclosure, though the overall response shape remains unspecified since no output schema exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences with the core capability front-loaded and the dedicated branch immediately after; little waste. Slightly jargon-heavy phrasing ('workload-specific Dedicated quote handoff') costs a bit of immediate readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-param, all-optional, read-only recommender with no output schema, the description supplies the essential pieces: what is recommended, the data source, and the dedicated-input branch. Remaining gaps are per-parameter details rather than missing behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry parameter meaning; it partially does by mapping 'for a goal' to workload, 'bare metal explicitly requested' to the dedicated value, and naming 'optional backup/object-storage components' for needsBackup/needsObjectStorage. needsRoot, needsDomain, and expectedTraffic get no explanation at all, leaving half the parameters opaque.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('recommend') and a precisely scoped resource ('smallest currently orderable public product set for a goal'), plus the alternate branch that returns a Dedicated quote handoff. An agent can distinguish it from list_public_products or quote_public_product by the recommendation/branching behavior, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage ('for a goal', and the dedicated branch 'when bare metal is explicitly requested'), which does route one scenario correctly. But it never states exclusions or names the alternative siblings (quote_public_product, list_public_products) for raw pricing or catalog browsing, so the agent must infer when not to call this.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.