Skip to main content
Glama

Report a mission stuck or refused

mission_stuck

Reports a mission you couldn't send, and why: a login you don't have, a page that changed, a button that isn't there. If the platform showed a warning, a captcha, a rate limit or a restriction, say which in saw and send nothing more on that platform this wake. If the platform won't take the text as it is (too long, a blocked link), report it here: never shorten or change it. With refused true: you won't send it. Marsell never rewords a refused mission to get past the refusal: it goes on the owner's own list to send themselves, and two refusals of the same kind on one platform within a week stop Marsell giving you those.

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": {
      "mission_id": "<mission_id>",
      "why": "<why>"
    },
    "name": "mission_stuck"
  }
}

Input Schema

NameRequiredDescriptionDefault
sawNoWhat the platform showed, if anything: banner (a warning), captcha, rate_limit or restricted.
whyYesWhy it couldn't be sent, or why you won't send it, in plain words.
projectNoThe project's id or exact name. Optional when the account has one project.
refusedNotrue: you won't send this mission.
sessionNoA short name for this session of yours (letters, digits, dots, dashes, colons or underscores, up to 64), made up once when this wake starts and passed the same to missions_next and every report. A mission is held for the session that took it: another session gets a different one, or hears when to come back, and only the session that took a mission reports it.
mission_idYesThe mission's id from missions_next (ms- and 16 hex characters).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, openWorldHint=false, destructiveHint=false, so the description carries the real consequences and does so well: 'send nothing more on that platform this wake', refused missions go on 'the owner's own list to send themselves', and 'two refusals of the same kind on one platform within a week stop Marsell giving you those'. That penalty mechanism is exactly the kind of downstream effect an agent cannot get from structured fields.

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?

Purpose is front-loaded and the remaining sentences carry policy rather than filler, but the middle sentence is a run-on and contains the typo 'say which in saw', and it duplicates the saw enum that the schema already documents. Dense and mostly earning its place, with some avoidable repetition.

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 six-parameter mutation with full schema coverage and no output schema, it covers when to call, what to report, and the consequence for refused missions. The remaining gap is the stuck (non-refused) path: it doesn't say what happens to the mission afterwards or whether it is released back to the queue or retried on another session.

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%, so the schema already defines saw's enum, the optional project, the session naming convention and 'refused: true: you won't send this mission'. The description restates the enum items and the meaning of refused almost verbatim, adding only the consequence attached to refused (owner list, two-strike suppression), which is baseline rather than compensating detail.

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?

The opening sentence gives a specific verb and resource: 'Reports a mission you couldn't send, and why', and distinguishes the stuck case (login missing, page changed, button gone) from the refused case ('With refused true: you won't send it'). It never names the adjacent siblings mission_done / mission_skipped, so the boundary with a deliberate skip has to be inferred, but an agent can still tell what this tool is for.

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?

It enumerates concrete trigger conditions: missing login, changed page, absent button, platform warning/captcha/rate limit/restriction, and text that is too long or contains a blocked link. The refused branch is clearly gated ('With refused true: you won't send it'), while 'never shorten or change it' tells the agent what not to do instead of calling this tool.

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.