Skip to main content
Glama

d8a_prepare_property_create

Prepare creating a property without creating anything yet. Native tracking (the default) suits new or simple setups. First check the site's code or ask how it is tracked today; choose protocol_id ga4 or matomo only to keep a substantial existing GA4 or Matomo setup (custom events, ecommerce, consent or a tag manager), and say why in protocol_rationale. The protocol can't be changed later. Keep existing analytics and consent tools. 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": {
      "name": "<name>"
    },
    "name": "d8a_prepare_property_create"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYes
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.
protocol_idNod8a (Native, default), ga4 or matomo.
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.
protocol_rationaleNoWhy GA4 or Matomo is kept.
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.3/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false) it discloses three behaviors that structured fields cannot convey: nothing is created in this step, the protocol choice is irreversible, and execution requires user approval plus a follow-up call to d8a_execute_change. It stops short of describing what the returned preview contains, but an output schema exists to cover that.

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?

Roughly six sentences, front-loaded with the defining constraint that nothing is created yet, and every later sentence carries usable guidance rather than filler. The protocol guidance is slightly dense in a single sentence, but no content could be dropped without losing decision-relevant information.

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 20-parameter preparation tool with a deeply nested filters object, the description covers the fragile decisions (protocol choice and its irreversibility, approval workflow, handoff to d8a_execute_change) while the rich schema text on filters and the pointer to d8a_get_query_catalog handle the rest. Defaults for timezone, ip masking and session timeout are left implicit, which is acceptable given the output schema and sibling catalog but is a minor 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?

With 20 parameters and only 50% schema description coverage, the description adds real meaning for the highest-risk one, protocol_id, by explaining when ga4 or matomo is justified and that protocol_rationale must state the reason. It says nothing about review_date_from/to, ip_masking_level, session_timeout_seconds, or the many boolean flags, leaving those to partial schema text. Useful but incomplete compensation for the coverage gap.

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 states the specific verb, resource and phase: 'Prepare creating a property without creating anything yet.' It explicitly positions itself as the precursor to the sibling d8a_execute_change, so an agent can distinguish the two without opening either 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 decision procedure: check the site's code or ask how it is tracked today, default to native, and pick ga4/matomo only when a substantial existing setup (custom events, ecommerce, consent, tag manager) must be preserved, with the reason recorded in protocol_rationale. It also states the operational sequence (show the full preview, get approval, then call d8a_execute_change) and a constraint to keep existing analytics and consent tools.

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