Skip to main content
Glama

mimir_maintenance

Destructive

Perform database maintenance: deduplicate entities, detect orphan entries, vacuum to reclaim disk space, and reindex FTS5. Preview changes with dry_run mode.

Instructions

Database maintenance operations: deduplicate entities with identical (category, key), detect orphan journal entries and links, vacuum (reclaim disk space), reindex FTS5. Set dry_run=true to preview. Use 'all' to run everything.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
allNoRun all maintenance operations (dedup, orphans, vacuum, reindex)
dedupNoFind duplicate (category, key) entities and archive the oldest
vacuumNoRun SQLite VACUUM to reclaim disk space
dry_runNoIf true, preview changes without writing
orphansNoDetect journal entries and links pointing to non-existent entities
reindexNoRebuild the FTS5 search index from entities table

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorsNoErrors encountered during maintenance
dry_runNo
dedup_archivedNoNumber of duplicate entities archived
orphan_links_foundNoOrphan links detected
reindex_rows_affectedNoRows reindexed into FTS5
vacuum_reclaimed_bytesNoDisk space reclaimed by VACUUM
orphan_journal_entries_foundNoOrphan journal entries detected
Behavior4/5

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

The description discloses that deduplication archives the oldest entity, vacuum reclaims disk space, and reindex rebuilds FTS5. It also mentions dry_run for preview. This adds detail beyond the 'destructiveHint' annotation, though it does not specify whether orphan detection deletes or only lists.

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 concise sentences. The first immediately states the tool's purpose and lists operations, the second gives actionable usage tips. No wasted words.

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?

For a maintenance tool with 6 boolean parameters and an output schema, the description covers the key operations and gives usage hints. It doesn't mention prerequisites or safety notes, but the destructiveHint annotation and dry_run option partially address that. Overall, it is sufficient for basic use.

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 100% schema coverage, each parameter already has a description. The description adds value by showing how to combine parameters (dry_run with all) and the general usage pattern, providing context beyond the schema's individual definitions.

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 explicitly lists the specific maintenance operations (deduplicate, detect orphans, vacuum, reindex) and states it covers database maintenance. This clearly distinguishes it from sibling tools like mimir_ask or mimir_compact by its domain and actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives basic usage tips (dry_run=true to preview, use 'all' to run everything) but does not explain when to prefer this tool over individual siblings like mimir_prune or mimir_reindex. There is no explicit when-not or alternative guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Perseus-Computing-LLC/perseus-vault'

If you have feedback or need assistance with the MCP directory API, please join our Discord server