Skip to main content
Glama
igorolv

jdbc-mcp-server

schemaLint

schemaLint
Read-onlyIdempotent

Audits a database table or schema for modeling and indexing risks—missing primary keys, unindexed foreign keys, nullable unique columns, and more—and returns findings to guide fixes.

Instructions

Audit one table or a schema for modeling and indexing risks: missing PKs, unindexed or mismatched FKs, nullable unique columns, missing CHECKs/remarks, orphan *_id columns, isolation and wide tables. Returns findings, not general table metadata.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tableNoOmit to scan the schema.
checksNoChecks CSV, e.g. missingPrimaryKey,fkWithoutIndex; omit for defaults.
schemaNo
maxTablesNoTables to scan (default 50).
connectionYesDatabase to run against. Call listConnections for valid names; do not guess.
maxFindingsNoFindings to return (default 200).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
tableNo
checksNoSchema lint checks that were enabled for this audit.
schemaNo
findingsNoSchema lint or redundant-index findings.
truncatedYesTrue when the configured row or finding cap was reached and more data may exist.
findingCountYesNumber of lint findings returned or counted.
tablesScannedYesNumber of tables inspected by the tool before caps were applied.

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?

Annotations already cover read-only/idempotent/non-destructive behavior, and the description reinforces this with 'Audit' and 'Returns findings.' It adds useful output-level context ('findings, not general table metadata') and clarifies the access scope (one table vs a schema) without contradicting any annotation.

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?

Two sentences, with the action and resource front-loaded and every clause contributing signal. The enumerated checks are compact and the return-type clarification 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?

The description is sufficient for a read-only audit tool, especially with a rich input schema and an output schema present. It could have added a bit more about how the checks mapping works or when limits apply, but the structured fields already cover those details.

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?

With 83% schema coverage, the schema carries most parameter semantics, but the description adds a concrete catalog of what audits are performed, making the 'checks' parameter more understandable than the CSV example alone. The 'one table or a schema' phrasing also clarifies the table/schema targeting and the undocumented schema 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 opens with a specific verb ('Audit') and a concrete target ('one table or a schema'), and enumerates exact risk categories. The closing clause 'Returns findings, not general table metadata' differentiates it from metadata-style siblings such as describeTable or schemaBrief.

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?

It gives a clear use context: use when you need modeling/indexing risk findings, and the 'not general table metadata' line tells an agent not to use it for metadata retrieval. It stops short of explicitly naming alternatives like redundantIndexes, fkIndexCoverage, or queryLint, so it is not fully explicit about sibling choices.

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