Skip to main content
Glama
Handigraphs

handigraphs-stats-api-mcp

Official
by Handigraphs

save_filter

Idempotent

Save a new owned filter only when explicitly requested, optionally pairing an Angles idea atomically with the same rule and test settings; operation_id blocks duplicate retries.

Instructions

Save a new owned filter only when the user explicitly requests a save/create. Optionally save an Angles idea with the identical rule and exact test settings atomically. Required operation_id prevents duplicate creates on retries. Return actual IDs/links and report expiry; never claim a missing paired idea was saved. Requires filters:write; permissions do not replace user intent.

Input Schema

NameRequiredDescriptionDefault
nameYes
ruleYesNative saved-filter rule. Discover canonical units and support; preserve grouping, comparisons and sample context. This is not query_stats numeric filter syntax.
operation_idYesGenerate one UUID per intended create/submission. Retain it and the exact request across ambiguous failures; never generate a new ID merely to retry.
research_ideaNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.0

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly=false, destructive=false, idempotent=true), and the description adds real context on top: operation_id dedupes retried creates, the optional research_idea is written atomically with the filter, filters:write scope is required, and the agent must not claim a paired idea was saved if it was not. That partial-failure guidance is exactly the kind of behavior structured fields cannot express.

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?

The primary action and its precondition are front-loaded in the first sentence, followed by the optional secondary artifact and the idempotency rule. It is dense and largely waste-free, though the final clause about IDs, expiry, and the missing paired idea is compressed tightly enough to read as telegraphic.

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 four-parameter tool with deeply nested rule/research_idea objects and no output schema, the description covers auth requirements, atomicity, duplicate suppression, and partial-failure reporting. The gap is that it gives no sense of what the returned IDs/links look like or what "expiry" refers to, and nested-object semantics live only in the schema.

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?

Schema coverage is 50%, so several parameters carry their own documentation and the baseline is 3. The description adds coupling semantics (the paired idea must use the identical rule and exact test settings) and restates operation_id's retry purpose already covered in the schema, but says nothing about name or the rule object beyond what the schema provides.

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?

States a specific verb and resource ("Save a new owned filter") plus an optional second artifact ("an Angles idea"), which separates it from update_saved_filter and suggests validate_filter. It never names those siblings explicitly, so the create-vs-update boundary is implied rather than stated.

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?

"Only when the user explicitly requests a save/create" is a clear positive precondition, and "permissions do not replace user intent" acts as a when-not guard against saving unprompted. It stops short of naming the alternative tool to use when the user only wants to test a rule.

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