geoseo-mcp
PYPI · GEOSEO-MCP
SEO + GEO: Search Console, Bing, Yandex, IndexNow, AI Overviews and LLM citation tracking.
Available components
Last scanned (20 hours ago)
Scores higher than 74% of PyPI servers
Category Marketing and SEO
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
- 2 of 46 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to Rachit8484/geoseo-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 11 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability63
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 4361 tokens (~92/item across 47 items; 47 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage73
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 6% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 47 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 48 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 30 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- 23 Oct 26 62
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Analysed pypi/geoseo-mcp@0.4.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | pypi |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | Rachit8484/geoseo-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/Rachit8484/geoseo-mcp/.github/workflows/release.yml@refs/tags/v0.4.0 |
| Rekor log index | 3420362691 |
| Predicate type | PyPI publish attestation https://docs.pypi.org/attestations/publish/v1 |
| Subject digest | sha256:9e8d9358b4e22555eb6c5e9b053e0c2132a66aed5d98b51bc72d7fd6834cc210 |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 46 packages
| Packages resolved | 46 |
|---|---|
| Stale | 2 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
aio_check ~103
Run a Google search via SerpAPI and parse the AI Overview block. Returns ``aio_present``, the AIO answer text, the URLs/domains AIO cites, and the top-10 organic results for context. Use this to track which pages Google's generative answers actually source.
| Name | Type | Req | Description |
|---|---|---|---|
| gl | string | – | – |
| google_domain | string | – | – |
| hl | string | – | – |
| location | – | – | – |
| query | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
aio_citation_check ~96
For a batch of queries, report AIO fire-rate and citation share for ``target_domain``. This is the GEO companion to ``multi_llm_citation_check`` — same idea, but specifically for Google's on-SERP AI Overviews. Run weekly and snapshot to ``snapshot_serp_aio`` to track AIO visibility over time.
| Name | Type | Req | Description |
|---|---|---|---|
| queries | array | yes | – |
| target_domain | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
audit_page ~197
Audit a single page (local file path or http(s) URL). Set ``render=True`` to audit the page after JavaScript runs (needs the optional ``geoseo-mcp[render]`` extra + ``playwright install chromium``). Either way the report flags pages that are empty without JavaScript, since most AI crawlers don't execute it. Returns a structured report with: title/meta/headings, word count, link counts, image alt coverage, JSON-LD schema types, Open Graph, Twitter Card, freshness signals, GEO-quotability score, and a list of human-readable findings. Plus a 0-100 overall ``score``. Examples: ``audit_page("seo/aa-meetings-what-to-expect.html")`` ``audit_page("https://soberpath.com/blog/quit-drinking")``
| Name | Type | Req | Description |
|---|---|---|---|
| render | boolean | – | – |
| source | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
audit_site ~83
Recursively audit every HTML file under a folder. Returns per-file scores, an aggregate summary (mean score, worst pages, most common findings), and the top opportunities for improvement. Useful as the first call against a content directory to spot the worst offenders quickly.
| Name | Type | Req | Description |
|---|---|---|---|
| folder | string | yes | – |
| limit | integer | – | – |
| pattern | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
bing_crawl_issues ~32
Crawl errors / blocked URLs / DNS issues reported by Bingbot.
| Name | Type | Req | Description |
|---|---|---|---|
| site_url | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
bing_list_sites ~21
List all Bing-verified sites for the API key owner.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
bing_page_stats ~24
Per-page stats from Bing Webmaster.
| Name | Type | Req | Description |
|---|---|---|---|
| site_url | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
bing_query_stats ~57
Last-6-months query stats from Bing Webmaster (clicks, impressions, position). ``site_url`` must match what Bing has verified, e.g. ``https://example.com/``.
| Name | Type | Req | Description |
|---|---|---|---|
| site_url | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
bing_submit_url ~40
Submit a URL for fast crawling. Daily quota applies (default ~10/day).
| Name | Type | Req | Description |
|---|---|---|---|
| site_url | string | yes | – |
| url | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
bing_url_info ~36
Index status + crawl info for a single URL on Bing.
| Name | Type | Req | Description |
|---|---|---|---|
| site_url | string | yes | – |
| url | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
brave_query ~89
Ask Brave's AI Answers (grounded in Brave Search); return answer + cited URLs. Brave runs its own independent web index, so it is a useful extra signal next to Google/Bing-backed engines. Requires the Brave Answers plan (``GEOSEO_BRAVE_API_KEY``).
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | – |
| language | string | – | – |
| question | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
claude_query ~53
Ask Claude (with server-side web search) a question; return answer + cited URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| max_tokens | integer | – | – |
| model | – | – | – |
| question | string | yes | – |
| system_prompt | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
find_broken_external_links ~243
Find dead, redirected, or flaky outbound links across a folder of HTML. Every external ``<a href>`` is collected (``mailto:``, ``tel:``, ``javascript:`` and in-page anchors are skipped) and each unique URL is checked once with HEAD, falling back to GET for servers that refuse HEAD. Results are grouped as ``ok`` / ``redirect`` / ``client_error`` / ``server_error`` / ``timeout`` / ``dns_fail`` / ``error``, and every non-ok link lists the pages it appears on plus a suggested action. ``site_host`` (e.g. ``"example.com"``) marks absolute links to your own site as internal so they're skipped. Results are cached locally for ``cache_days`` (set 0 to force a fresh check); timeouts are never cached.
| Name | Type | Req | Description |
|---|---|---|---|
| cache_days | number | – | – |
| concurrency | integer | – | – |
| folder | string | yes | – |
| include_ok | boolean | – | – |
| max_urls | integer | – | – |
| pattern | string | – | – |
| site_host | – | – | – |
| timeout | number | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
gemini_query ~79
Ask Gemini (with Google Search grounding) a question; return answer + cited URLs. Grounding sources here are the same signal Google uses for AI Overviews, so this is the closest open-API proxy for "what AIO might cite for this query".
| Name | Type | Req | Description |
|---|---|---|---|
| model | – | – | – |
| question | string | yes | – |
| system_prompt | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
generate_llms_txt ~196
Generate a draft ``llms.txt`` from a folder of HTML pages. ``llms.txt`` (https://llmstxt.org) is the emerging standard for telling LLM crawlers where your canonical content lives. This tool reads each page's ``<title>`` and meta description, groups by URL prefix, and produces spec-compliant Markdown ready to drop at ``/llms.txt``. ``section_strategy`` controls grouping: - ``first_path_segment`` (default): groups by first URL path segment, e.g. all ``/blog/...`` pages under "Blog". - ``flat``: a single "Pages" section.
| Name | Type | Req | Description |
|---|---|---|---|
| folder | string | yes | – |
| limit | integer | – | – |
| pattern | string | – | – |
| section_strategy | string | – | – |
| site_summary | – | – | – |
| site_title | – | – | – |
| site_url | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
geoseo_status ~57
Report which engines are configured and reachable. Always safe to call. Returns a dict keyed by engine name with `configured: bool` and a short message. Use this as the first call in a session to know what's available.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
grok_query ~127
Ask Grok (with live web search) a question; return answer + cited URLs. Uses the xAI Responses API with the ``web_search`` tool. ``citations`` are the URLs Grok actually cites inline; ``sources_considered`` lists everything it looked at. Set ``x_search=True`` to also search X posts. Default model: ``GEOSEO_GROK_MODEL`` (``grok-4.3``).
| Name | Type | Req | Description |
|---|---|---|---|
| model | – | – | – |
| question | string | yes | – |
| system_prompt | – | – | – |
| x_search | boolean | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
gsc_inspect_url ~80
Get index status for a specific URL via the URL Inspection API. Returns coverage state, last crawl time, mobile usability, indexed verdict, and indexing rich-result data. Slow (~1s/call); rate-limited by Google.
| Name | Type | Req | Description |
|---|---|---|---|
| language_code | string | – | – |
| site_url | string | yes | – |
| url | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
gsc_list_sites ~57
List all Search Console properties the authenticated user can access. Returns a list of site entries with ``siteUrl`` and ``permissionLevel``. Use ``siteUrl`` from this list as input to other ``gsc_*`` tools.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
gsc_performance ~221
Query GSC search analytics.
| Name | Type | Req | Description |
|---|---|---|---|
| country | – | – | ISO 3166-1 alpha-3 country filter (e.g. ``usa``). |
| device | – | – | ``desktop``, ``mobile``, or ``tablet``. |
| dimensions | – | – | One or more of ``query``, ``page``, ``country``, ``device``, ``date``, ``searchAppearance``. Defaults to ``["query"]``. |
| end_date | – | – | ISO date. Defaults to 2 days ago (GSC has ~2-day latency). |
| row_limit | integer | – | Max rows (capped at 25,000). |
| search_type | string | – | ``web``, ``image``, ``video``, ``news``, or ``discover``. |
| site_url | string | yes | The property as it appears in GSC (e.g. ``sc-domain:example.com`` or ``https://example.com/``). |
| start_date | – | – | ISO date (YYYY-MM-DD). Defaults to 28 days ago. |
Structured output declared, but exposes no named fields.
No examples provided.
gsc_submit_sitemap ~65
Submit (or resubmit) a sitemap URL to GSC. ``feedpath`` is the absolute URL of the sitemap, e.g. ``https://example.com/sitemap.xml``.
| Name | Type | Req | Description |
|---|---|---|---|
| feedpath | string | yes | – |
| site_url | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
indexnow_submit_url ~75
Notify Bing, Yandex, Naver, Seznam, and Yep that a single URL was published or updated. Requires ``GEOSEO_INDEXNOW_KEY`` env var (a 32-char hex string you also host at ``https://yourdomain.com/<key>.txt``).
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
indexnow_submit_urls ~47
Batch-notify search engines about up to 10,000 URLs (must share one host). Best for sitemap-wide rebuilds or large content updates.
| Name | Type | Req | Description |
|---|---|---|---|
| urls | array | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
internal_link_graph ~159
Audit a folder of HTML pages as a directed internal-link graph. Returns counts of files/edges, the orphans (no inbound links), dead-ends (no outbound links), top hub pages, and a list of dangling internal hrefs that don't resolve to any file. Pass ``site_host`` (e.g. ``"example.com"``) if pages link to themselves with absolute URLs — those will then count as internal edges. Files are also matched by URL slug, so ``/blog/foo`` resolves to ``foo.html`` even when paths don't match exactly.
| Name | Type | Req | Description |
|---|---|---|---|
| folder | string | yes | – |
| limit | integer | – | – |
| pattern | string | – | – |
| site_host | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
lint_schema_page ~181
Validate a page's JSON-LD against Google's structured-data requirements. ``source`` is a local HTML file or an http(s) URL. Every ``application/ld+json`` block is parsed (``@graph`` included) and each typed entity is checked against Google's documented required and recommended properties for Article, Product (with nested Offer / AggregateRating / Review), Recipe, LocalBusiness, BreadcrumbList, Event, VideoObject, SoftwareApplication, JobPosting, QAPage, Review and Organization. FAQPage and HowTo are checked against schema.org since Google no longer shows those rich results. Returns per-entity ``{type, ok, required_missing, recommended_missing, line_estimate, doc}``. ``ok`` is false when a required property is missing or the JSON is invalid.
| Name | Type | Req | Description |
|---|---|---|---|
| source | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
lint_schema_site ~79
Run ``lint_schema_page`` over every HTML file in a folder. Returns files with errors, files that have no JSON-LD at all, a count of schema types found, the most common missing required properties, and per-file problems.
| Name | Type | Req | Description |
|---|---|---|---|
| folder | string | yes | – |
| limit | integer | – | – |
| pattern | string | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_llm_engines ~24
Return the LLM engines currently configured (have an API key).
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
multi_llm_citation_check ~256
How often each configured LLM cites (or mentions) ``target_domain``. The headline GEO/AEO tool. Feed it your top 20-50 buyer questions and get a per-engine breakdown for ChatGPT/Claude/Gemini/Perplexity/Grok/Brave: - ``citation_rate`` (+ 95% interval): share of answers linking to your domain or any subdomain of it. - ``mention_rate`` / ``unlinked_mention_rate``: answers that name your brand, with or without a link. Pass ``brand_aliases`` (e.g. ``["Acme", "Acme CRM"]``) if your brand isn't obvious from the domain. - ``top_competing_domains`` and per-question results. LLM answers vary run to run, so every question is asked ``samples`` times per engine (default ``GEOSEO_CITATION_SAMPLES``, 3; max 10). Cost scales with questions x samples x engines.
| Name | Type | Req | Description |
|---|---|---|---|
| brand_aliases | – | – | – |
| engines | – | – | – |
| max_concurrency | – | – | – |
| questions | array | yes | – |
| samples | – | – | – |
| target_domain | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
multi_llm_query ~100
Ask the same question to all (or selected) configured LLM engines in parallel. ``engines``: optional subset of ``["perplexity","openai","anthropic","gemini","grok","brave"]``. Default: every engine with credentials configured (see ``geoseo_status``). Engines that error are reported per-engine and don't block the others.
| Name | Type | Req | Description |
|---|---|---|---|
| engines | – | – | – |
| question | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
openai_query ~78
Ask ChatGPT (with web search) a question; return answer + cited URLs. Uses the OpenAI Responses API with the ``web_search`` tool. Default model: ``GEOSEO_OPENAI_MODEL`` (``gpt-5-mini``).
| Name | Type | Req | Description |
|---|---|---|---|
| model | – | – | – |
| question | string | yes | – |
| system_prompt | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
perplexity_citation_check ~46
Citation share for ``target_domain`` across a Perplexity question batch.
| Name | Type | Req | Description |
|---|---|---|---|
| model | – | – | – |
| questions | array | yes | – |
| target_domain | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
perplexity_query ~92
Ask Perplexity (Agent API + web search); return answer + cited URLs/domains. Defaults to the ``fast`` effort preset. Pass ``model`` to pin one (e.g. ``openai/gpt-5-mini``); legacy names like ``sonar`` still work.
| Name | Type | Req | Description |
|---|---|---|---|
| max_tokens | – | – | – |
| model | – | – | – |
| question | string | yes | – |
| system_prompt | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
snapshot_gsc ~110
Run a GSC performance query and persist the rows as a snapshot. Run this on a schedule (cron, n8n, ``launchd`` — anything that can invoke an MCP tool) to build a local time-series of search performance. Default dimensions: ``["query"]``.
| Name | Type | Req | Description |
|---|---|---|---|
| dimensions | – | – | – |
| end_date | – | – | – |
| row_limit | integer | – | – |
| search_type | string | – | – |
| site_url | string | yes | – |
| start_date | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
snapshot_llm_citations ~105
Run multi-LLM citation check and persist the per-question results. Builds the dataset behind ``trend_llm_citations``. ``engines`` defaults to every configured LLM (see ``geoseo_status``). With ``samples > 1`` a question is stored as cited when most samples cite you.
| Name | Type | Req | Description |
|---|---|---|---|
| engines | – | – | – |
| questions | array | yes | – |
| samples | integer | – | – |
| target_domain | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
snapshot_serp_aio ~48
Run AIO citation check via SerpAPI and persist as ``serpapi_aio`` engine rows.
| Name | Type | Req | Description |
|---|---|---|---|
| queries | array | yes | – |
| target_domain | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
suggest_internal_links ~228
Suggest top-K internal links to add to each page in a folder. By default uses TF-IDF cosine similarity over ``<title>``, headings, meta description and body text (offline, free). Set ``mode`` to ``"openai"`` (text-embedding-3-small), ``"gemini"`` (gemini-embedding-001) or ``"local"`` (sentence-transformers) for embedding similarity; ``model`` overrides the default model. Vectors are cached in SQLite by content hash, so re-runs are cheap. Excludes links the source already has, plus the page itself. Returns suggestions for ``page`` only if provided, otherwise for every page. Each suggestion includes a cheap ``anchor_hint`` derived from terms shared between source headings and target title.
| Name | Type | Req | Description |
|---|---|---|---|
| folder | string | yes | – |
| limit | integer | – | – |
| mode | string | – | – |
| model | – | – | – |
| page | – | – | – |
| pattern | string | – | – |
| site_host | – | – | – |
| top_k | integer | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
trend_gsc ~87
Time-series of clicks/impressions/position from stored GSC snapshots. Aggregates by ``captured_at``. Filter by ``query`` and/or ``page`` to drill in. Returns up to ``limit`` most recent snapshots in chronological order.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| page | – | – | – |
| query | – | – | – |
| site_url | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
trend_init ~23
Create the local SQLite snapshot DB if it doesn't exist; return its path.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
trend_llm_citations ~91
Per-snapshot citation share for ``target_domain`` over time. ``engine`` filters to one of ``perplexity|openai|anthropic|gemini|serpapi_aio``. Returns rows of ``{captured_at, engine, questions, cited, citation_share}``.
| Name | Type | Req | Description |
|---|---|---|---|
| engine | – | – | – |
| limit | integer | – | – |
| target_domain | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
trend_stats ~25
Inventory of what's stored: row counts, sites/domains, oldest/newest snapshots.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
validate_llms_txt ~68
Validate an ``llms.txt`` file (local path or URL) against the spec. Returns parsed structure plus an ``issues`` list with line numbers for any violations (missing H1, broken link syntax, non-http(s) URLs, etc).
| Name | Type | Req | Description |
|---|---|---|---|
| source | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
yandex_crawl_issues ~34
Active Yandex site diagnostics (by severity) plus sample broken internal links.
| Name | Type | Req | Description |
|---|---|---|---|
| site | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
yandex_list_sites ~21
List sites in the token owner's Yandex Webmaster account.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
yandex_query_stats ~131
Top Yandex search queries: shows, clicks, average show/click position. ``order_by``: ``TOTAL_SHOWS`` or ``TOTAL_CLICKS``. ``device``: ``ALL``, ``DESKTOP``, ``MOBILE_AND_TABLET``, ``MOBILE``, ``TABLET``. Dates are ``YYYY-MM-DD``; defaults to the last week.
| Name | Type | Req | Description |
|---|---|---|---|
| date_from | – | – | – |
| date_to | – | – | – |
| device | string | – | – |
| limit | integer | – | – |
| order_by | string | – | – |
| site | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
yandex_site_summary ~67
Site quality index (SQI), pages in search, excluded pages, problem counts. ``site`` can be a URL (``https://example.com/``) or a Yandex host id (``https:example.com:443``).
| Name | Type | Req | Description |
|---|---|---|---|
| site | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
yandex_submit_url ~37
Queue a URL for Yandex recrawl. Daily quota applies.
| Name | Type | Req | Description |
|---|---|---|---|
| site | string | yes | – |
| url | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
yandex_url_info ~40
Indexing + search status for a URL in Yandex "Monitoring important pages".
| Name | Type | Req | Description |
|---|---|---|---|
| site | string | yes | – |
| url | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
How do I install the geoseo-mcp server?
geoseo-mcp runs locally as a PyPI package, launched with uvx geoseo-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · geoseo-mcp
claude mcp add rachit8484-geoseo-mcp -- uvx geoseo-mcp
What is the geoseo-mcp server?
geoseo-mcp is listed in the public MCP registry as io.github.Rachit8484/geoseo-mcp. SEO + GEO: Search Console, Bing, Yandex, IndexNow, AI Overviews and LLM citation tracking. This page covers its PyPI package (geoseo-mcp).
Is the geoseo-mcp server safe to use?
geoseo-mcp scores 77 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the geoseo-mcp server expose?
geoseo-mcp exposes 47 tools: geoseo_status, gsc_list_sites, gsc_performance, gsc_inspect_url, gsc_submit_sitemap, and 42 more. Their descriptions and schemas cost roughly 4,208 tokens of context every time the server is loaded.
Is the geoseo-mcp server still maintained?
geoseo-mcp is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the geoseo-mcp server under?
geoseo-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.