A comprehensive Ruby CLI tool for Google Search Console and Google Indexing API operations, including URL inspection, indexing, batch processing, SEO auditing, and AI-powered analysis features.
GSC CLI exposes 13 tools with basic descriptions and partial schemas. Most tools lack parameter type definitions and detailed descriptions. Tool names follow verb_noun convention (inspect, index, remove, analyze, synthesize) but descriptions are often generic or example-heavy. Input schemas show 'object' types for options but lack nested property definitions. No output schemas documented. Error handling is minimal, no recovery guidance or actionable error messages. Security concerns: options parameters could hide secrets; no permission gates on destructive operations (remove, index-batch). Composition is reasonable (single responsibility per tool) but lacks chaining metadata (e.g., inspect returns no queue_id for index-batch). Average description length ~120 chars (below 194 baseline); many descriptions include example values (e.g., 'https://example.com/page') which LLMs may reuse literally.
Analyze a query or portfolio for AI-Overviews (AIO) presence, probability, CTR suppression, citation eligibility, and opportunity scoring with capture recipes.
Automatically index all URLs from a sitemap by submitting them to Google Indexing API.
Send a URL_UPDATED indexing request to Google Indexing API to prioritize crawling of a specific URL.
Manage batch indexing queue: add URLs from sitemap or file, process pending URLs with quota tracking, view queue status, or clear the queue with backup.
Submit URLs to IndexNow API for rapid indexing notification to Bing and Yandex.
Submit all URLs from a sitemap to IndexNow API for rapid indexing notification.
Input schemas lack nested property definitions. All 'options' parameters are typed as bare 'object' with no properties, types, or constraints visible. LLMs cannot infer valid option keys (json, dry-run, delay, batch-size, etc.) or their types.
No output schemas documented. Tools return unstructured responses (JSON, CSV, or CLI output) with no declared field structure. LLMs cannot plan downstream calls or extract required data (e.g., queue_id, URL status, error details).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Inspect a URL via Search Console API to retrieve indexation diagnostics including verdict, coverage status, indexing state, robots.txt status, last crawl time, and canonical information.
Bulk inspect multiple URLs from a sitemap via Search Console API, returning indexation status, coverage, last crawl time, and robots.txt state for each URL with summary statistics.
Send a URL_DELETED removal request to Google Indexing API to remove a URL from Google's index.
List all sitemaps submitted to a property in Google Search Console, including submission date and last read date.
Submit a sitemap to Google Search Console for a property.
Check the indexing status of a URL via Search Console API, returning coverage state and indexing state.
Generate direct answers, key points, HTML markup, and JSON-LD schema for a query based on intent classification.
Descriptions include example values (e.g., 'https://example.com/page', 'https://example.com/new-page') which LLMs frequently reuse literally in real calls, causing failures. Replace with format constraints or enums.
Destructive operations (remove, index-batch clear) lack dry-run confirmation or permission gates. No error guidance for recovery. An agent could delete URLs from Google's index without safeguards.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) declared. Agents cannot distinguish safe reads from destructive writes without parsing descriptions manually.