Skip to main content
Glama

Autopilot: end this conversation's run with its report

autopilot_finish

End the Autopilot run that autopilot_start began in this conversation: stores the short report on the run page (with any proposals the run recorded) and unlocks nothing else: further changes need a new autopilot_start. Emails the agency only when it is needed, a client report waits for review or went out automatically, or a client stopped its reports or one bounced, unless notify is false (a routine that sends its own summary).

Input Schema

NameRequiredDescriptionDefault
doneNoAt most 3 things done (or, in shadow, would do), 15 words each
notifyNofalse when the caller sends its own summary to the agency
run_idYesThe run_id autopilot_start returned
statusYes
changesNoThe change log: one entry for every change made this run, with the evidence and the measurable result expected (and by when). The dashboard shows each as one plain line (what, linked) and why_short; why/expected sit behind Details.
detailsNoShort notes for the run page, incl. the chain of causes checked
lessonsNoWhat this run learned about the client, specific and testable; the next run reads them
headlineYesAt most 20 words. The communication standard (Harrison 10/29/26): lead with the real problems, e.g. "Two real problems: the contact form's tracking stopped and one ad group spends with no leads." or "Nothing wrong this week: published a post and blocked 6 wasted searches."
problemsNoOnly REAL problems (a broken thing, money wasted, leads lost), most important first; routine work is not a problem. Empty when nothing is wrong.
needs_youNoThe ONE thing only a person can do, if anything
client_reportNoLive runs: the words of this week's client report (the instructions' step 5), in the client's report language when the instructions name one. Agency Autopilot adds the numbers and leads, checks the words, and drafts it for the agency to send (or, when the client's report_mode is auto and it is not their first report, sends it). Leave out in shadow.
changes_elsewhereNoEach change made through a connector other than Agency Autopilot (e.g. the site's own WordPress connector), one line each, so the next run can judge it
client_report_urlNo
no_keyword_map_reasonNoOnly when an SEO client has no keyword map and one truly can't be built this run (e.g. Search Console can't be read): why
no_account_plan_reasonNoOnly when an account linked after set-up can't be planned this run (e.g. its data can't be read): why

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / client_report / properties / work_done / description
      Previous value: -"What shipped this week, past tense, one line each"New value: +"What shipped, past tense, one line each, with the why in the owner's words. Agency Autopilot also adds every change logged for this client since the last SENT report (made by anyone: Autopilot, the agency's own chat, the Bridge), so lines you don't write still appear; write the ones that need context (English reports merge them; in another language, cover every change yourself)."
  2. Changed5 schema fields changed
    • changedInput schema / properties / changes / description
      Previous value: -"The change log: one entry for every change made this run, with the evidence and the measurable result expected (and by when)"New value: +"The change log: one entry for every change made this run, with the evidence and the measurable result expected (and by when). The dashboard shows each as one plain line (what, linked) and why_short; why/expected sit behind Details."
    • addedInput schema / properties / changes / items / properties / link
      Added value: +{
      +  "description": "The thing itself when there is one: the post's URL from gbp_create_post, the live page, the campaign",
      +  "format": "uri",
      +  "maxLength": 500,
      +  "type": "string"
      +}
    • addedInput schema / properties / changes / items / properties / why_short
      Added value: +{
      +  "description": "Why, in plain words, at most 12 (\"to keep the profile active and improve visibility\"); shown by default",
      +  "maxLength": 90,
      +  "type": "string"
      +}
    • changedInput schema / properties / headline / description
      Previous value: -"At most 20 words"New value: +"At most 20 words. The communication standard (Harrison 10/29/26): lead with the real problems, e.g. \"Two real problems: the contact form's tracking stopped and one ad group spends with no leads.\" or \"Nothing wrong this week: published a post and blocked 6 wasted searches.\""
    • addedInput schema / properties / problems
      Added value: +{
      +  "default": [],
      +  "description": "Only REAL problems (a broken thing, money wasted, leads lost), most important first; routine work is not a problem. Empty when nothing is wrong.",
      +  "items": {
      +    "properties": {
      +      "autopilot_can_fix": {
      +        "description": "true: Autopilot can do it (it asks \"Want Autopilot to do it?\"); false: it needs the agency (say what)",
      +        "type": "boolean"
      +      },
      +      "fix": {
      +        "description": "The fix, one line",
      +        "maxLength": 160,
      +        "type": "string"
      +      },
      +      "what": {
      +        "description": "What's wrong, one plain sentence",
      +        "maxLength": 200,
      +        "type": "string"
      +      },
      +      "why_it_matters": {
      +        "description": "Why it matters to the client, in money or leads where possible",
      +        "maxLength": 160,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "what",
      +      "why_it_matters",
      +      "fix",
      +      "autopilot_can_fix"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 5,
      +  "type": "array"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / no_account_plan_reason
      Added value: +{
      +  "description": "Only when an account linked after set-up can't be planned this run (e.g. its data can't be read): why",
      +  "maxLength": 300,
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / no_keyword_map_reason
      Added value: +{
      +  "description": "Only when an SEO client has no keyword map and one truly can't be built this run (e.g. Search Console can't be read): why",
      +  "maxLength": 300,
      +  "type": "string"
      +}
  5. Changed1 schema field changed
    • changedInput schema / properties / client_report / description
      Previous value: -"Live runs: the words of this week's client report (the instructions' step 5). Agency Autopilot adds the numbers and leads, checks the words, and drafts it for the agency to send (or, when the client's report_mode is auto and it is not their first report, sends it). Leave out in shadow."New value: +"Live runs: the words of this week's client report (the instructions' step 5), in the client's report language when the instructions name one. Agency Autopilot adds the numbers and leads, checks the words, and drafts it for the agency to send (or, when the client's report_mode is auto and it is not their first report, sends it). Leave out in shadow."
  6. Changed1 schema field changed
    • changedInput schema / properties / client_report / description
      Previous value: -"Live runs: the words of this week's client report (the instructions' step 5). Agency Autopilot adds the numbers and leads, checks the words, and drafts it for the agency to send. Leave out in shadow."New value: +"Live runs: the words of this week's client report (the instructions' step 5). Agency Autopilot adds the numbers and leads, checks the words, and drafts it for the agency to send (or, when the client's report_mode is auto and it is not their first report, sends it). Leave out in shadow."
  7. Changed1 schema field changed
    • addedInput schema / properties / client_report
      Added value: +{
      +  "description": "Live runs: the words of this week's client report (the instructions' step 5). Agency Autopilot adds the numbers and leads, checks the words, and drafts it for the agency to send. Leave out in shadow.",
      +  "properties": {
      +    "greeting_name": {
      +      "description": "The owner's first name, if known",
      +      "maxLength": 60,
      +      "type": "string"
      +    },
      +    "next_week": {
      +      "description": "One sentence, optional",
      +      "maxLength": 600,
      +      "type": "string"
      +    },
      +    "wins": {
      +      "description": "1 to 3: the week's best news for the owner, biggest first, in their words",
      +      "items": {
      +        "maxLength": 400,
      +        "type": "string"
      +      },
      +      "maxItems": 6,
      +      "type": "array"
      +    },
      +    "work_done": {
      +      "default": [],
      +      "description": "What shipped this week, past tense, one line each",
      +      "items": {
      +        "maxLength": 300,
      +        "type": "string"
      +      },
      +      "maxItems": 8,
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "wins"
      +  ],
      +  "type": "object"
      +}
  8. Changed1 schema field changed
    • changedInput schema / properties / changes_elsewhere / description
      Previous value: -"Each change made through a connector other than Agency MCP (e.g. the site's own WordPress connector), one line each, so the next run can judge it"New value: +"Each change made through a connector other than Agency Autopilot (e.g. the site's own WordPress connector), one line each, so the next run can judge it"
  9. Changed1 schema field changed
    • addedInput schema / properties / changes
      Added value: +{
      +  "default": [],
      +  "description": "The change log: one entry for every change made this run, with the evidence and the measurable result expected (and by when)",
      +  "items": {
      +    "properties": {
      +      "expected": {
      +        "maxLength": 200,
      +        "type": "string"
      +      },
      +      "what": {
      +        "maxLength": 240,
      +        "type": "string"
      +      },
      +      "why": {
      +        "maxLength": 300,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "what",
      +      "why",
      +      "expected"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 25,
      +  "type": "array"
      +}
  10. Added

TDQS

A4/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing the real side effect: an email to the agency is sent only under specific conditions (client report awaiting review, auto-sent, stopped, or bounced), suppressed by notify=false. It also states it 'unlocks nothing else', which usefully bounds the mutation. It does not address what happens on a repeat/already-ended call, leaving the non-idempotent hint unexplained.

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?

The opening clause is well front-loaded, but the second sentence is a long compound construction with nested parentheses and an 'or... or... unless' chain that is hard to parse on first read. It is dense rather than bloated, but structure could be tightened into separate sentences.

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 15-parameter terminal tool with nested objects and no output schema, the description supplies the crucial lifecycle and emailing behavior that the schema cannot express. What it omits is minor: the return value of the call and behavior when the run was already ended.

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 already 87%, so the schema carries most parameter meaning. The description only adds context for notify (routine sends its own summary) and the client_report email path, which largely restates the schema's own notify description; nothing is said about status, headline, or the shadow-mode fields.

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 ('End the Autopilot run that autopilot_start began in this conversation') and immediately says what it persists (the report plus recorded proposals). This distinguishes it cleanly from autopilot_start and the other autopilot_* siblings.

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?

Clear that it is the closing step of a run and that 'further changes need a new autopilot_start', which tells the agent not to reuse the finished run. It also carves out the routine case via notify, but never names alternatives such as autopilot_decline or whether a run can be ended without a report.

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.