Skip to main content
Glama

search_rows

Find records in any dataset using exact filters or typo-tolerant fuzzy search, with sorting and pagination for precise retrieval.

Instructions

Search rows with exact filters, or typo-tolerant fuzzy matching, with sorting and pagination.

Two search modes:

  • Exact: pass conditions built from {column, op, value}. Ops: eq, ne, gt, gte, lt, lte, contains, in, between, is_empty, is_not_empty. Combine conditions to narrow further (AND).

  • Fuzzy: pass fuzzy=true plus a query string to match string/text columns tolerantly against typos and misspellings ("Rahual" finds "Rahul Sharma"). Results are ordered by similarity and carry an _score. Narrow with fuzzy_columns to search only specific text columns.

Results are always paginated: page with next_offset instead of raising the limit, and request only the columns you need via columns.

Args: dataset: Exact dataset name, e.g. "Candidates". conditions: Exact-mode filters, e.g. [{"column": "stage", "op": "eq", "value": "Applied"}]. fuzzy: Set true for typo-tolerant matching (requires query). query: Text to fuzzy-match, e.g. "Rahual". fuzzy_columns: Optional text columns to fuzzy-match against (default: all text columns). fuzzy_threshold: Minimum similarity score 1-100 (default 80). sort_by: Column to sort by (exact mode). sort_order: "asc" (default) or "desc". limit: Page size 1-100 (default 20). offset: Rows to skip for pagination (default 0). columns: Column projection, e.g. ["name", "stage"]; id is always included.

Returns: {"ok": true, "dataset", "rows": [{"id", ...columns, "_score"?}], "total": , "count": , "next_offset": }.

Example: search_rows(dataset="Candidates", conditions=[ {"column": "applied_on", "op": "between", "value": ["2026-08-01", "2026-08-31"]}, {"column": "stage", "op": "ne", "value": "Rejected"} ], sort_by="applied_on", sort_order="desc", columns=["name", "stage"]) search_rows(dataset="Candidates", fuzzy=true, query="Rahual", fuzzy_columns=["name"])

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fuzzyNo
limitNo
queryNo
offsetNo
columnsNo
datasetYes
sort_byNo
conditionsNo
sort_orderNoasc
fuzzy_columnsNo
fuzzy_thresholdNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/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 delivers thoroughly. It explains pagination behavior ('page with next_offset instead of raising the limit'), fuzzy result ordering by similarity, the inclusion of _score in fuzzy mode, and that id is always included in column projection. These details go far beyond the schema and give the agent a precise model of the tool's runtime behavior.

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 long, but every section earns its place given the 11 parameters and two distinct modes. It is well-structured with a summary, mode explanations, an Args list, Returns format, and two concrete examples. Information is front-loaded, and the format makes scanning easy.

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?

The description covers the full behavior of the tool, including exact and fuzzy modes, operator semantics, pagination, sorting, projection, output shape, and example calls. For a read-oriented search tool with no annotations, this is complete enough for an agent to select and invoke it correctly without further clarification.

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

Parameters5/5

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

Schema description coverage is 0%, but the description compensates completely by documenting every parameter with types, defaults, formats, and examples. It explains the structure of conditions, the supported operators, limits on limit, the meaning of fuzzy_threshold, and the projection behavior of columns. This is exemplary parameter documentation.

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 opens with a specific verb and resource: 'Search rows with exact filters, or typo-tolerant fuzzy matching, with sorting and pagination.' This clearly distinguishes it from siblings like get_row (single row lookup) and summarize_dataset (aggregation). The two search modes are explicitly named and explained, making the tool's purpose unmistakable.

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 provides clear guidance on when to use exact mode versus fuzzy mode, including the conditions required for each and examples. It does not explicitly contrast search_rows with sibling tools like get_row or validate_rows, so there are no exclusion rules, but the usage context is otherwise well defined.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kanishk393/mdm-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server