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).

One AI search answer in full

get_ai_search_answer
Read-onlyIdempotent

Returns answer: one engine answer with its full text (up to 20,000 characters), every cited page and how it treats the company and tracked competitors. Use an answerId from get_ai_search_question. Read-only and free.

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": {
      "answerId": "<answerId>"
    },
    "name": "get_ai_search_answer"
  }
}

Input Schema

NameRequiredDescriptionDefault
answerIdYesAn answerId from the answers in get_ai_search_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
answerYesThe answer in full, with every cited page.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / answerId / description
      Previous value: -"An answerId from a question's answers."New value: +"An answerId from the answers in get_ai_search_question."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": {},
      +  "properties": {
      +    "answer": {
      +      "additionalProperties": {},
      +      "description": "The answer in full, with every cited page.",
      +      "properties": {
      +        "answerId": {
      +          "description": "Pass to get_ai_search_answer for the full text.",
      +          "type": "string"
      +        },
      +        "answeredAt": {
      +          "description": "When the engine answered (ISO time); null when not recorded.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "citationCount": {
      +          "description": "How many pages it cites in total.",
      +          "type": "number"
      +        },
      +        "citations": {
      +          "description": "Pages the answer cites (up to 10 here, up to 50 in get_ai_search_answer).",
      +          "items": {
      +            "additionalProperties": {},
      +            "properties": {
      +              "category": {
      +                "description": "Who owns the page, as the customer acts on it: own, competitor, ugc (community post to join), review (listing to claim), reference, news or other (often a list to pitch).",
      +                "type": "string"
      +              },
      +              "competitor": {
      +                "description": "The tracked competitor that owns the page; null otherwise.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "domain": {
      +                "description": "The cited page's domain.",
      +                "type": "string"
      +              },
      +              "rank": {
      +                "description": "The citation's order in the answer (1 is first).",
      +                "type": "number"
      +              },
      +              "title": {
      +                "description": "The cited page's title; null when unknown.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "url": {
      +                "description": "The cited page.",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "rank",
      +              "url",
      +              "domain",
      +              "title",
      +              "category",
      +              "competitor"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "competitorsNamed": {
      +          "description": "Tracked competitors the answer names, first named first.",
      +          "items": {
      +            "additionalProperties": {},
      +            "properties": {
      +              "name": {
      +                "description": "The tracked competitor's name.",
      +                "type": "string"
      +              },
      +              "position": {
      +                "description": "Where it is named among tracked companies (1 is first); null when unknown.",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "sentiment": {
      +                "description": "How the answer treats it: positive, neutral, negative or mixed; null when not judged.",
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "name",
      +              "position",
      +              "sentiment"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "engine": {
      +          "description": "The AI engine that answered, such as chatgpt or perplexity.",
      +          "type": "string"
      +        },
      +        "mentionsYou": {
      +          "description": "Whether the answer names the company; null until it has been read.",
      +          "type": [
      +            "boolean",
      +            "null"
      +          ]
      +        },
      +        "position": {
      +          "description": "Where the company is named among tracked companies (1 is first); null when not named.",
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "questionId": {
      +          "description": "The tracked question this answers.",
      +          "type": "string"
      +        },
      +        "quote": {
      +          "description": "The passage that names the company (up to 600 characters); null when it doesn't.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "searchedFor": {
      +          "description": "What the engine searched the web for to answer (up to 10); useful topics to write about.",
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "sentiment": {
      +          "description": "How the answer treats the company when it names it: positive, neutral, negative or mixed; null when not named or not judged.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "status": {
      +          "description": "completed when it was read and judged; failed when it was saved but couldn't be judged (it then has no mentionsYou).",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The answer text, cut to this tool's length.",
      +          "type": "string"
      +        },
      +        "textTruncated": {
      +          "description": "True when text was cut; get_ai_search_answer reads it in full.",
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "answerId",
      +        "questionId",
      +        "engine",
      +        "status",
      +        "answeredAt",
      +        "mentionsYou",
      +        "sentiment",
      +        "position",
      +        "quote",
      +        "competitorsNamed",
      +        "citations",
      +        "citationCount",
      +        "searchedFor",
      +        "text",
      +        "textTruncated"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "answer"
      +  ],
      +  "type": "object"
      +}
  2. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so 'Read-only and free' is largely redundant. What the description adds beyond them is the 20,000-character truncation bound and the shape of the returned payload (cited pages plus competitor treatment), which is genuinely useful calling context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the return shape and the provenance rule for answerId; no filler. The minor redundancy of 'Read-only and free' is offset by its role as a quick safety cue.

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?

An output schema exists, so return values need not be fully spelled out, and the description still gives a helpful summary of payload contents. The only gap is silent on the optional workspaceId/teammate case, which the schema does cover, so an agent is not blocked.

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%, so both answerId and the teammate-workspaceId semantics are already documented in the schema. The description's only parameter note ('use an answerId from get_ai_search_question') repeats the schema text and says nothing about the optional workspaceId, so baseline 3 applies.

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 ('Returns answer: one engine answer') and immediately bounds the payload: full text up to 20,000 characters, every cited page, and how it treats the company and tracked competitors. This tells an agent exactly what comes back, distinguishing it from get_ai_search_question (which only lists answers).

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?

'Use an answerId from get_ai_search_question' gives an explicit prerequisite and routes the agent to the correct upstream call. There are no explicit exclusions ('do not use when...'), but for a simple leaf read the guidance is clear.

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