Skip to main content
Glama
igorolv

jdbc-mcp-server

redundantIndexes

redundantIndexes
Read-onlyIdempotent

Identify structurally redundant database indexes by detecting non-unique indexes whose leading columns form a strict prefix of another same-type index, independent of workload usage.

Instructions

Find structurally overlapping non-unique indexes whose leading columns are a strict prefix of another same-type index. Unlike unusedIndexes, this does not depend on workload scan counters.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tableNoOmit to scan the schema.
schemaNo
connectionYesDatabase to run against. Call listConnections for valid names; do not guess.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countYesNumber of redundant-index findings returned.
tableNo
schemaNo
findingsNoSchema lint or redundant-index findings.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds meaningful behavioral context beyond those annotations: the analysis is structural, not workload-based, and only considers non-unique indexes with strict-prefix column overlap. There is no contradiction with the annotations.

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 wasted words. The core matching rule is front-loaded, and the contrast with unusedIndexes is brief but informative. 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?

With an output schema present and annotations covering safety, the description provides enough detail about the tool's matching semantics to be actionable. The main gap is that schema/table scoping behavior is not fully elaborated in the description itself, though the schema partially covers it.

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

Parameters2/5

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

The input schema documents 'table' and 'connection' reasonably, but the 'schema' parameter has no description. The tool description itself does not clarify any parameter semantics or explain how table/schema/connection interact, so it fails to compensate for the undocumented parameter.

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 uses a specific verb and resource: 'Find structurally overlapping non-unique indexes' and gives a precise criterion: leading columns that are a strict prefix of another same-type index. It also differentiates the tool from unusedIndexes, so an agent can immediately tell this is the structural-redundancy analysis tool.

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 explicitly names unusedIndexes as the sibling alternative and explains the deciding difference: 'this does not depend on workload scan counters.' This gives clear selection guidance for choosing between the two tools. It does not go further into when to scope by table or schema, but the core alternative choice is well covered.

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