Skip to main content
Glama

Database administration

rbook_db
Destructive

Maintain the local Reasonbook store and dashboard mirror, handling snapshots, restores, purges, pruning, conflicts, and health checks to keep project records consistent.

Instructions

Maintain the local store and its dashboard mirror; health and conflicts only read. Database admin. snapshot creates unless listOnly=true; retention deletes oldest files. restore backs up then replaces the local store; shared stores refuse. purge deletes only the dashboard mirror. prune_snapshots previews unless confirmed; empties content, keeps rows, references and milestones. conflicts lists divergent shared fields; settle keeps one value. pull/clone retired: use reasonbook sync. backfill uploads owner stores; force is ignored; dryRun=true refuses retired replay.

Input Schema

NameRequiredDescriptionDefault
slugNoRetired; use reasonbook sync
fieldNosettle: the field in conflict
forceNoIgnored
limitNoRetired; use reasonbook sync
tableNosettle: the table, or "project"
valueNosettle: the value to keep
actionYes
dryRunNobackfill: refuses retired replay
confirmNoRequired to restore, purge or apply a snapshot prune
keepIdsNoSnapshot ids a prune keeps
keepLastNoPer context, keep 30 snapshots' content by default
listOnlyNosnapshot: list, create none
maxPagesNoRetired; use reasonbook sync
recordIdNosettle: the row id this copy shows
keepSinceNoKeep snapshots from this date on
snapshotIdNorestore: required listed ID, not a path
keepSourcesNoKeep matching sources (* = anything)
projectRootNoFolder/rbook:// address; inferred
expectedSlugNopurge: refuse unless slug matches
maxSnapshotsNosnapshot retention: RBOOK_MAX_SNAPSHOTS or 50

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv4.7.2
    • addedInput schema / properties / dryRun / description
      Added value: +"backfill: refuses retired replay"
    • addedInput schema / properties / force / description
      Added value: +"Ignored"
    • addedInput schema / properties / limit / description
      Added value: +"Retired; use reasonbook sync"
    • addedInput schema / properties / listOnly / description
      Added value: +"snapshot: list, create none"
    • addedInput schema / properties / maxPages / description
      Added value: +"Retired; use reasonbook sync"
    • addedInput schema / properties / slug / description
      Added value: +"Retired; use reasonbook sync"
  2. Changed3 schema fields changedv4.7.1
    • changedInput schema / properties / keepLast / description
      Previous value: -"Snapshots with content kept per context (default 30)"New value: +"Per context, keep 30 snapshots' content by default"
    • changedInput schema / properties / keepSources / description
      Previous value: -"Keep snapshots whose source matches (* = anything)"New value: +"Keep matching sources (* = anything)"
    • changedInput schema / properties / projectRoot / description
      Previous value: -"Folder or rbook:// address; inferred"New value: +"Folder/rbook:// address; inferred"
  3. First observedv4.7.0

TDQS

A4.1/5.0
Behavior5/5

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

With destructiveHint=true and readOnlyHint=false already declared, the description still adds substantial per-action risk context: 'retention deletes oldest files', 'restore backs up then replaces the local store; shared stores refuse', 'purge deletes only the dashboard mirror', 'prune_snapshots ... empties content, keeps rows'. It also distinguishes the safe operations ('health and conflicts only read') and the guard conditions (force ignored, dryRun refuses retired replay), which annotations cannot express at action granularity.

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?

Nearly every clause carries a distinct, load-bearing action rule, and the purpose is front-loaded ahead of the per-action list. It is aggressively compressed to the point of occasional ambiguity ('empties content, keeps rows, references and milestones' is hard to parse), and 'Database admin.' largely restates the title.

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 20-parameter, 12-action tool with no output schema, the description covers most mutating paths but omits 'reconcile' and 'identify_orphans' entirely, and says nothing about what 'health' or 'conflicts' return so the agent can act on results. Adequate to avoid obvious mistakes, but not complete for a tool of this surface area.

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 95%, so the baseline is 3 and the schema already documents slug/limit/maxPages as retired plus each action-specific field. The description adds genuine cross-field semantics: listOnly inverts snapshot into a list, confirm gates restore/purge/prune, force is a no-op, dryRun refuses retired replay. It does not explain keepLast/keepSince/keepSources/maxSnapshots interactions beyond a single retention clause.

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 opening clause 'Maintain the local store and its dashboard mirror' gives a specific verb+resource and scopes it beyond the generic title 'Database administration'. It also names the replacement tool for retired operations ('use reasonbook sync'), which helps disambiguate. It stops short of contrasting with the rbook_* siblings (project, mission, session, etc.), so an agent must infer that this is the storage/maintenance layer.

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?

Per-action routing is dense and actionable: 'snapshot creates unless listOnly=true', 'prune_snapshots previews unless confirmed', 'backfill uploads owner stores; force is ignored', 'pull/clone retired: use reasonbook sync'. That is explicit when/when-not for most actions. However, the enum actions 'reconcile' and 'identify_orphans' are never mentioned, leaving two callable operations with no guidance at all.

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