Skip to main content
Glama

flutter_search

Search Flutter and Dart SDK class, enum, mixin, and typedef names to find the right identifier before fetching docs. Ranks exact, prefix, substring, and fuzzy matches from a local index.

Instructions

Search Flutter and Dart SDK class names (plus enums/mixins/typedefs).

Ranks the local search index by name similarity (exact > prefix > substring

fuzzy). Use this to find the right identifier before calling flutter_docs.

Args: query: text to match against class names, e.g. "text field" or "ListView". limit: maximum number of results (default 8).

Returns {"query", "count", "results": [{name, library, kind, url, score}], "index_stale"} or {"error", "suggestion"} when the index is unavailable.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses the ranking algorithm (exact > prefix > substring > fuzzy), the 'index_stale' flag, and the alternate error/suggestion return shape. It doesn't state read-only safety explicitly or mention rate limits, but search semantics make the safety profile unambiguous.

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?

Front-loads purpose and ranking, then organizes Args and Returns into clearly labeled blocks with no filler. The multi-line Returns blob is slightly dense but every sentence earns its place.

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?

There is no output schema, but the description compensates by enumerating the return fields (name, library, kind, url, score) and the failure shape. Combined with parameter docs, an agent has enough to invoke and interpret results correctly; only error-handling guidance is thin.

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?

Schema description coverage is 0%, so the description must compensate, and it does: it defines query as text matched against class names with concrete examples ('text field', 'ListView') and limit as the maximum result count with its default. This is meaningful added value beyond the bare schema, though it is terse.

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?

States a specific verb and resource ('Search Flutter and Dart SDK class names') and clarifies scope with 'plus enums/mixins/typedefs'. It also names the sibling relation to flutter_docs, letting an agent distinguish it from the other lookup tools without opening schemas.

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?

Explicitly instructs the agent to 'find the right identifier before calling flutter_docs', which is clear routing context. It stops short of stating when NOT to use it or naming non-flutter_docs alternatives, so it does not reach a 5.

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