Skip to main content
Glama
Read-only SQLite MCP

Read-only SQLite MCP

table_stats

Count rows in every table of a SQLite database to assess table sizes and data volume.

Instructions

Show row counts for every table in a database.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "database": "<database>"
    },
    "name": "table_stats"
  }
}

Input Schema

NameRequiredDescriptionDefault
databaseYesDatabase alias or path given at server startup

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and "Show" weakly signals a read-only operation. It does not disclose whether counts are exact or estimated, whether the call is expensive on large databases, or what happens with inaccessible tables — all relevant for a stats scan.

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?

One short sentence with zero filler, and the key scope (every table, in a database) is front-loaded. Nothing could be removed without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with no output schema, the definition is workable but leaves the return shape unstated — an agent does not know if it gets table-name/count pairs, whether results are ordered, or if counts are exact. A single clause on output format and cost would close the gap.

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?

The single parameter is fully documented in the schema ("Database alias or path given at server startup"), so the description need not explain it. The description adds no meaning beyond that, which is acceptable at 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description pairs a specific verb ("Show") with a specific resource and scope ("row counts for every table in a database"). This cleanly separates it from list_tables (names only) and describe_table (schema), though it never names those siblings explicitly.

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 when-to-use guidance, no mention of when an agent should instead reach for list_tables, read_query, or sample_rows, and no prerequisites stated. The purpose implies a use case, but nothing steers selection between siblings.

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