Skip to main content
Glama

invalid_indexes

Read-only

Detect invalid indexes from failed CONCURRENTLY builds and duplicate indexes in PostgreSQL to identify cleanup candidates and restore index reliability.

Instructions

[READ] Invalid indexes (failed CONCURRENTLY builds) and duplicate indexes.

Args:
    target: Target name from config; omit for the default.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
targetNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior3/5

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

The readOnlyHint annotation already declares this a safe read, and the [READ] tag merely restates it. The description does add one genuinely useful piece of behavior: that 'invalid' means a failed CONCURRENTLY build, which is not derivable from annotations or schema. It says nothing about output shape or whether duplicates are reported separately.

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-loaded with the operation type and subject, then a short args block that earns its place by explaining the one parameter. No filler, though the '[READ]' prefix is redundant with the readOnlyHint annotation.

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 single-optional-parameter read-only listing tool with no output schema, the description covers what it returns (the two index problem classes) and how to address the target. It is close to complete; only the absence of any selection guidance against sibling index tools keeps it short of full marks.

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 carries the burden, and it does: 'target' is identified as a name from config and the null default is explained as 'omit for the default'. This meaningfully exceeds the bare anyOf[string,null] schema, though it doesn't say what targets are available.

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 precise resource - invalid indexes and duplicate indexes - and even defines the term of art ('failed CONCURRENTLY builds'). An agent can immediately tell this apart from siblings like unused_indexes or index_bloat without opening any schema.

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

Usage Guidelines2/5

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

There is no guidance on when to reach for this tool versus the adjacent index tools (unused_indexes, index_bloat, reindex, drop_index). The only usage-like text, 'omit for the default', is parameter behavior rather than when-to-use context.

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