Skip to main content
Glama

defer_intent

Leave work unfinished safely: a tripwire on paths or symbols that warns whoever next edits them (for example "webhooks in payments/ are half-done; finish them before changing this"). It fires once into their next tool result and briefing, and becomes a task in the team's CRM when one is connected. Returns the tripwire id and expiry.

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": {
      "note": "<note>"
    },
    "name": "defer_intent"
  }
}

Input Schema

NameRequiredDescriptionDefault
noteYesWhat is unfinished and what the next person should do.
pathsNoFiles whose next edit triggers the warning.
repo_idNoThe repository id, e.g. github.com/org/repo (the Cork briefing names it). Omit it to use the repo your session works in.
symbolsNoSymbol names whose next edit triggers it.
expires_daysNoDays until the tripwire expires (default 14).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / repo_id / description
      Previous value: -"The repository id, e.g. github.com/org/repo (the Collide briefing names it). Omit it to use the repo your session works in."New value: +"The repository id, e.g. github.com/org/repo (the Cork briefing names it). Omit it to use the repo your session works in."
  2. Changed2 schema fields changed
    • changedInput schema / properties / repo_id / description
      Previous value: -"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)."New value: +"The repository id, e.g. github.com/org/repo (the Collide briefing names it). Omit it to use the repo your session works in."
    • changedInput schema / required
      Previous value: -[
      -  "repo_id",
      -  "note"
      -]New value: +[
      +  "note"
      +]
  3. Changed5 schema fields changed
    • addedInput schema / properties / expires_days / description
      Added value: +"Days until the tripwire expires (default 14)."
    • addedInput schema / properties / note / description
      Added value: +"What is unfinished and what the next person should do."
    • addedInput schema / properties / paths / description
      Added value: +"Files whose next edit triggers the warning."
    • addedInput schema / properties / repo_id / description
      Added value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)."
    • addedInput schema / properties / symbols / description
      Added value: +"Symbol names whose next edit triggers it."
  4. Changed20 schema fields changed
    • removedInput schema / properties / expires_days / default
      Removed value: -14
    • removedInput schema / properties / expires_days / description
      Removed value: -"How many days until this tripwire or intent expires."
    • removedInput schema / properties / expires_days / title
      Removed value: -"Expires Days"
    • removedInput schema / properties / note / description
      Removed value: -"The tripwire note to leave on the given paths/symbols."
    • removedInput schema / properties / note / title
      Removed value: -"Note"
    • removedInput schema / properties / paths / anyOf
      Removed value: -[
      -  {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / paths / default
      Removed value: -null
    • removedInput schema / properties / paths / description
      Removed value: -"Repo-relative file paths this change will touch."
    • addedInput schema / properties / paths / items
      Added value: +{
      +  "type": "string"
      +}
    • removedInput schema / properties / paths / title
      Removed value: -"Paths"
    • addedInput schema / properties / paths / type
      Added value: +"array"
    • removedInput schema / properties / repo_id / description
      Removed value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch."
    • removedInput schema / properties / repo_id / title
      Removed value: -"Repo Id"
    • removedInput schema / properties / symbols / anyOf
      Removed value: -[
      -  {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / symbols / default
      Removed value: -null
    • removedInput schema / properties / symbols / description
      Removed value: -"Symbol names referenced by, or being changed in, this edit."
    • addedInput schema / properties / symbols / items
      Added value: +{
      +  "type": "string"
      +}
    • removedInput schema / properties / symbols / title
      Removed value: -"Symbols"
    • addedInput schema / properties / symbols / type
      Added value: +"array"
    • removedInput schema / title
      Removed value: -"defer_intentArguments"
  5. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true), the description discloses real behavior: it fires exactly once into the next editor's tool result and briefing, and spawns a CRM task when one is connected. It also states the return value (tripwire id and expiry) and that the default lifetime is 14 days, which is not visible in the annotations.

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?

Three sentences, front-loaded with purpose, then behavior, then return value, with no filler. The parenthetical example is long but it is the single most instructive part of the description, so it earns its space.

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?

With no output schema, the description correctly states what is returned (id and expiry), and all five parameters are documented in the schema. Minor gaps remain around permissions or whether repeated calls on the same path stack, but nothing essential to invoking it is missing.

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%, so the baseline is 3, but the description adds meaning: paths and symbols are trigger conditions for the next edit rather than mere labels, and the example note shows the intended content shape. It still does not clarify interaction between paths and symbols (AND vs OR) beyond what the schema says.

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 gives a concrete verb and resource: it places a tripwire on paths or symbols that warns the next editor of unfinished work. The tripwire metaphor is immediately explained with a realistic example note, so an agent can distinguish this from passive memory tools like remember or recall without opening the 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?

The framing 'leave work unfinished safely' plus the example makes the triggering situation clear: you are stopping mid-task and someone else will edit the same code. It does not explicitly exclude or name alternatives such as remember or claim, so the agent must infer when a tripwire beats a plain note.

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