Skip to main content
Glama

Create or redefine a goal

goals_save
Destructive

Create a goal, or redefine one with the same name: EVENT (an event name like signup, or name@/path for that event on one page: form_submit@/register is the signup form sent on /register, which t.js reports with no code on the site), PAGEVIEW (a path pattern like /welcome*), CTA (a data-sf value, * for a wildcard), ENGAGED, REVENUE (trial, paid), or CHECKOUT (a visit back from a hosted checkout such as Stripe or Dodo: a payment, seen without any code on the site; match is the return path pattern, * for any). Every goal you create is SOFT. Only the founder makes a goal HARD, in the results app, and the headline conversions count HARD goals once there are any; changing a HARD goal's definition puts it back to SOFT. Say why in note. Free.

Input Schema

NameRequiredDescriptionDefault
nameYes
noteNo
typeYes
matchNoNeeded except for ENGAGED and CHECKOUT
siteIdNo
valueCentsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations flag destructiveHint=true, and the description earns that: it discloses that redefining a HARD goal resets it to SOFT, that every new goal is SOFT by default, and that only the founder can make one HARD. That is substantive context beyond the annotations; return format is the only notable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded, but the body is one long run-on sentence dense with parenthetical examples, notably the multi-clause CHECKOUT explanation. Information-rich but structure could be tighter and clearer.

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?

No output schema and only 6 params with low coverage, yet the description thoroughly covers goal types, match semantics, and soft/hard lifecycle. Missing only siteId, valueCents, and any return-value hint — minor given no output schema.

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 only 17% (only `match` is documented), so the description carries heavy burden — and it does, explaining `match` semantics per type (name@/path, /welcome*, data-sf value, return path for CHECKOUT) and the purpose of `note`. It leaves siteId and valueCents unexplained, keeping it below 5.

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?

States a specific verb and resource ('Create a goal, or redefine one with the same name') and goes further to enumerate every goal type. An agent can distinguish this from the goals_list sibling instantly.

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?

Explains the upsert behavior (same name = redefine) and instructs 'Say why in `note`', giving clear usage context. It stops short of explicit when-not-to-use or naming goals_list as the alternative, so not quite a 5.

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