Skip to main content
Glama
S-CurveLabs

io.github.S-CurveLabs/sqlglass

Official
by S-CurveLabs

search_schema

Read-only

Locate tables and columns by name or wildcard pattern, plus tables with descriptions mentioning the term. Find data in unfamiliar databases.

Instructions

Find tables and columns whose name contains the text (or matches a * ? wildcard pattern), plus tables whose description mentions it. The way to locate data in an unfamiliar database.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
patternYes
connectionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior3/5

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

The readOnlyHint annotation already declares the tool is read-only, so the description does not need to repeat that. The description adds that it searches name and description fields and supports wildcards, which is useful behavioral detail. However, it does not disclose the return format (e.g., whether results are grouped by table vs. column) or any pagination/limitations. Given the annotation covers the safety profile, the description adds some value but not extensive behavioral context, warranting a 3.

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 two sentences with no redundant wording. The core function is front-loaded in the first sentence, and the second sentence provides situational context. Every word contributes to understanding the tool's purpose and use case, making it highly concise and well-structured.

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 read-only search tool with two parameters and no output schema, the description is fairly complete. It covers what is searched (tables, columns, descriptions) and the pattern syntax. The connection parameter is not explained, but its purpose is likely evident from the context. The description does not specify the exact result format, but given the tool's simplicity and the annotation coverage, it meets most agent needs. A small gap around result structure prevents a 5.

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 description coverage is 0%, so the description must compensate. It explains the pattern parameter well: 'whose name contains the text (or matches a * ? wildcard pattern), plus tables whose description mentions it' – this gives semantic meaning to the pattern. However, the connection parameter is not explained at all; the schema only shows a default empty string. The description partially compensates for the coverage gap but leaves one parameter unexplained, so a 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 searches tables and columns by name pattern and description mentions, which is a specific verb+resource action. It distinguishes itself from siblings like list_tables (which lists all tables) and describe_table (which describes a specific table) by emphasizing the search/filter aspect, making its purpose unambiguous.

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 usage context: 'The way to locate data in an unfamiliar database.' This tells the agent when to use it (when exploring unknown schema). However, it does not explicitly mention alternatives or when not to use it, such as recommending list_tables for a full listing or describe_table for specific details. The context is clear but exclusions are absent, so it earns a 4.

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