Skip to main content
Glama

PumpGTM MCP server

Change AI search settings

update_ai_search_settings
Idempotent

Change how AI search runs; only the fields given change, and competitors, brandAliases and brandDomains replace their whole list. engines chooses which AI engines a check asks; each answer costs Energy. frequency weekly or daily repeats the checks one period from now, each within the daily limit; off pauses them (stop_ai_search_checks also cancels answers not asked yet). dailyLimitUsd caps what every AI search step together may spend in Energy per UTC day (1 Energy is $0.05). samples asks each engine 1 to 5 times per question per check, at the same cost each time. brandDomains lists other websites the company owns, so citations of them count as the company's own pages and they can be audited. Returns settings (the saved settings) and costs (what each paid step costs with them, in Energy). If AI search is not on for this workspace yet, this turns it on (aiSearchTurnedOn in the result says what it starts with). Only for a connection created by a current owner or admin of this workspace.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "update_ai_search_settings"
  }
}

Input Schema

NameRequiredDescriptionDefault
countryNoThe country whose buyers the engines answer for, such as US or GB. Omit to keep the current country.
enginesNoThe AI answer engines each check asks; every answer costs Energy. Omit to keep the current engines.
samplesNoHow many times each engine is asked each question per check, to even out answers that vary. Each extra sample costs as much as the first. Omit to keep the current number.
frequencyNoHow often checks repeat on their own, counted from now and within the daily limit; off pauses automatic checks. Omit to keep the current schedule.
competitorsNoThe competitors every answer is compared against. Replaces the whole list; omit to keep it.
workspaceIdNoA teammate's workspace you may manage: an active workspace ID from list_team_workspaces. Omit for your own workspace. Supply on every call for a teammate.
brandAliasesNoOther names the company goes by (product names, abbreviations), so answers using them count as naming it. Replaces the whole list; omit to keep it.
brandDomainsNoOther websites the company owns besides its company profile website; citations of them count as its own pages and they can be audited. Replaces the whole list; omit to keep it.
dailyLimitUsdNoThe most every paid AI search step together may spend in Energy per UTC day, in US dollars (1 Energy is $0.05). Omit to keep the current limit.

Output Schema

