Skip to main content
Glama

d8a_prepare_property_settings_change

Prepare a property settings change without saving it. Omitted settings keep their saved values; settings locked by account policies can't change. filters replaces all traffic filters; new and edited rules start in Test mode, which labels matching traffic without dropping it, and unchanged rules keep their mode. To make Test mode filters live, set filter_mode=live: the default reviewed activation first counts what they matched (needs query permission); immediate skips the counts. Live allow and exclude filters both drop traffic, so suggest testing first. If the counts can't show the impact, requires_acknowledgment is true and nothing is stored: explain this, and only if the user still wants it prepare again with explicit_request_reason and acknowledge_unverified_impact (immediate always needs both). Protocol, destination and account settings can't change here. Show the user the complete preview, ask them to approve, then call d8a_execute_change.

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": {
      "property_id": "<property_id>"
    },
    "name": "d8a_prepare_property_settings_change"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNo
filtersNoComplete replacement; condition and metadata group test flags are normalized together. Rules may only use fields from d8a_get_query_catalog kind=traffic_filter_fields. Write each expression as the app's editor does: terms joined by " && ", each field op "value" (==, !=, startsWith, endsWith, contains, matches with an RE2 pattern) or inCidr(ip_address, "10.0.0.0/8"); for OR add another rule. fields is filled in from the expressions; omit metadata, the app rebuilds it.
timezoneNo
filter_modeNotest (default) or live. live makes the saved Test mode rules live; send filters only to choose which rules, with test_mode false on them.
property_idYesProperty ID.
review_date_toNoLast day to count matches, YYYY-MM-DD; default yesterday.
activation_pathNoFor live: reviewed (default) counts matches first; immediate skips that.
ip_masking_levelNo
review_date_fromNoFirst day to count matches, YYYY-MM-DD; default seven full days ago.
excluded_url_paramsNoCustom URL parameters to exclude, replacing the saved list. Built-in exclusions always apply and are never saved; don't send them.
feature_ask_ai_enabledNo
explicit_request_reasonNoWhy the user wants filters live without verified impact.
session_timeout_secondsNo
tracking_enable_user_idNo
feature_insights_enabledNo
acknowledge_unverified_impactNoThe user accepted that the impact on traffic is not verified.
tracking_enable_session_stampNo
tracking_split_on_user_id_changeNo
tracking_split_on_campaign_changeNo

Output Schema

NameRequiredDescriptionDefault
reviewNo
targetYes
previewYes
expires_atNo
proposal_idNo
requires_acknowledgmentYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already state readOnlyHint=false but destructiveHint=false, and the description adds genuinely new context: nothing is stored until execute, omitted settings keep saved values, policy-locked settings are immutable, filters replaces the entire list wholesale, Test mode only labels traffic while live allow/exclude filters drop it, and the acknowledgment path stores nothing. Against that, the bulk of the disclosure concerns the filters/activation sub-flow rather than the tool as a whole; the many scalar setting parameters get no behavioral note. This is strong for the complex path but not a 5.

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 purpose is front-loaded and every sentence carries operational content — no filler. It is, however, a dense run-on block that chains the filters replacement, test-mode behavior, activation paths, and acknowledgment flow without visual separation, which makes it harder to scan than it needs to be.

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 19-parameter, high-stakes prepare tool with an output schema, the description covers the hard parts: irreversibility of live filters, the acknowledgment escape hatch, the approval handoff to d8a_execute_change, and the settings that cannot be touched here. The remaining gap is the undocumented scalar setting parameters, which the description never surveys.

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 47% with 19 parameters, so the description must compensate and it does so selectively: filters, filter_mode, activation_path, the review dates implicitly, and the acknowledgment pair are all explained with real meaning. However, roughly a third of the parameters (name, timezone, ip_masking_level, session_timeout_seconds, tracking_* and feature_* booleans) are undocumented in both schema and description, leaving their semantics opaque.

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 opening sentence names a specific verb and resource — 'Prepare a property settings change without saving it' — which immediately distinguishes this from the mutating sibling. It also names the excluded settings (protocol, destination, account) and points at d8a_execute_change as the follow-up, so an agent can route without opening a 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?

Explicit workflow guidance: preview, show the user, get approval, then call d8a_execute_change. It also gives conditional branches — reviewed vs immediate activation, when requires_acknowledgment fires, and what to resend (explicit_request_reason plus acknowledge_unverified_impact) in that case. Exclusions are stated too: filters must use catalog fields and certain setting families cannot change here.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources