Skip to main content
Glama
danielrosehill

BTRFS Snapper MCP

snapper

Manage BTRFS snapshots: list, create, delete, rollback, compare, or clean up snapshots for any configured filesystem.

Instructions

Manage BTRFS snapshots via Snapper. A unified tool for all snapshot operations.

Actions:

  • configs: List available snapper configurations

  • list: Show all snapshots for a config

  • create: Create a new snapshot (optionally with description)

  • delete: Remove a snapshot by number

  • rollback: Restore system to a previous snapshot (requires reboot)

  • cleanup: Prune snapshots using an algorithm (number, timeline, empty-pre-post)

  • diff: Show file differences between two snapshots

  • status: List changed files between two snapshots

Current default config: root Using sudo: True

Examples:

  • List configs: action="configs"

  • List snapshots: action="list", config="root"

  • Create snapshot: action="create", config="root", description="Before update"

  • Delete snapshot: action="delete", config="root", snapshot_id=5

  • Compare snapshots: action="diff", config="root", snapshot_id=1, snapshot_id_end=5

  • Cleanup old snapshots: action="cleanup", config="root", cleanup_algorithm="number"

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesThe snapper action to perform: list (show snapshots), create (new snapshot), delete (remove snapshot), rollback (restore to snapshot), cleanup (prune by algorithm), diff (compare snapshots), status (show changed files), configs (list available configs)
configNoSnapper configuration name (e.g., 'root', 'home'). Uses default from SNAPPER_MCP_DEFAULT_CONFIG env var if not specified. Use 'configs' action to see available configs.
snapshot_idNoSnapshot number for delete, rollback, or start of range for diff/status
snapshot_id_endNoEnd snapshot number for diff/status range (e.g., diff between snapshot 5 and 10)
descriptionNoDescription for new snapshot (used with 'create' action)
cleanup_algorithmNoCleanup algorithm: 'number' (keep N snapshots), 'timeline' (keep by age), 'empty-pre-post' (remove empty pre/post pairs)
sync_after_deleteNoSync filesystem after delete operation
Behavior5/5

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

No annotations provided, so description carries full burden. Discloses sudo usage, reboot requirement for rollback, default config, and cleanup algorithms – comprehensive behavioral context.

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?

Well-structured with sections and bulleted actions; front-loaded with purpose. Slightly lengthy due to example redundancy, but still clear and organized.

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?

Covers all actions, parameters, and operational context (sudo, default config). No output schema, but examples imply outputs. Sufficient for agent to invoke correctly.

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 covers 100% of parameters. Description provides examples and additional context (e.g., default config from env var) that enhance schema descriptions, justifying above baseline.

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?

Clearly states 'Manage BTRFS snapshots via Snapper' and lists all eight supported actions. Distinguishes from sibling 'btrfs_health' which likely deals with health checks.

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?

Provides examples for each action and mentions default config and sudo usage. Though it doesn't explicitly exclude scenarios for sibling tools, the action list and context make when-to-use clear.

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/danielrosehill/BTRFS-Snapper-MCP'

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