Skip to main content
Glama
sieve-mcp-server

sieve-mcp-server

Official

sieve_put_script

Create or replace a Sieve script with validation, dry-run diff checks, and overwrite protection; invalid scripts are rejected and existing versions are backed up before replacement.

Instructions

Create or replace a Sieve script. The server validates it first and nothing is written if it is invalid. Replacing an existing script requires overwrite: true; the previous version is backed up locally first (see sieve_list_backups). Recommended flow for changes: sieve_get_script → edit → sieve_put_script with dryRun: true → show the user the diff → sieve_put_script with overwrite: true once they agree. Writing never activates a script: if the script being replaced is already active, the change takes effect immediately; otherwise call sieve_activate_script.

Input Schema

NameRequiredDescriptionDefault
nameYesScript name. Use an existing name (with overwrite: true) to replace that script.
dryRunNoValidate and return the diff against the server copy without writing anything.
contentYesComplete Sieve script source. Line endings are normalized to CRLF on upload.
accountIdNoAccount id, as an alternative to accountName.
overwriteNoMust be true to replace a script that already exists. Leave false when creating a new script.
accountNameNoAccount name (from sieve_list_accounts). Optional when only one account is configured.

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?

With no annotations, the description carries the full behavioral burden and does so well: it discloses validation-before-write, no-write-on-invalid behavior, overwrite requirements, local backup before replacement, dryRun diffing, and the fact that writing does not automatically activate a script. It also explains the side effect when replacing an already-active script.

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 front-loaded with the core action, then gives validation, overwrite, workflow, and activation details in a compact sequence. Despite being longer than a one-liner, every sentence adds operational value for a destructive write tool with no annotations.

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?

Given six parameters, no annotations, and no output schema, the description is complete enough for correct invocation. It covers validation, overwrite, dryRun, backup behavior, recommended workflow, and activation semantics without needing return-value documentation.

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 description coverage is 100%, so the schema already defines all six parameters. The description nonetheless adds useful parameter-level meaning by tying overwrite to local backup and dryRun to showing a diff before replacement, going somewhat beyond the structured field descriptions.

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 starts with a specific verb and resource: create or replace a Sieve script. It distinguishes this from sibling tools by explaining validation, overwrite requirements, and activation behavior, so an agent can identify its role without opening the 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?

It gives an explicit recommended workflow for changes and names the exact sibling tools to use at each step. It also states when overwrite is required, when dryRun should be used, and when activation must be handled separately.

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