Skip to main content
Glama
awesomemotive

pushengage-mcp

Update campaign defaults

pushengage_update_campaign_defaults
Idempotent

Update campaign default settings such as UTM parameters, fallback notification, fallback attributes, or expiry. Pass only the fields you want to change; current values are merged automatically.

Instructions

Updates one or more of the current site's campaign default settings. Pass only the groups and fields you want to change: utm_parameters, fallback_notification, fallback_attributes, and/or default_expiry. The tool reads the current values and merges your changes, so partial edits are fine (e.g. change just utm_parameters.source, or set default_expiry to {days:7}). default_expiry is given as days/hours/minutes (omitted components count as 0; total must be between 1 minute and 28 days). When utm_parameters.enabled is true, source/medium/campaign must be non-empty after the merge. Provide at least one group. Returns the updated settings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
site_idNoOverride the currently selected site.
default_expiryNoDefault notification expiry. Set as days/hours/minutes; omitted components count as 0. Total must be between 1 minute and 28 days.
utm_parametersNoUTM defaults appended to campaign URLs. Provide only the fields you want to change.
fallback_attributesNoFallback subscriber city/country used when the browser can't resolve them.
fallback_notificationNoNotification shown if the browser cannot fetch the sent notification. Title, message, and URL are all required by the API, so any you omit are kept from the current values.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
default_expiryNo
utm_parametersNo
fallback_attributesNo
fallback_notificationNo
Behavior5/5

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

The description adds substantial behavioral context beyond the annotations. It explains the merge behavior ('reads the current values and merges your changes'), the constraints on default_expiry total duration, and the required fields when utm_parameters.enabled is true. This goes well beyond the simple readOnlyHint=false and idempotentHint=true annotations. No contradiction with annotations exists.

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 compact (about 120 words) and well-structured. It front-loads the purpose, then covers usage, constraints, and return value in a logical order. Every sentence adds value—no filler, no repetition of schema content. The examples are efficient and illustrative.

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?

The description covers the tricky aspects of this tool: the merge model, partial update semantics, expiry restrictions, and cross-field validation. It even provides an example of a partial edit. The output schema exists, so the description appropriately only notes 'Returns the updated settings.' For a tool with nested objects and merge behavior, this is highly complete and would allow an agent to invoke it correctly without further clarification.

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 coverage is 100%, providing detailed field descriptions. The description adds cross-field semantics and examples, such as partial edits, the merge behavior, expiry component omission rules, and validation constraints. This complements the schema rather than repeating it, earning above the baseline of 3 but not a 5 because the schema already handles most individual parameter 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 uses a specific verb+resource: 'Updates one or more of the current site's campaign default settings.' It names the specific groups (utm_parameters, fallback_notification, fallback_attributes, default_expiry), clearly distinguishing it from sibling update tools like update_site_details or update_service_worker_settings. It also states the return value ('Returns the updated settings'), making the purpose unambiguous.

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?

The description provides clear context on when to use the tool: when you need to change campaign default settings. It explains partial edits are supported and you must pass at least one group. However, it does not explicitly mention alternatives or when not to use it, so it stops short of a 5. The guidance is clear enough for an agent to select this tool over related get/update siblings.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/awesomemotive/pushengage-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server