Skip to main content
Glama

Google Ads MCP by InsightfulPipe

Ads Data Query

query_data
Read-only

Query Google Ads data (Step 3 (FINAL) of workflow).

REQUIRED: Complete these steps first using query_contexts:

  1. request='accounts' - Get workspace_id, brand_id, account_id AND available_requests

  2. request='actions_details' with actions=['xxxxxx'] - Get detailed body structure for specific action(s) (use actions from available_requests)

IMPORTANT: Always call step 2 to see the exact body structure before querying.

Rely on info from steps 1-2 to construct the query body. Follow the schema exactly.

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": {
      "body": "<body>"
    },
    "name": "query_data"
  }
}

Input Schema

NameRequiredDescriptionDefault
bodyYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description adds real context by revealing that the query body must be derived from a prior query_contexts call rather than authored blind, but it says nothing about rate limits, result size, or pagination behavior.

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-loaded with the FINAL-step marker and a numbered prerequisite list, so the critical ordering reads first. Slightly padded by the 'xxxxxx' placeholder and a redundant restatement ('Follow the schema exactly' / 'Rely on info from steps 1-2').

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 no explanation, and the description correctly focuses on the one genuinely risky part: constructing an unconstrained body. Given that the body schema is empty by design, pointing to query_contexts as the source of truth is the right completion move, though it leaves no fallback if query_contexts is unavailable.

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 0% and the single 'body' parameter is an unconstrained object with additionalProperties=true, so the schema conveys nothing. The description partially compensates by directing the agent to fetch the exact body structure via query_contexts step 2, but it never describes the parameter's own shape or required keys.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Query Google Ads data', with a scoping note that this is the terminal step of a workflow. It does not distinguish itself from sibling execute_action (the likely write counterpart), so an agent must infer that this tool reads and the other mutates.

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?

Gives unusually explicit ordering guidance: call query_contexts with request='accounts' first, then request='actions_details' to get the body structure, and repeats 'Always call step 2'. The only gap is that it never states when to choose this over execute_action.

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.