Skip to main content
Glama
sqlscope-mcp

sqlscope-mcp

by 0xmortuex

db_overview

Read-onlyIdempotent

Summarize an SQLite database file read-only: size, encoding, journal mode, object counts, per-table row counts, and virtual tables, without modifying the file or creating WAL/SHM files.

Instructions

Start here. Summarise an SQLite database file: size, page size, text encoding, journal mode (WAL or not), user_version, counts of tables / views / indexes / triggers, and a row count for every table (from ANALYZE statistics when present, otherwise an exact count that stops at 100,000). Virtual tables (FTS5, rtree) are listed with their module and their internal shadow tables are folded away. Opening is read-only and never modifies the file or creates -wal / -shm files.

path: the .db / .sqlite file (relative paths are resolved inside the --dir folder, if one was set).

Input Schema

NameRequiredDescriptionDefault
pathYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint/idempotentHint, but the description goes further by stating the concrete consequence: opening never modifies the file and never creates -wal/-shm side files. It also discloses the row-count strategy (ANALYZE statistics first, otherwise an exact count capped at 100,000) and that virtual-table shadow tables are folded away, which materially changes how an agent should interpret the counts.

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?

Front-loaded with the routing cue, then a dense but purposeful enumeration of reported fields, then a separate labelled clause for the path parameter. Every sentence carries information an agent needs; nothing is repeated from the name or schema.

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

Completeness5/5

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

An output schema exists, so return values need not be described, and the description instead covers what the agent must know to call and interpret it: read-only side-effect guarantees, the 100,000 row-count cap, ANALYZE-based estimates, and virtual/shadow table handling. For a one-parameter inspection tool this is fully sufficient.

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 coverage is 0% and the single parameter has no schema description, so the description must carry it — and it does, explaining that path is the .db/.sqlite file and that relative paths resolve inside the --dir folder when one was set. That resolution rule is meaning an agent could not get from the bare 'string' type; only accepted extensions are covered, not other path edge cases.

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 an explicit orientation cue ('Start here') and then names a specific verb and resource ('Summarise an SQLite database file'), followed by an enumeration of exactly what is reported (size, page size, encoding, journal mode, user_version, object counts, per-table row counts, virtual tables). An agent can distinguish this from describe_table or schema_graph purely from this text.

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?

'Start here' is a direct when-to-use instruction that positions the tool as the first step before the sibling tools (schema_docs, describe_table, query). It does not, however, explicitly name those alternatives or state exclusions such as 'do not use this to inspect a single table', so the routing guidance is clear but not exhaustive.

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