Skip to main content
Glama

Autopilot: save the set-up answers

autopilot_setup_save
DestructiveIdempotent

Saves the set-up answers (the agency's, and a client's with client_answers) and applies them: the change types Autopilot may make itself, the client-report choice and standing rules for its runs. A client that is on moves to shadow if the answers call for it; saving never switches a client on (off stays off, shadow stays shadow): autopilot_set does that.

Input Schema

NameRequiredDescriptionDefault
agencyNoThe agency's answers (asked once; pass again to change them)
clientNoClient name from list_clients; needed with client_answers
client_answersNoThis client's answers (answers to questions added later are kept and read by the server)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / client_answers / properties / lead_source
      Added value: +{
      +  "description": "Where this client's real leads end up",
      +  "enum": [
      +    "crm",
      +    "forms",
      +    "analytics",
      +    "ads",
      +    "elsewhere",
      +    "unsure"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / client_answers / properties / other / description
      Previous value: -"Each question's \"Something else\" box, by question id (services, reach, low_star_reviews)"New value: +"Each question's \"Something else\" box, by question id (services, reach, low_star_reviews, lead_source)"
  2. Changed12 schema fields changed
    • addedInput schema / properties / agency / properties / other
      Added value: +{
      +  "additionalProperties": {
      +    "maxLength": 300,
      +    "type": "string"
      +  },
      +  "description": "Each question's \"Something else\" box, by question id (use_case, hands_on, hear, client_report): the agency's own words, followed by Autopilot",
      +  "propertyNames": {
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / agency / properties / use_case / anyOf
      Added value: +[
      +  {
      +    "enum": [
      +      "full",
      +      "ads",
      +      "seo",
      +      "monitor"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "items": {
      +      "enum": [
      +        "full",
      +        "google_ads",
      +        "meta_ads",
      +        "seo",
      +        "website",
      +        "business_profile",
      +        "watch"
      +      ],
      +      "type": "string"
      +    },
      +    "minItems": 1,
      +    "type": "array"
      +  }
      +]
    • addedInput schema / properties / agency / properties / use_case / description
      Added value: +"What the agency does for most clients: tick any of google_ads, meta_ads, seo, website, business_profile, watch (full = the whole job). The four older bundles still work."
    • removedInput schema / properties / agency / properties / use_case / enum
      Removed value: -[
      -  "full",
      -  "ads",
      -  "seo",
      -  "monitor"
      -]
    • removedInput schema / properties / agency / properties / use_case / type
      Removed value: -"string"
    • addedInput schema / properties / client_answers / properties / not_offered
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "maxItems": 15,
      +      "type": "array"
      +    },
      +    {
      +      "type": "string"
      +    }
      +  ],
      +  "description": "Services the business does NOT sell (the agency unticked them): never targeted or praised"
      +}
    • addedInput schema / properties / client_answers / properties / offers_shown
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "maxItems": 15,
      +      "type": "array"
      +    },
      +    {
      +      "type": "string"
      +    }
      +  ],
      +  "description": "The services set-up showed (from autopilot_setup_questions); any not in offers are saved as not offered"
      +}
    • addedInput schema / properties / client_answers / properties / other
      Added value: +{
      +  "additionalProperties": {
      +    "maxLength": 300,
      +    "type": "string"
      +  },
      +  "description": "Each question's \"Something else\" box, by question id (services, reach, low_star_reviews)",
      +  "propertyNames": {
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / client_answers / properties / services / anyOf
      Added value: +[
      +  {
      +    "enum": [
      +      "agency",
      +      "full",
      +      "ads",
      +      "seo",
      +      "monitor"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "items": {
      +      "enum": [
      +        "agency",
      +        "full",
      +        "google_ads",
      +        "meta_ads",
      +        "seo",
      +        "website",
      +        "business_profile",
      +        "watch"
      +      ],
      +      "type": "string"
      +    },
      +    "type": "array"
      +  }
      +]
    • changedInput schema / properties / client_answers / properties / services / description
      Previous value: -"What the agency does for this client; agency (default) = its usual answer"New value: +"What the agency does for this client, ticked (google_ads, meta_ads, seo, website, business_profile, watch); agency (default) = its usual answer"
    • removedInput schema / properties / client_answers / properties / services / enum
      Removed value: -[
      -  "agency",
      -  "full",
      -  "ads",
      -  "seo",
      -  "monitor"
      -]
    • removedInput schema / properties / client_answers / properties / services / type
      Removed value: -"string"
  3. Changed18 schema fields changed
    • addedInput schema / properties / client_answers / additionalProperties
      Added value: +{}
    • changedInput schema / properties / client_answers / description
      Previous value: -"This client's answers"New value: +"This client's answers (answers to questions added later are kept and read by the server)"
    • addedInput schema / properties / client_answers / properties / competitors / anyOf
      Added value: +[
      +  {
      +    "items": {
      +      "type": "string"
      +    },
      +    "maxItems": 5,
      +    "type": "array"
      +  },
      +  {
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / client_answers / properties / competitors / items
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / client_answers / properties / competitors / maxItems
      Removed value: -5
    • removedInput schema / properties / client_answers / properties / competitors / type
      Removed value: -"array"
    • addedInput schema / properties / client_answers / properties / low_star_reviews / anyOf
      Added value: +[
      +  {
      +    "type": "boolean"
      +  },
      +  {
      +    "enum": [
      +      "true",
      +      "false"
      +    ],
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / client_answers / properties / low_star_reviews / type
      Removed value: -"boolean"
    • addedInput schema / properties / client_answers / properties / off_limits / anyOf
      Added value: +[
      +  {
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "string"
      +  }
      +]
    • addedInput schema / properties / client_answers / properties / off_limits / description
      Added value: +"Lists may be sent as one per line"
    • removedInput schema / properties / client_answers / properties / off_limits / items
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / client_answers / properties / off_limits / type
      Removed value: -"array"
    • addedInput schema / properties / client_answers / properties / offers / anyOf
      Added value: +[
      +  {
      +    "items": {
      +      "type": "string"
      +    },
      +    "maxItems": 15,
      +    "type": "array"
      +  },
      +  {
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / client_answers / properties / offers / items
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / client_answers / properties / offers / maxItems
      Removed value: -15
    • removedInput schema / properties / client_answers / properties / offers / type
      Removed value: -"array"
    • addedInput schema / properties / client_answers / properties / offers_more
      Added value: +{
      +  "description": "Anything the agency adds to what it sells, one per line",
      +  "type": "string"
      +}
    • changedInput schema / properties / client_answers / required
      Previous value: -[
      -  "win",
      -  "off_limits"
      -]New value: +[
      +  "win"
      +]
  4. Changed1 schema field changed
    • addedInput schema / properties / client_answers / properties / offers
      Added value: +{
      +  "description": "What it sells, confirmed by the agency: what the business is and who it's for, then each product, service or integration (the set-up shows what Autopilot read on the site)",
      +  "items": {
      +    "type": "string"
      +  },
      +  "maxItems": 15,
      +  "type": "array"
      +}
  5. Changed2 schema fields changed
    • addedInput schema / properties / client_answers / properties / competitors
      Added value: +{
      +  "description": "Competitors the agency knows of (websites); studied when the search plan is built",
      +  "items": {
      +    "type": "string"
      +  },
      +  "maxItems": 5,
      +  "type": "array"
      +}
    • addedInput schema / properties / client_answers / properties / reach
      Added value: +{
      +  "description": "Where its customers come from: local (default), the whole country, or anywhere",
      +  "enum": [
      +    "local",
      +    "country",
      +    "world"
      +  ],
      +  "type": "string"
      +}
  6. Changed3 schema fields changed
    • addedInput schema / properties / client_answers / properties / win / description
      Added value: +"Pick any that apply; may be empty when win_note says it"
    • changedInput schema / properties / client_answers / properties / win / items / enum
      Previous value: -[
      -  "calls",
      -  "form_leads",
      -  "booked_jobs",
      -  "online_sales"
      -]New value: +[
      +  "calls",
      +  "form_leads",
      +  "booked_jobs",
      +  "online_sales",
      +  "signups_demos"
      +]
    • addedInput schema / properties / client_answers / properties / win_note / description
      Added value: +"The win in their own words: more precise, or one the options don't cover (counts on its own)"
  7. Added

TDQS

A4.1/5.0
Behavior4/5

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

Adds real state-change disclosure beyond the annotations: a client that is on moves to shadow if answers call for it, off stays off, shadow stays shadow. This meaningfully explains the destructiveHint=true profile (existing state can be downgraded) and the idempotency framing. What remains unexplained is why the destructive flag is set at all beyond the shadow move — i.e. what else overwriting answers destroys.

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 tight sentences, front-loaded with the action and its effect before the state-transition caveat. The parenthetical and the colon-joined clause make it slightly dense but nothing is wasted.

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 nested-object mutation with no output schema, it covers what is written, what side effects occur, and what the caller must do separately. The only gap is return/confirmation behavior after saving, which the agent has to infer from the annotations.

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 description coverage is 100% and nested properties are thoroughly documented, so the baseline is 3. The description adds only the agency-vs-client split and that client_answers rides with client, which the schema already implies; it contributes little parameter meaning the schema doesn't.

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+resource pair ("saves the set-up answers ... and applies them") and enumerates what gets applied (change types, client-report choice, standing rules). It also names the sibling boundary against autopilot_set, so an agent can distinguish the two without opening either 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?

Clearly frames when this is the right call: saving agency answers, or a client's answers when client_answers is passed, and explicitly excludes the one adjacent action ("saving never switches a client on ... autopilot_set does that"). No guidance on the ordering with autopilot_setup_questions or on when to re-save, so it stops just short of full when/when-not coverage.

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.