NameRequiredDescriptionDefault
costsYesWhat each paid step costs with these settings, in Energy.
settingsYesThe saved settings.
aiSearchTurnedOnNoPresent only when this call turned AI search on: what it now runs with. Tell the customer.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changed
    • changedInput schema / properties / brandAliases / description
      Previous value: -"Other names the company goes by, up to 10. Replaces the whole list."New value: +"Other names the company goes by (product names, abbreviations), so answers using them count as naming it. Replaces the whole list; omit to keep it."
    • changedInput schema / properties / brandDomains / description
      Previous value: -"Other websites the company owns besides its company profile website, up to 5 domains. Replaces the whole list."New value: +"Other websites the company owns besides its company profile website; citations of them count as its own pages and they can be audited. Replaces the whole list; omit to keep it."
    • changedInput schema / properties / competitors / description
      Previous value: -"The competitors to compare with, up to 12. Replaces the whole list."New value: +"The competitors every answer is compared against. Replaces the whole list; omit to keep it."
    • addedInput schema / properties / competitors / items / properties / aliases / description
      Added value: +"Other names the competitor goes by in answers, such as a product name."
    • addedInput schema / properties / competitors / items / properties / domains / description
      Added value: +"Websites the competitor owns, such as rival.com, so citations of them count as theirs."
    • addedInput schema / properties / competitors / items / properties / name / description
      Added value: +"The competitor's name as buyers know it."
    • changedInput schema / properties / country / description
      Previous value: -"Two-letter country code the engines answer for, such as US."New value: +"The country whose buyers the engines answer for, such as US or GB. Omit to keep the current country."
    • changedInput schema / properties / dailyLimitUsd / description
      Previous value: -"The most AI search may spend in Energy in one UTC day, in US dollars (1 Energy is $0.05), 0 to 1000. Every paid AI search step counts against it."New value: +"The most every paid AI search step together may spend in Energy per UTC day, in US dollars (1 Energy is $0.05). Omit to keep the current limit."
    • changedInput schema / properties / engines / description
      Previous value: -"The AI engines to ask. At least one."New value: +"The AI answer engines each check asks; every answer costs Energy. Omit to keep the current engines."
    • changedInput schema / properties / frequency / description
      Previous value: -"weekly or daily repeats the checks one period from now, each within the daily limit; off pauses them."New value: +"How often checks repeat on their own, counted from now and within the daily limit; off pauses automatic checks. Omit to keep the current schedule."
    • changedInput schema / properties / samples / description
      Previous value: -"How many times each engine is asked each question per check, 1 to 5. Each extra sample costs as much as the first."New value: +"How many times each engine is asked each question per check, to even out answers that vary. Each extra sample costs as much as the first. Omit to keep the current number."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": {},
      +  "properties": {
      +    "aiSearchTurnedOn": {
      +      "description": "Present only when this call turned AI search on: what it now runs with. Tell the customer.",
      +      "type": "string"
      +    },
      +    "costs": {
      +      "additionalProperties": {},
      +      "description": "What each paid step costs with these settings, in Energy.",
      +      "properties": {
      +        "checkEveryQuestionAbout": {
      +          "description": "About the Energy a check of every tracked question costs.",
      +          "type": "number"
      +        },
      +        "checkOneQuestionAbout": {
      +          "description": "About the Energy one question costs to check once on the chosen engines.",
      +          "type": "number"
      +        },
      +        "enginesUnavailable": {
      +          "description": "Chosen engines checks leave out for now (not in any price).",
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "githubAuditAtMost": {
      +          "description": "Most Energy a GitHub content audit can cost.",
      +          "type": "number"
      +        },
      +        "suggestQuestionsAbout": {
      +          "description": "About the Energy suggest_ai_search_questions costs.",
      +          "type": "number"
      +        },
      +        "websiteAuditAtMost": {
      +          "description": "Most Energy a website content audit can cost.",
      +          "type": "number"
      +        },
      +        "websiteScanAtMost": {
      +          "description": "Most Energy start_website_scan can cost.",
      +          "type": "number"
      +        },
      +        "whyUnavailable": {
      +          "description": "Why those engines are left out; null when none are.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "required": [
      +        "checkOneQuestionAbout",
      +        "checkEveryQuestionAbout",
      +        "suggestQuestionsAbout",
      +        "websiteScanAtMost",
      +        "websiteAuditAtMost",
      +        "githubAuditAtMost",
      +        "enginesUnavailable",
      +        "whyUnavailable"
      +      ],
      +      "type": "object"
      +    },
      +    "settings": {
      +      "additionalProperties": {},
      +      "description": "The saved settings.",
      +      "properties": {
      +        "brandAliases": {
      +          "description": "Other names the company goes by.",
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "brandDomains": {
      +          "description": "Other websites the company owns.",
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "competitors": {
      +          "description": "Tracked competitors every answer is compared against.",
      +          "items": {
      +            "additionalProperties": {},
      +            "properties": {
      +              "aliases": {
      +                "description": "Other names it goes by in answers.",
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "domains": {
      +                "description": "Websites it owns; citations of them count as its pages.",
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "name": {
      +                "description": "The competitor's name as buyers know it.",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "name",
      +              "domains",
      +              "aliases"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "country": {
      +          "description": "Two-letter code of the country the engines answer for, such as US.",
      +          "type": "string"
      +        },
      +        "dailyLimitUsd": {
      +          "description": "Most all AI search steps may spend per UTC day, in US dollars of Energy.",
      +          "type": "number"
      +        },
      +        "engines": {
      +          "description": "The AI engines each check asks.",
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "frequency": {
      +          "description": "How often checks repeat: weekly, daily or off.",
      +          "type": "string"
      +        },
      +        "nextCheckAt": {
      +          "description": "When the next automatic check runs (ISO time); null when none is scheduled.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "samples": {
      +          "description": "Times each engine is asked each question per check.",
      +          "type": "number"
      +        },
      +        "suggestions": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": {},
      +              "properties": {
      +                "competitors": {
      +                  "description": "Suggested competitors; track them with update_ai_search_settings competitors.",
      +                  "items": {
      +                    "additionalProperties": {},
      +                    "properties": {
      +                      "aliases": {
      +                        "description": "Other names it goes by in answers.",
      +                        "items": {
      +                          "type": "string"
      +                        },
      +                        "type": "array"
      +                      },
      +                      "domains": {
      +                        "description": "Websites it owns; citations of them count as its pages.",
      +                        "items": {
      +                          "type": "string"
      +                        },
      +                        "type": "array"
      +                      },
      +                      "name": {
      +                        "description": "The competitor's name as buyers know it.",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "name",
      +                      "domains",
      +                      "aliases"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "createdAt": {
      +                  "description": "When these were suggested (ISO time).",
      +                  "type": "string"
      +                },
      +                "questions": {
      +                  "description": "Suggested buyer questions; track the ones the customer wants with add_ai_search_questions.",
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "required": [
      +                "questions",
      +                "competitors",
      +                "createdAt"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "The latest suggested questions and competitors from a website scan or suggest_ai_search_questions; null when none have been made."
      +        }
      +      },
      +      "required": [
      +        "engines",
      +        "samples",
      +        "frequency",
      +        "nextCheckAt",
      +        "dailyLimitUsd",
      +        "competitors",
      +        "brandAliases",
      +        "brandDomains",
      +        "country",
      +        "suggestions"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "settings",
      +    "costs"
      +  ],
      +  "type": "object"
      +}
  2. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only say the tool is a non-read-only, idempotent, non-destructive write. The description goes well beyond that: it discloses that competitors, brandAliases and brandDomains replace their entire lists, that engines and samples cost Energy per answer, that dailyLimitUsd is enforced per UTC day, that frequency schedules count one period from now, and that the call will turn AI search on if it is not yet enabled. Those are exactly the non-obvious side effects an agent needs.

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?

It is front-loaded with the core semantics (partial update, list replacement) and then walks parameters in a consistent order before ending on return values and preconditions. It's dense with semicolons and parentheticals, so it is slightly harder to scan than it needs to be, but every sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter, all-optional mutation with no required fields, the description covers the things the schema cannot: replace-vs-merge list behavior, cost implications, the enable-on-first-use side effect, the permission requirement, and (briefly) the returned settings, costs and aiSearchTurnedOn. An output schema exists, so it rightly does not detail return structure further.

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. The description still adds meaning the schema doesn't: it explains that engines take Energy, that samples multiplies cost at the same price per sample, that dailyLimitUsd is an aggregate cap across all AI search steps, and that brandDomains listing makes those sites auditable as the company's own. That is genuine added semantics rather than restatement.

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?

"Change how AI search runs" is a specific verb+resource, and the follow-on clause "only the fields given change" immediately scopes the operation. It also names the sibling stop_ai_search_checks when describing the pause case, 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?

It states the trigger condition (changing AI search configuration for this workspace), points at stop_ai_search_checks for the cancellation case, and gives the key prerequisite: "Only for a connection created by a current owner or admin of this workspace." It doesn't enumerate other alternatives (e.g. run_ai_search_check vs. saving settings), which keeps it short of a 5.

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.