Skip to main content
Glama
Akxan
by Akxan

Find quick-win keywords (striking distance)

gsc_opportunities
Read-onlyIdempotent

Identify striking-distance keywords ranking in positions 8-20 with high impressions, grouped by page, to prioritize actions for reaching the first page.

Instructions

Ranks near the first page but not on it. Striking-distance keywords: high impressions at position 8-20 (configurable), grouped by page and mapped to WordPress post IDs when a site is configured. Already in the top 10 but under-clicked is gsc_ctr_opportunities instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
topNo
countryNoOptional 3-letter country code filter, e.g. 'esp', 'usa'.
endDateNoEnd: YYYY-MM-DD, today, yesterday or NdaysAgo (data lags 2-3 days).3daysAgo
filtersNoScope the analysis, e.g. page contains '/es/' for one language folder. Defaults to the whole property.
siteUrlYesSearch Console property, e.g. 'sc-domain:example.com' (see gsc_list_sites).
startDateNoStart: YYYY-MM-DD, today, yesterday or NdaysAgo (data lags 2-3 days).28daysAgo
searchTypeNoweb
maxPositionNo
minPositionNo
minImpressionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.10.0
    • addedInput schema / properties / filters
      Added value: +{
      +  "description": "Scope the analysis, e.g. page contains '/es/' for one language folder. Defaults to the whole property.",
      +  "items": {
      +    "properties": {
      +      "dimension": {
      +        "enum": [
      +          "query",
      +          "page",
      +          "country",
      +          "device",
      +          "searchAppearance"
      +        ],
      +        "type": "string"
      +      },
      +      "expression": {
      +        "description": "Value; device: DESKTOP/MOBILE/TABLET, country: 3-letter code like 'usa'.",
      +        "type": "string"
      +      },
      +      "operator": {
      +        "default": "equals",
      +        "enum": [
      +          "equals",
      +          "notEquals",
      +          "contains",
      +          "notContains",
      +          "includingRegex",
      +          "excludingRegex"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "dimension",
      +      "expression"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / properties / siteUrl / description
      Previous value: -"Search Console property, e.g. 'sc-domain:example.com' or 'https://example.com/' (see gsc_list_sites)."New value: +"Search Console property, e.g. 'sc-domain:example.com' (see gsc_list_sites)."
  2. Changed5 schema fields changedv0.5.1
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedInput schema / properties / endDate / description
      Previous value: -"End date: YYYY-MM-DD, 'today', 'yesterday' or 'NdaysAgo' (e.g. '28daysAgo'). Search Console data lags ~2-3 days."New value: +"End: YYYY-MM-DD, today, yesterday or NdaysAgo (data lags 2-3 days)."
    • addedInput schema / properties / minImpressions / maximum
      Added value: +9007199254740991
    • changedInput schema / properties / siteUrl / description
      Previous value: -"Property URL exactly as shown in Search Console, e.g. 'https://example.com/' or 'sc-domain:example.com'. Use gsc_list_sites to discover it."New value: +"Search Console property, e.g. 'sc-domain:example.com' or 'https://example.com/' (see gsc_list_sites)."
    • changedInput schema / properties / startDate / description
      Previous value: -"Start date: YYYY-MM-DD, 'today', 'yesterday' or 'NdaysAgo' (e.g. '28daysAgo'). Search Console data lags ~2-3 days."New value: +"Start: YYYY-MM-DD, today, yesterday or NdaysAgo (data lags 2-3 days)."
  3. First observedv0.3.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint: false, covering the safety profile. The description adds valuable behavioral context beyond that: it explains the selection criteria (position 8-20, configurable), grouping by page, and the WordPress post ID mapping behavior when a site is configured. No contradictions with annotations.

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?

The description is two sentences with no filler. The core concept—striking-distance keywords—is front-loaded, followed immediately by the key exclusion case. Every phrase contributes meaning, balancing clarity with brevity.

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?

Given 10 parameters and no output schema, the description conveys the essential selection logic and output shape (grouped by page, mapped to WordPress post IDs), and the schema covers parameter-level details like date ranges and siteUrl. It falls just short of full completeness because it doesn't explicitly describe the return item structure or how 'when a site is configured' is determined, but for invocation purposes it is largely sufficient.

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 only 50%, leaving parameters like top, searchType, maxPosition, minPosition, and minImpressions undocumented. The description loosely references 'position 8-20' and 'high impressions', which maps to those position/impression parameters, but it does not fully compensate for the undocumented ones, especially searchType and top. The schema-covered date/country/filter parameters don't need additional explanation.

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?

The title and description clearly define the tool's purpose: it finds striking-distance keywords—those ranking at positions 8-20 with high impressions—and groups them by page with WordPress post ID mapping. It also distinguishes itself from the sibling gsc_ctr_opportunities, making the tool's scope unambiguous.

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?

The description explicitly defines when to use this tool (keywords not yet on page one but within striking distance) and when not to: 'Already in the top 10 but under-clicked is gsc_ctr_opportunities instead.' This directly routes the agent to the correct sibling based on ranking position.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.