Skip to main content
Glama
addy-mcp

addy-mcp

create_rule

Create a rule to automatically run actions on emails matching conditions, such as blocking newsletters to a specific alias.

Instructions

Create a rule that runs actions on emails matching conditions.

Example: block newsletters to a specific alias -> conditions=[{type:'alias', match:'is exactly', values:['shop@anonaddy.me']}, {type:'header', match:'exists', values:['List-Unsubscribe']}], actions=[{type:'block'}].

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>",
      "conditions": "<conditions>",
      "actions": "<actions>"
    },
    "name": "create_rule"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYes
sendsNoApply to new emails sent from aliases
actionsYes
repliesNoApply to replies sent from aliases
forwardsNoApply to mail forwarded to recipients
operatorNoWhether all (AND) or any (OR) conditions must matchAND
conditionsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, so the safety profile is partly covered. The description adds the condition/action composition model through the example, but says nothing about whether the created rule is active immediately, whether it applies retroactively to existing mail, or what is returned — meaningful gaps for a write tool.

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?

Compact and front-loaded: one purpose sentence followed by a concrete example rather than prose. Nothing is redundant, though the example carries nearly all the informative weight.

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?

With 7 parameters, one enum and no output schema, the definition gives a workable mental model via the example plus the well-documented schema. What remains uncovered — default activation state, the purpose of sends/replies/forwards, and the response shape — is a real but modest gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

At 57% schema coverage, the schema already documents the match operators, action value shapes and most condition fields. The example illustrates the nested shape of conditions and actions, but the top-level parameters operator, sends, replies and forwards are never touched in the description.

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?

Opens with a specific verb+resource: 'Create a rule', then clarifies semantics — actions applied to emails that match conditions. That is enough to separate it from update_rule, get_rule and delete_rule, though it never names alternatives explicitly.

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?

Usage is conveyed only by a worked example (block newsletters to one alias), which implies the intended context but gives no explicit when-to-use/when-not guidance, no mention of update_rule for existing rules, and no prerequisites such as permissions.

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