Skip to main content
Glama

Camberstack: Google Ads

Paid vs organic overlap

paid_organic_overlap
Read-only

Joins a Google Ads account's search terms with a website's Search Console queries over the same days. Returns paid_and_ranking (searches you pay for where the site already ranks near the top organically, with ad spend) and organic_gaps (searches the site shows up for on page 2 or lower with no ad or keyword). Changes nothing; follow up with propose_changes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNoLook-back window in days, ending 3 days ago
limitNoMost rows in each list
site_urlYesSearch Console property exactly as search_console_sites lists it, e.g. sc-domain:example.com or https://www.example.com/
customer_idYesGoogle Ads customer ID, with or without dashes (from list_accounts)
max_positionNopaid_and_ranking: average organic position at or better than this
min_impressionsNoorganic_gaps: only queries with at least this many impressions

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / properties / confirm_switch
      Removed value: -{
      -  "description": "Only after the user has agreed to spend their plan's account switch (a call answered \"Account switch:\"). Leave out otherwise",
      -  "type": "boolean"
      -}
  2. Changed1 schema field changed
    • addedInput schema / properties / confirm_switch
      Added value: +{
      +  "description": "Only after the user has agreed to spend their plan's account switch (a call answered \"Account switch:\"). Leave out otherwise",
      +  "type": "boolean"
      +}
  3. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  4. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'Changes nothing.' It goes beyond the safety profile by explaining what the two output lists represent (paid_and_ranking vs organic_gaps) and their inclusion criteria, which is genuine behavioral context.

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 sentences, front-loaded with the join operation and immediately followed by the return-list definitions. Efficient with no filler, though the parenthetical definitions of the two lists add some length.

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?

There is no output schema, so the description correctly carries the burden of explaining the return values, which it does via the two named lists. The absence of pagination or volume guidance is a minor gap given the limit parameter's own schema documentation.

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 all six parameters are already documented, including max_position and min_impressions. The description alludes to these semantics ('near the top organically', 'shows up for on page 2 or lower') but adds no syntax or format guidance beyond the schema. 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?

Uses a specific verb (joins) plus both named resources (Google Ads search terms, Search Console queries) and enumerates the two returned lists with definitions. An agent can distinguish this cross-source overlap tool from single-source siblings like search_console_opportunities or keyword_metrics without opening a schema.

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

Usage Guidelines3/5

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

It states the operation changes nothing and points to propose_changes as the follow-up, which is useful routing, but it never says when to choose this over the adjacent search_console_opportunities or keyword_ideas tools. Usage is implied rather than explicitly scoped with alternatives.

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.