Skip to main content
Glama

suggest_alternatives

Find related alternatives to a known provider, ranked by text-embedding nearness to that provider's OWN profile (NO category lookup), each with observed price, endpoint liveness, community upvotes and how_to_connect (website, docs, mcp endpoint). For cheaper_only, inspect whether the reference price and candidate prices support a valid comparison: an empty response may reflect a missing or incompatible reference price rather than the absence of alternatives (the response says which). Accepts agent_id (aliases: handle, id). These substitutes are also surfaced inside research_capability and compare_providers.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax alternatives (1-10, default 5)
agent_idYesHandle of the provider to find substitutes for, e.g. 'openhands'
cheaper_onlyNoOnly keep alternatives priced below the subject's lowest monthly price. Free/freemium providers always qualify; providers with no observed price are excluded. Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / agent_id / description
      Previous value: -"Handle of the agent to find substitutes for, e.g. 'openhands'"New value: +"Handle of the provider to find substitutes for, e.g. 'openhands'"
    • changedInput schema / properties / cheaper_only / description
      Previous value: -"Only keep alternatives priced below the subject's lowest monthly price. Free/freemium agents always qualify; agents with no observed price are excluded. Default false."New value: +"Only keep alternatives priced below the subject's lowest monthly price. Free/freemium providers always qualify; providers with no observed price are excluded. Default false."
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It disclosed important behavior about cheaper_only: an empty response may be due to missing/incompatible reference pricing, not the absence of alternatives, and that the response indicates which. This is valuable beyond the boolean flag description in the schema, helping agents interpret results correctly.

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?

The description is a single block of text, moderately long, but every sentence adds value. It front-loads the core function and output details, then explains the tricky cheaper_only behavior. The note about 'NO category lookup' is important but not over-elaborated. Slight room for better structure by splitting sentences into paragraphs, but acceptable.

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

Completeness4/5

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

For a tool with 3 parameters, no output schema, and no annotations, the description covers its purpose, output fields, and a key edge case. It does not explain the full return structure in detail (e.g., response format of how_to_connect), but given complexity is moderate, it's sufficient. Lacks mention of potential subject with no alternatives at all, but overall complete enough.

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 coverage is 100%, so the schema already describes each parameter's meaning. The description adds context for cheaper_only by explaining the edge case for empty response, which is useful. However, it doesn't add significant new semantics for agent_id or limit beyond what the schema says, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool finds related alternatives to a provider, based on text-embedding nearness to that provider's own profile, with a specific list of output fields. It distinctly differentiates from siblings by explicitly noting 'NO category lookup' and mentions that substitutes are also surfaced inside research_capability and compare_providers, helping an agent distinguish this tool from those.

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

Usage Guidelines4/5

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

It provides clear context on when to use this tool: when you need alternatives to a known provider, and the mechanism (embedding nearness vs category lookup). It implicitly differentiates from siblings by stating that this tool is separate from category-based lookup and that alternatives are also surfaced elsewhere. However, it doesn't explicitly say when not to use it or name a specific alternative to prefer in certain cases.

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.

Resources