Skip to main content
Glama

Under Articles

Campaign

campaign

Change a Campaign (a named workstream inside a Space). For reads prefer list_campaigns and get_campaign. Actions: open (name, optional purpose); park (reason) to pause; resume; propose_close (outcome_draft); close, approved by a different principal, or confirmed by the proposer with confirm=true when only one active principal remains; reassign_owner (to; default you) when the owner seat is revoked or you own it. Action get needs campaign_id. Close also writes an Articles receipt. Writes need write scope; not idempotent.

Input Schema

NameRequiredDescriptionDefault
toNoreassign_owner: new owner seat_id; default you.
nameNoopen: the Campaign name.
actionYesOne of open, park, resume, propose_close, close, reassign_owner, list, get.
reasonNopark: why it is paused.
confirmNoclose: true as the second step when you are the only active principal.
purposeNoOne or two sentences on what this is for. Shown to everyone invited.
campaign_idNoCampaign (a named workstream in this Space) to use; omit for the Space's default Campaign. Ids come from list_campaigns.
outcome_draftNopropose_close: the outcome text to record.
idempotency_keyNoOptional. A string you generate once per intended action (a UUID is good) and repeat on retry. A retry with the same key and arguments returns the first result instead of acting twice; the same key with different arguments is refused. Kept 24 hours.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Goes well beyond the annotations: it discloses the two-principal approval rule for close, the confirm=true single-principal path, that close writes an Articles receipt, that writes require write scope, and that the operation is not idempotent. These are exactly the governance, auth, and side-effect facts an agent needs. It does not describe what happens to a campaign's contents on close or how failures surface.

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?

Front-loads the resource definition, then the read alternative, then the action list, then the mutation constraints. Every clause carries distinct information — action names, parameter bindings, approval rules, receipt side effect, scoping — with no filler.

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 nine-parameter, eight-action mutation tool with no output schema and no annotations beyond safety flags, the description covers permissions, idempotency, and the tricky approval flow. Gaps remain: what the list/get actions return, what happens to content inside a closed campaign, and error behavior.

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 100% and each parameter already carries a description, so the schema does the heavy lifting and the baseline is 3. The description adds modest value by mapping parameters to actions (open takes name/purpose, park takes reason, propose_close takes outcome_draft, reassign_owner takes to), but the schema's own field descriptions already state those same bindings.

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 ('Change a Campaign') and immediately defines the domain object as 'a named workstream inside a Space'. It then enumerates every supported action and routes reads to the sibling tools list_campaigns and get_campaign, so an agent can distinguish it from those siblings 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'For reads prefer list_campaigns and get_campaign' and gives per-action conditions for reassign_owner ('when the owner seat is revoked or you own it') and close (approval by a different principal, or confirm=true when a single principal remains). The only softness is the residual overlap between the 'get'/'list' actions in the enum and the preferred read siblings, which leaves a small ambiguity about which path to take.

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