Skip to main content
Glama

find_best_tool

Given a natural-language question about which AI tool or API is best for a task (currently transcription, text-to-speech, web search, scraping & browser and ocr & document extraction), return Syftly's ranked recommendation: a citeable summary, a provider table with prices and trade-offs, dated sources, and a confidence label. Ask in plain English about price, accuracy, language or capability trade-offs — e.g. 'best OCR API for scanned PDFs' or 'best web scraping API for JavaScript-heavy sites'. Optionally pass "category" to disambiguate; otherwise it is detected from the question.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesThe question in natural language, e.g. 'best transcription API for Dutch'.
categoryNoOptional category id to disambiguate the question; omit to let Syftly detect it.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYes
queryYesThe human question (page H1).
routingYesHonest routing outcome: 'matched' = answered from a real category; 'none' = no category matched (out-of-scope/gibberish) — an honest no-match, not a fabricated answer; 'ambiguous' = fit 2+ categories. 'none'/'ambiguous' carry `categories` and no real recommendation/providers.
sourcesYes
summaryYesCiteable summary, 40-80 words, reused verbatim across all views. On a no-match, the plain-language message.
updatedYesISO date.
categoryYese.g. 'transcription'; '' on a no-match.
providersYes
categoriesNoPresent only when routing !== 'matched': the supported categories so the caller can re-ask in scope.
confidenceYesConfidence/depth label.
recommendationYes

TDQS

A4.4/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 of behavioral disclosure, and it does so well: it explains that the tool returns a ranked recommendation, citeable summary, provider table with prices/trade-offs, dated sources, and a confidence label. It also discloses that category detection is automatic unless the optional category parameter is passed. It stops short of describing edge-case behavior (e.g., unsupported categories or unknown questions), but the core runtime behavior is transparent.

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

Conciseness5/5

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

The description is a single compact paragraph with three purposeful sentences: what it does and returns, how to phrase queries with examples, and how the optional category parameter behaves. Every sentence earns its place, and the most important information is front-loaded.

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?

Given that an output schema exists, the description does not need to explain return values in detail, but it still names the key output components. It also covers the input style, supported categories, and category-detection behavior. It could add caveats about unsupported domains or failure modes, but overall it is sufficiently complete for a tool of this complexity.

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

Parameters4/5

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

The input schema already covers both parameters with 100% coverage, giving the baseline of 3. The description adds meaningful context beyond the schema: it clarifies that the query should be in plain English and can mention price, accuracy, language, or capability trade-offs, and it explains the purpose of the optional category parameter as a disambiguator with automatic detection when omitted.

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 a specific purpose: given a natural-language question about choosing an AI tool/API, it returns a ranked recommendation with a cited summary, provider table, dated sources, and confidence label. It also enumerates the supported categories and gives concrete examples, making the tool's function unambiguous even without siblings.

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?

The description explicitly tells the user when to use the tool ('Given a natural-language question about which AI tool or API is best...') and instructs them to ask in plain English about trade-offs like price, accuracy, language, or capability. It does not state when not to use it or mention alternatives, but with no sibling tools provided, this is a minor gap.

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.

TDQS

A4.4/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion between tools. The tool's purpose is clearly defined and unique.

Naming Consistency5/5

The single tool uses a clear snake_case verb_noun pattern ('find_best_tool'), which is predictable and readable even though there is only one tool.

Tool Count3/5

One tool is on the borderline of feeling thin, but it serves a single, well-defined purpose. Still, a server with one tool feels minimal and could benefit from additional related tools.

Completeness5/5

The tool completely covers its stated scope, handling multiple categories (transcription, TTS, web search, scraping, OCR) with optional category disambiguation. There are no obvious missing operations within its intended purpose.

Resources