Skip to main content
Glama
This connector has been deprecated

Duplicate listing. The official PumpGTM connector is https://glama.ai/mcp/connectors/com.pumpgtm/mcp (same server, https://mcp.pumpgtm.com/mcp).

Check AI search now

run_ai_search_check

Ask the chosen engines every tracked question now, or only questionIds. Each answer costs Energy (about costs.checkOneQuestionAbout per question) and the check stays within today's daily limit: questions that would pass it are skipped and counted in skippedForDailyLimit. With confirmed=true it returns the answers queued, skippedForDailyLimit and the Energy it charges. The first check also starts the weekly or daily schedule. Answers usually arrive within a few minutes; read them with get_ai_search_overview or get_ai_search_question. Without confirmed=true nothing runs and nothing is charged: it returns the Energy cost, the Energy left and today's AI search limit, with the call that runs it, or the money answer when Energy can't cover it. Tell the customer the cost, then call again with confirmed=true. 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": "run_ai_search_check"
  }
}

Input Schema

NameRequiredDescriptionDefault
confirmedNofalse prices the step and changes nothing; true runs it and spends Energy. Send true only after the customer agrees to the price.
questionIdsNoTracked questions to check, from get_ai_search_overview or add_ai_search_questions. Omit to check every tracked question.
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.

Output Schema

