Skip to main content
Glama

clear_local_store

DestructiveIdempotent

Wipe all messages and attachment records from the local Signal database when confirm is true. Irreversible and does not affect Signal or your devices.

Instructions

Delete ALL messages and attachment records from signal-mcp's local database. confirm (boolean, required) must be exactly true, otherwise nothing is deleted and an error is returned. Local only: nothing is deleted from Signal, your phone or other devices, and downloaded attachment files on disk are left in place. Irreversible except by re-importing (import_desktop) or receiving again. Returns {deleted: count, status: 'cleared'}. Use delete_local_messages to clear one conversation, prune_store to drop only old messages; delete_message unsends a message in Signal.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
confirmYesMust be true to proceed — prevents accidental deletion

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, but the description goes well beyond them: the confirm guard and its failure mode, the local-only blast radius (nothing removed from Signal, phone, or other devices), the fact that downloaded attachment files on disk survive, and irreversibility except via re-import. That is the extra behavioral context annotations cannot carry.

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?

Four dense sentences, all front-loaded: what it destroys, the guard, the blast radius, the recovery path, the return shape. No filler and no repetition of the name.

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?

For a one-parameter irreversible mutation with no output schema, the description supplies everything needed: destruction scope, safety gate, side-effect boundaries, reversibility, and even the return shape ({deleted: count, status: 'cleared'}). Nothing an agent needs before calling it is missing.

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 100% and the single parameter is self-documenting, so the baseline is 3. The description adds genuine meaning beyond the schema's 'Must be true to proceed' by specifying the semantics are exact — confirm must be exactly true, otherwise nothing is deleted and an error is returned.

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?

States a specific verb (delete), resource (ALL messages and attachment records), and scope (signal-mcp's local database), with 'ALL' and 'local' doing real disambiguating work against siblings that also delete things. An agent can distinguish it from delete_local_messages, prune_store, and delete_message without opening any schema.

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

Usage Guidelines5/5

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

Explicitly routes the agent: delete_local_messages for a single conversation, prune_store for old messages only, delete_message for unsending in Signal. It also names the recovery path (import_desktop, re-receive). This is exactly the when/when-not/alternatives guidance the dimension asks for.

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