Skip to main content
Glama

search_tools

Read-onlyIdempotent

Find a tool among the user’s connected third-party apps. This is the ONLY way to reach them: they are never listed in tools/list, however few of them there are, so a name you cannot see here is a name you do not have. This connection reaches: Airtable (Pranasri), Google (Pranasri). It indexes THOSE tools and nothing else: it never returns an elaichi__ operation — those administer Elaichi itself and stay listed individually, so an empty result here says nothing about them — and a synthetic (multi-step) tool is here only when it is an entry of a toolbox you can reach; a standalone one is listed by elaichi__synthetic_tool__list and run by elaichi__synthetic_tool__execute. Searching runs entirely inside Elaichi and touches no third party, so it is cheap and safe to call. Returns each match with its exact name, description and input schema. Ranking is lexical over the name, the app and the description, so query with concrete tool-ish words like "create deal" rather than a sentence. Omit the query to browse the first tools instead. Results are paged: a result that reports more matches than it returned carries a next_cursor, and passing it back as cursor gets the next page — so a tool you did not see on page one has not been ruled out. Then call execute_tool with a name exactly as returned, never one you have reformatted or guessed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results (default 10, maximum 50).
queryNoA few concrete words for the action you want, e.g. "create deal". Omit it to list the first tools instead of searching.
cursorNoContinue a previous search. Pass back the `next_cursor` a previous search_tools result gave you, with the same query, to get the following page. Omit it for the first page.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Even though annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, the description adds meaningful behavioral detail: searching "runs entirely inside Elaichi and touches no third party," making it safe and cheap. It also discloses lexical ranking, pagination via next_cursor, and the implication that an empty page does not rule out further tools. This goes well beyond the structured annotations.

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 longer than typical, but nearly every sentence adds distinct value: scope, exclusions, safety, ranking, paging, and the next step. A little redundancy exists with the schema (e.g., "Omit the query to browse the first tools"), but the structure is front-loaded with the core purpose and the boundaries are clearly highlighted. It earns a high score without being fully crisp.

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?

Given that there is no output schema, the description compensates well by stating that each match includes exact name, description, and input schema, and by explaining pagination and how to continue. It also covers the tool's scope boundaries and the follow-up execute_tool call. For a read-only search tool with these annotations and sibling context, nothing essential is missing for correct invocation.

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 schema already has 100% parameter description coverage, so the baseline is 3. The description adds genuinely useful semantics beyond the schema: it explains how to phrase the query (concrete tool-ish words rather than sentences), clarifies that omitting the query browses the first results, and describes cursor behavior with the same query for continued paging. Minor credit is withheld because the description does not elaborate on the limit parameter, but overall it improves parameter understanding.

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 states a specific verb and resource: "Find a tool among the user's connected third-party apps." It clearly differentiates this tool from siblings by emphasizing it is the "ONLY way" to reach those apps, that they are never in tools/list, and that it never returns elaichi__ operations or standalone synthetic tools. This leaves no ambiguity about what the tool is for or how it differs from nearby alternatives.

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

Usage Guidelines5/5

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

The description gives explicit when-to-use and when-not-to-use guidance. It says connected third-party tools are only reachable here, explicitly excludes elaichi__ operations, routes standalone synthetic tools to elaichi__synthetic_tool__list/execute, and instructs the caller to follow up with execute_tool using the exact returned name. This is model-level usage guidance, far beyond a generic statement.

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