Skip to main content
Glama
kouko

redshift-comment-mcp

by kouko

Search Columns

search_columns

Find Redshift columns by keywords in column names or comments. Provide schema and optional table scope to locate matching columns for data discovery or cross-table join-key analysis.

Instructions

Search columns by keywords (space-separated, OR logic) over column name and comment.

schema_name is required. Pass table_name to scope to one table (cheap; use this for routine drill-down). Omit table_name to search every table in the schema (schema-wide; the natural primitive for cross-table FK / JOIN-key reconnaissance, returns table_name on each row).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
keywordsYes
table_nameNo
schema_nameYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are present, so the description carries the full burden. It discloses the search logic (space-separated OR), scoping behavior, and return field when table_name is omitted. However, it does not explicitly state that the operation is read-only or non-destructive, nor does it mention ordering or pagination behavior. The disclosed traits are useful and accurate, but the absence of an explicit read-only statement leaves a minor gap.

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, front-loaded with the primary purpose, and packs essential usage guidance without fluff. Every clause adds value, from OR logic to the table_name scoping trade-off. It is a model of efficient, high-info documentation.

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 the output schema exists (which likely documents return format), the description covers the main usage patterns and return behavior. However, the missing limit/offset semantics is a notable gap for a schema-wide search that could return many rows. There is also no mention of result ordering or potential size limits, so the agent may not know how to handle large result sets. Overall, it is solid but not fully exhaustive.

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 explain all parameters. It explains keywords, schema_name (required), and table_name (optional with usage details), but does not mention limit or offset at all. These pagination parameters are left undocumented, forcing the agent to guess their semantics. The explanation covers the core parameters but is incomplete for a 5-parameter tool.

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 ('Search'), a resource ('columns'), and the search scope ('column name and comment'). It clearly distinguishes this from sibling tools like list_columns and search_tables by focusing on keyword-based column search with OR logic. The purpose is unambiguous and actionable.

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 explicitly tells when to use table_name (routine drill-down, cheap) versus omitting it (schema-wide, natural for cross-table FK/JOIN reconnaissance). It provides concrete use cases and even notes the return behavior for the schema-wide mode. This is strong guidance that helps the agent choose the right call without extra reasoning.

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