NameRequiredDescriptionDefault
nextNoPreview only: the exact call that runs the step once the customer agrees; null when it can't run now.
energyYesWhat the step costs and the Energy left.
queuedNoRun: answers being asked now.
answersNoPreview: answers the check asks for.
enginesNoPreview: the engines it asks.
messageNoA plain summary of the price or of what started, to pass on to the customer.
samplesNoPreview: times each engine is asked each question.
startedNofalse on the priced preview: nothing ran or was charged.
frequencyNoRun: how often checks now repeat.
questionsNoPreview: how many questions the check asks.
readyToRunNoPreview only: true when Energy and today's limit allow the step; then call next after the customer agrees.
nextCheckAtNoRun: when the next automatic check runs.
whyUnavailableNoPreview: why those engines are left out.
aiSearchTurnedOnNoPresent only when this call turned AI search on: what it now runs with. Tell the customer.
enginesUnavailableNoPreview: chosen engines left out for now.
skippedForDailyLimitNoRun: answers skipped because they would pass today's limit.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / confirmed / description
      Previous value: -"false (default) prices the step and changes nothing; true runs it."New value: +"false prices the step and changes nothing; true runs it and spends Energy. Send true only after the customer agrees to the price."
    • changedInput schema / properties / questionIds / description
      Previous value: -"Only these tracked questions. Omit to check every tracked question."New value: +"Tracked questions to check, from get_ai_search_overview or add_ai_search_questions. Omit to check every tracked question."
    • 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"
      +    },
      +    "answers": {
      +      "description": "Preview: answers the check asks for.",
      +      "type": "number"
      +    },
      +    "energy": {
      +      "additionalProperties": {},
      +      "description": "What the step costs and the Energy left.",
      +      "properties": {
      +        "cost": {
      +          "description": "Preview: the step's Energy cost.",
      +          "type": "number"
      +        },
      +        "costAbout": {
      +          "description": "Run: about the Energy this step is charging.",
      +          "type": "number"
      +        },
      +        "costAtMost": {
      +          "description": "Run: the most Energy this step can charge.",
      +          "type": "number"
      +        },
      +        "costIsMaximum": {
      +          "description": "Preview: true when cost is a ceiling rather than an estimate.",
      +          "type": "boolean"
      +        },
      +        "dailyLimitUsd": {
      +          "description": "Preview: today's AI search limit in US dollars.",
      +          "type": "number"
      +        },
      +        "nextStep": {
      +          "description": "Preview when Energy is short: how the customer gets more.",
      +          "type": "string"
      +        },
      +        "remaining": {
      +          "description": "Energy the workspace has left (null when unreadable).",
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "remainingBefore": {
      +          "description": "Run: Energy the workspace had before the step.",
      +          "type": "number"
      +        },
      +        "required": {
      +          "description": "Preview when Energy is short: Energy the step needs.",
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "todayLimitRemaining": {
      +          "description": "Preview: Energy today's AI search limit still allows.",
      +          "type": "number"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "engines": {
      +      "description": "Preview: the engines it asks.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "enginesUnavailable": {
      +      "description": "Preview: chosen engines left out for now.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "frequency": {
      +      "description": "Run: how often checks now repeat.",
      +      "type": "string"
      +    },
      +    "message": {
      +      "description": "A plain summary of the price or of what started, to pass on to the customer.",
      +      "type": "string"
      +    },
      +    "next": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {
      +            "arguments": {
      +              "additionalProperties": {},
      +              "description": "The exact arguments to send, including confirmed=true.",
      +              "propertyNames": {
      +                "type": "string"
      +              },
      +              "type": "object"
      +            },
      +            "reason": {
      +              "description": "Why and when to make the call.",
      +              "type": "string"
      +            },
      +            "requiresConfirmation": {
      +              "description": "True: call it only after the customer agrees to the price.",
      +              "type": "boolean"
      +            },
      +            "tool": {
      +              "description": "The tool to call to run the step.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "tool",
      +            "arguments",
      +            "reason",
      +            "requiresConfirmation"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Preview only: the exact call that runs the step once the customer agrees; null when it can't run now."
      +    },
      +    "nextCheckAt": {
      +      "description": "Run: when the next automatic check runs.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "questions": {
      +      "description": "Preview: how many questions the check asks.",
      +      "type": "number"
      +    },
      +    "queued": {
      +      "description": "Run: answers being asked now.",
      +      "type": "number"
      +    },
      +    "readyToRun": {
      +      "description": "Preview only: true when Energy and today's limit allow the step; then call next after the customer agrees.",
      +      "type": "boolean"
      +    },
      +    "samples": {
      +      "description": "Preview: times each engine is asked each question.",
      +      "type": "number"
      +    },
      +    "skippedForDailyLimit": {
      +      "description": "Run: answers skipped because they would pass today's limit.",
      +      "type": "number"
      +    },
      +    "started": {
      +      "description": "false on the priced preview: nothing ran or was charged.",
      +      "type": "boolean"
      +    },
      +    "whyUnavailable": {
      +      "description": "Preview: why those engines are left out.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "energy"
      +  ],
      +  "type": "object"
      +}
  2. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare mutable/open-world/non-idempotent; the description adds the substantive behavior: Energy is charged per question at costs.checkOneQuestionAbout, questions exceeding today's limit are silently skipped and counted in skippedForDailyLimit, and the first check starts the weekly/daily schedule. It also discloses a side effect not implied by the annotations — turning on AI search for the workspace when it is off.

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?

Front-loads the action and the cost/confirmation gate, then layers on limits and enablement. Dense but nearly every clause carries operational meaning; the permission sentence at the end is a little tacked-on and a few sentences run long, costing a point.

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 metered, mutating, non-idempotent tool with side effects, the description covers cost model, limit enforcement, confirmation gating, enablement side effect, permission scope, and where results surface. An output schema exists, yet the description still names the key result fields an agent must act on.

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 goes beyond it by explaining what confirmed=true actually returns (queued answers, skippedForDailyLimit, Energy charged) versus the pricing preview (cost, Energy left, daily limit, or an upsell path when Energy is insufficient). The questionIds default is only restated from the schema, which keeps this from a 5.

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 ('Ask the chosen engines every tracked question now, or only questionIds') and distinguishes the scoped variant from the all-questions variant in the same sentence. The action is unmistakable and separate from the read siblings get_ai_search_overview and get_ai_search_question.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly lays out the two-phase pattern: without confirmed=true nothing runs or is charged, tell the customer the cost, then call again with confirmed=true. It also names where to read the answers (get_ai_search_overview, get_ai_search_question) and warns only a current owner/admin connection qualifies.

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