Skip to main content
Glama

Update offer

update_offer

Change any of the project's offer fields (App settings, Your offer); fields you leave out keep their value. Strings: empty clears. Numbers: null clears. Saved through the same validation as the dashboard. Applies to the next email. Returns the stored offer.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
app_idNoProject id from list_apps. Omit to use your most recently added project.
confirmNoSet true after the user confirmed an action the guard flagged as hard to undo.
assets_urlNoBanners and promo material, shared in replies.
boost_daysNoHow long the launch boost lasts.
brand_nameNoHow the brand is named in every email.
commissionNoOne clause, e.g. "30% recurring commission with a 45-day cookie".
ladder_maxNoHighest rate (%); the last raise always offers it.
nudge_daysNoDays after the first email that the offer follows, in the same thread. Default 4.
signup_urlNoAffiliate signup link, sent in replies to sites that say yes, never in a first email.
cookie_daysNoHow long a referred click stays yours.
ladder_stepNoAdded (%) at each raise while a site does not reply, in the same thread.
market_rateNoA re-pitch may say other programs pay up to this (%), never naming one.
sender_nameNoSigns the emails. A person, not a mailbox name like affiliate.
boost_pointsNoLaunch boost (%) added for a new affiliate's first boost_days days.
ladder_startNoRate (%) the first offer makes. null: the commission line as written.
payout_notesNoPayout timing, minimums and details the AI may quote in replies.
boost_everyoneNoEvery affiliate who joins from now on gets the launch boost, not only sites you pitched. The server records when it was first turned on.
lead_with_rateNofalse: step 1 of the website lanes does not state the rate.
postal_addressNoBusiness postal address, required before live cold email.
placement_dealsNoAccept paid placements as a last resort: the sequence's last step asks what a top spot costs.
raise_every_daysNoDays between raises, counted from the first email. Default 14.
stats_window_hoursNoHours of recent conversions the program figures cover. Default 72.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior5/5

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

With annotations declaring only readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=false, the description carries the real burden and delivers: it discloses partial-update semantics, the non-obvious clearing rules ('Strings: empty clears. Numbers: null clears'), dashboard-equivalent validation, that the effect lands on the next email, and that it returns the stored offer. The clearing behavior is a side effect that the annotations do not flag, and disclosing it is exactly the value-add expected here.

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?

Four short sentences, each load-bearing: scope, partial-update rule, clearing rules, validation/timing, and return value. No filler, and the scope statement is front-loaded.

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 22-parameter, zero-required update tool with no output schema, the description covers scope, patch semantics, clearing rules, validation parity, effect timing, and the return value. Remaining gaps are minor (permission/auth requirements, whether confirm is ever required for this tool, and any rate limits), but the essentials are present.

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 description coverage is 100%, so the baseline is 3, but the description adds semantics the schema does not encode: empty string clears a string field and null clears a numeric field, and omitted fields are preserved. That distinction (omit vs. null vs. empty) is the main ambiguity across 22 optional parameters and the description resolves it.

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 (change/update) and a precise resource (the project's offer fields, split into App settings and Your offer), and the partial-update semantics ('fields you leave out keep their value') separate it from a full-replacement tool. It is clearly distinguishable from siblings like update_project or update_campaign_settings, though it never names those siblings 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 context is implied rather than stated: the description says changes apply to the next email and are saved through the same validation as the dashboard, which tells the agent this is a configuration edit that takes effect downstream. It never states when to use this versus update_project / update_outreach_settings, nor any prerequisites such as permissions or the confirm flag.

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