geoseo-mcp

io.github.Rachit8484由 GitHub 账号 Rachit8484 发布v0.4.0更新于 Nov 6, 2026

SEO + GEO: Search Console, Bing, Yandex, IndexNow, AI Overviews and LLM citation tracking.

概览

AI 生成的概览

SEO 与 GEO 工具集:Search Console、Bing、Yandex 数据、IndexNow 提交、AI Overviews 检查,以及跨六个引擎的 LLM 引用追踪。

可以做什么
  • 读取 Search Console、Bing 与 Yandex Webmaster 数据:站点列表、查询与页面统计、URL 索引状态、抓取问题
  • 通过 Search Console、Bing、Yandex 与 IndexNow 提交站点地图和 URL
  • 向 ChatGPT、Claude、Gemini、Perplexity、Grok 与 Brave 提出同一问题,统计其引用目标域名的频率
  • 借助 SerpAPI 检查 Google AI Overviews,并按查询批次统计引用占比
  • 审计单页或整个目录的标题、元描述、标题层级、结构化数据、外链与内链图谱,并生成或校验 llms.txt
  • 将快照存入本地 SQLite 并查看趋势
适用场景
适合 SEO 与内容团队让助手集中获取搜索引擎表现数据、判断 AI 助手是否引用自家站点,并检查页面与结构化数据质量。无需任何账号即可使用审计与 llms.txt 相关工具。
运行要求
通过 uvx 或 pip 以 stdio 方式在本地运行(Python)。所有凭据均为可选,仅启用对应工具:OpenAI、Anthropic、Gemini、xAI、Brave、Perplexity 与 SerpAPI 的 API 密钥,Bing Webmaster 密钥,Yandex OAuth 令牌,IndexNow 密钥,以及 Search Console 所需的 Google OAuth 客户端密钥文件。可选的 JavaScript 渲染需安装 render 附加包与 Playwright Chromium。远程检查需要网络访问。
安装前请注意
客户端配置中会保存多个付费 API 密钥;LLM 与 SerpAPI 调用按次计费,批量引用检查会按样本数与引擎数成倍增加调用。提交 URL 与站点地图会改动 Google、Bing、Yandex 与 IndexNow 中的数据。查询内容、页面 URL 与审计目标会发送给第三方服务商。可选的 HTTP 传输没有内置鉴权,应仅绑定本机或置于可信代理之后。

安装

在 SourceWeft 中

  1. 打开 控制台中的 geoseo-mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

geoseo-mcp

An open-source MCP server for traditional SEO and Generative Engine Optimization (GEO): Google Search Console, Bing, IndexNow, Google AI Overviews, and citation tracking across ChatGPT, Claude, Gemini, Perplexity, Grok and Brave, all in one server.

[PyPI] [CI] [License: MIT] [Python 3.11+] [MCP]

Try it in 30 seconds (no API keys)

bash
# Audit any page: title, meta, headings, schema, freshness, GEO quotability, 0-100 scoreuvx geoseo-mcp audit https://example.com
# Check a site's llms.txt against the specuvx geoseo-mcp llms-txt https://llmstxt.org
# Same audit after running JavaScript (for SPAs); needs the [render] extrauvx --from 'geoseo-mcp[render]' geoseo-mcp audit https://your-spa.com --render

Sample output:

text
$ uvx geoseo-mcp audit https://example.comhttps://example.com  score: 15/100  title: 'Example Domain'  words: 27
  8 issue(s):   ✗ meta_description: Meta description should be 70-160 chars  [length=0]   ✗ h1: Exactly one H1 expected  [found=0]   ✗ word_count: Pages under 300 words rarely rank or get cited  [words=27]   ✗ schema: No JSON-LD schema found; LLMs and Google use this heavily   ✗ canonical: Missing canonical URL   ✗ open_graph: Missing core Open Graph tags (og:title, og:description)   ✗ freshness: No published-date signal found; LLMs deprioritize stale content   ✗ quotability: Few short, fact-dense sentences; LLMs prefer quotable lines  [quotable_sentences=0]
  3 check(s) passed. Use --json for the full report.

Other keyless commands: audit-site ./content, generate-llms-txt ./content https://yourdomain.com, status. Run uvx geoseo-mcp --help for everything.

Poke at all 47 tools in the MCP Inspector:

bash
npx @modelcontextprotocol/inspector uvx geoseo-mcp

Running geoseo-mcp with no arguments starts the MCP server over stdio, which is what MCP clients expect.

Add it to your MCP client

Cursor

[Install MCP Server]

Or add it to ~/.cursor/mcp.json by hand (see examples/cursor-mcp.json).

Claude Code

bash
claude mcp add geoseo -- uvx geoseo-mcp
# with keysclaude mcp add geoseo \  -e GEOSEO_OPENAI_API_KEY=sk-... \  -e GEOSEO_PERPLEXITY_API_KEY=pplx-... \  -- uvx geoseo-mcp

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

json
{  "mcpServers": {    "geoseo": {      "command": "uvx",      "args": ["geoseo-mcp"],      "env": {        "GEOSEO_OPENAI_API_KEY": "sk-...",        "GEOSEO_ANTHROPIC_API_KEY": "sk-ant-...",        "GEOSEO_GEMINI_API_KEY": "AIza...",        "GEOSEO_XAI_API_KEY": "xai-...",        "GEOSEO_BRAVE_API_KEY": "...",        "GEOSEO_PERPLEXITY_API_KEY": "pplx-...",        "GEOSEO_SERPAPI_API_KEY": "...",        "GEOSEO_GOOGLE_CLIENT_SECRET": "/absolute/path/to/client_secret.json",        "GEOSEO_BING_WEBMASTER_API_KEY": "...",        "GEOSEO_YANDEX_OAUTH_TOKEN": "y0_...",        "GEOSEO_INDEXNOW_KEY": "..."      }    }  }}

Every key is optional; drop the ones you don't have. Other clients (Continue, Cline, Windsurf, VS Code) take the same command / args / env block. See examples/.

Then just ask:

"Which of ChatGPT, Claude, Gemini, Perplexity and Grok cite acme.com for 'best CRM for startups'? Run 3 samples each." "Audit my ./content folder and show the 5 worst pages." "Build the internal link graph and find orphan pages."

What it covers

SurfaceTools
Google SearchGSC performance, URL inspection, sitemaps
Bing WebmasterSite stats, query/page stats, URL info, URL submission, crawl issues
Yandex WebmasterSite quality index, popular queries, important-page status, recrawl queue, diagnostics + broken internal links
Bing / Yandex / Naver / SeznamIndexNow submission
Google AI Overviewsaio_check + aio_citation_check via SerpAPI
LLM citationsChatGPT (web search), Claude (web search), Gemini (Google Search grounding), Perplexity (Agent API), Grok (xAI web search), Brave (Answers API), plus multi_llm_* tools that fan out across all of them
On-pageTitle / meta / heading / schema / internal-link audit, 0-100 score, optional JS rendering
Internal link graphOrphans, dead-ends, hubs, dangling links, related-page suggestions with anchor hints (TF-IDF by default, or OpenAI / Gemini / local embeddings)
llms.txtGenerate from a folder of HTML, validate against the spec
Trend trackingLocal SQLite snapshots of GSC, LLM citations and AIO, with trend tools

MIT licensed and local-first: your credentials and data stay on your machine.

How citation checks work

multi_llm_citation_check(questions, target_domain) asks every configured engine each question several times (samples, default 3), because LLM answers vary from run to run. For each engine you get:

  • citation_rate with a 95% Wilson interval, plus a per-question cited_rate and a stable flag
  • mention_rate and unlinked_mention_rate: answers that name your brand without linking to you
  • top_competing_domains: who gets cited instead of you
  • subdomain-aware matching (docs.acme.com counts for acme.com)

Brand aliases are derived from the domain (acme.com → acme) and you can pass your own via brand_aliases. Requests run in parallel up to GEOSEO_MAX_CONCURRENCY (default 8).

Rough costs

Approximate list prices as of October 2026; check each provider's pricing page before running large batches.

EngineWhat we callApprox. cost per query
ChatGPT (pricing)Responses API, gpt-5-mini + web_search~$0.01 search fee + tokens, roughly $0.01-0.02
Claude (pricing)Messages API + web_search tool$10 / 1k searches + tokens
Gemini (pricing)gemini-3.5-flash-lite + Google Search grounding5,000 free grounded requests / month, then $14 / 1k + tokens
Perplexity (pricing)Agent API, fast preset~$2.50 / 1k searches + tokens
Grok (pricing)Responses API, grok-4.3 + web_searchper-token + per-search-call pricing
Brave (pricing)Answers API, streaming with citations~$4 / 1k searches + $5 / M tokens
Google AI Overviews (pricing)SerpAPI250 free searches / month, then plan pricing

A 10-question check with 3 samples across four engines is 120 calls, which is usually well under $2. Use samples=1 for quick spot checks.

Get credentials

  • OpenAI: API key. Uses the Responses API with the web_search tool. Override the model with GEOSEO_OPENAI_MODEL.
  • Anthropic: API key. Uses Claude with the server-side web search tool.
  • Gemini: API key from AI Studio. Uses Google Search grounding (the same index AI Overviews use).
  • Perplexity: API key. Uses the Agent API with the fast preset; set GEOSEO_PERPLEXITY_EFFORT or GEOSEO_PERPLEXITY_MODEL to change it.
  • xAI Grok: API key from the xAI console, set as GEOSEO_XAI_API_KEY. Uses the Responses API with the web_search tool; override the model (default grok-4.3) with GEOSEO_GROK_MODEL.
  • Brave Answers: API key with the Answers plan, set as GEOSEO_BRAVE_API_KEY. Answers come from Brave's own index.
  • SerpAPI: API key. Free plan: 250 searches/month. Used for AI Overviews tracking.
  • Google Search Console: see docs/setup-gsc.md. One-time OAuth flow.
  • Bing Webmaster: API key from Bing Webmaster Tools → Settings → API access.
  • Yandex Webmaster: OAuth token. Register an app with both webmaster:hostinfo and webmaster:verify (hostinfo alone only lists sites), then get a token via https://oauth.yandex.com/authorize?response_type=token&client_id=<id> and set GEOSEO_YANDEX_OAUTH_TOKEN. Docs.
  • IndexNow: any random 32-char hex string hosted at https://yourdomain.com/<key>.txt. Spec.

Tools that need a key you haven't set return a clear error; everything else keeps working.

Configuration

Env varDefaultWhat it does
GEOSEO_TOOLSETSallComma-separated toolsets to expose: gsc,bing,yandex,indexing,llm,aio,audit,graph,trend. Fewer tools means less context for your agent.
GEOSEO_CITATION_SAMPLES3Default samples per question for multi_llm_citation_check (max 10).
GEOSEO_MAX_CONCURRENCY8Max parallel LLM requests.
GEOSEO_OPENAI_MODELgpt-5-miniModel for ChatGPT checks.
GEOSEO_ANTHROPIC_MODELclaude-sonnet-5-5Model for Claude checks.
GEOSEO_GEMINI_MODELgemini-3.5-flash-liteModel for Gemini checks.
GEOSEO_GROK_MODELgrok-4.3Model for Grok checks.
GEOSEO_PERPLEXITY_EFFORT / GEOSEO_PERPLEXITY_MODELfast / unsetPerplexity Agent API preset, or a pinned model.
GEOSEO_TRANSPORTstdiostdio or http (streamable HTTP).
GEOSEO_HOST / GEOSEO_PORT127.0.0.1 / 8000Bind address for HTTP.
GEOSEO_DBuser data dirSQLite file for trend snapshots.

Example: only the keyless audit tools, for a lean agent context:

json
"env": { "GEOSEO_TOOLSETS": "audit,graph" }

Streamable HTTP

bash
uvx geoseo-mcp serve --transport http --port 8000# MCP endpoint: http://127.0.0.1:8000/mcp

It binds to localhost by default. There is no built-in auth, so put it behind a proxy you trust before exposing it anywhere.

JavaScript rendering

audit_page reads raw HTML by default. If a page looks like a JS shell (an empty SPA root or almost no text), it adds a js_rendering finding. Install the extra and pass render=True (or --render on the CLI) to audit the rendered DOM:

bash
pip install 'geoseo-mcp[render]' && playwright install chromium

Tools (47)

  • Status: geoseo_status, list_llm_engines
  • Google Search Console: gsc_list_sites, gsc_performance, gsc_inspect_url, gsc_submit_sitemap
  • Bing Webmaster: bing_list_sites, bing_query_stats, bing_page_stats, bing_url_info, bing_submit_url, bing_crawl_issues
  • Yandex Webmaster: yandex_list_sites, yandex_site_summary, yandex_query_stats, yandex_url_info, yandex_submit_url, yandex_crawl_issues
  • Indexing: indexnow_submit_url, indexnow_submit_urls
  • LLM citations: perplexity_query, perplexity_citation_check, openai_query, claude_query, gemini_query, grok_query, brave_query, multi_llm_query, multi_llm_citation_check
  • Google AI Overviews: aio_check, aio_citation_check
  • On-page: audit_page, audit_site, find_broken_external_links, lint_schema_page, lint_schema_site
  • Link graph: internal_link_graph, suggest_internal_links
  • llms.txt: generate_llms_txt, validate_llms_txt
  • Trends: trend_init, trend_stats, snapshot_gsc, snapshot_llm_citations, snapshot_serp_aio, trend_gsc, trend_llm_citations

suggest_internal_links uses TF-IDF by default (offline, free). Pass mode="openai", "gemini" or "local" (sentence-transformers) for embedding similarity; vectors are cached in SQLite by content hash.

For Yandex tools, pass a normal URL as site; it's matched to the Yandex host id (https:example.com:443), following the main mirror. yandex_url_info only covers pages in "Monitoring important pages" (Yandex has no arbitrary-URL inspect endpoint).

Snapshots are append-only and stored at $GEOSEO_DB. Schedule the snapshot_* tools weekly to build a private time series of your AI-search visibility.

Roadmap

Tracked in issues. Shipped in 0.4: broken-link prospector, schema linter, Grok and Brave citation engines, embedding-based link suggestions, Yandex Webmaster.

Contributing

PRs welcome. Each engine is a module in src/geoseo_mcp/engines/ that exposes query() and returns the standard {engine, question, model, answer, citations, cited_domains, usage} shape; tools live in src/geoseo_mcp/tools/. See docs/architecture.md.

bash
git clone https://github.com/Rachit8484/geoseo-mcp.git && cd geoseo-mcpuv sync --extra devuv run ruff check src tests && uv run pytest

License

MIT. See LICENSE.

来源:README.md,提交 209e26f

工具

47

geoseo_status

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.

无需输入参数。

gsc_list_sites

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.

无需输入参数。

gsc_performance

Query GSC search analytics.

输入参数devicecountryend_datesite_url必填row_limitdimensionsstart_datesearch_type

gsc_inspect_url

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.

输入参数url必填site_url必填language_code

gsc_submit_sitemap

Submit (or resubmit) a sitemap URL to GSC. ``feedpath`` is the absolute URL of the sitemap, e.g. ``https://example.com/sitemap.xml``.

输入参数feedpath必填site_url必填

bing_list_sites

List all Bing-verified sites for the API key owner.

无需输入参数。

bing_query_stats

Last-6-months query stats from Bing Webmaster (clicks, impressions, position). ``site_url`` must match what Bing has verified, e.g. ``https://example.com/``.

输入参数site_url必填

bing_page_stats

Per-page stats from Bing Webmaster.

输入参数site_url必填

bing_url_info

Index status + crawl info for a single URL on Bing.

输入参数url必填site_url必填

bing_submit_url

Submit a URL for fast crawling. Daily quota applies (default ~10/day).

输入参数url必填site_url必填

bing_crawl_issues

Crawl errors / blocked URLs / DNS issues reported by Bingbot.

输入参数site_url必填

yandex_list_sites

List sites in the token owner's Yandex Webmaster account.

无需输入参数。

yandex_site_summary

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``).

输入参数site必填

yandex_query_stats

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.

输入参数site必填limitdevicedate_toorder_bydate_from

yandex_url_info

Indexing + search status for a URL in Yandex "Monitoring important pages".

输入参数url必填site必填

yandex_submit_url

Queue a URL for Yandex recrawl. Daily quota applies.

输入参数url必填site必填

yandex_crawl_issues

Active Yandex site diagnostics (by severity) plus sample broken internal links.

输入参数site必填

indexnow_submit_url

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``).

输入参数url必填

indexnow_submit_urls

Batch-notify search engines about up to 10,000 URLs (must share one host). Best for sitemap-wide rebuilds or large content updates.

输入参数urls必填

perplexity_query

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.

输入参数modelquestion必填max_tokenssystem_prompt

perplexity_citation_check

Citation share for ``target_domain`` across a Perplexity question batch.

输入参数modelquestions必填target_domain必填

openai_query

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``).

输入参数modelquestion必填system_prompt

claude_query

Ask Claude (with server-side web search) a question; return answer + cited URLs.

输入参数modelquestion必填max_tokenssystem_prompt

gemini_query

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".

输入参数modelquestion必填system_prompt

grok_query

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``).

输入参数modelquestion必填x_searchsystem_prompt

brave_query

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``).

输入参数countrylanguagequestion必填

multi_llm_query

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.

输入参数enginesquestion必填

multi_llm_citation_check

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.

输入参数enginessamplesquestions必填brand_aliasestarget_domain必填max_concurrency

list_llm_engines

Return the LLM engines currently configured (have an API key).

无需输入参数。

aio_check

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.

输入参数glhlquery必填locationgoogle_domain

aio_citation_check

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.

输入参数queries必填target_domain必填

audit_page

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")``

输入参数rendersource必填

audit_site

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.

输入参数limitfolder必填pattern

lint_schema_page

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.

输入参数source必填

lint_schema_site

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.

输入参数limitfolder必填pattern

generate_llms_txt

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.

输入参数limitfolder必填patternsite_url必填site_titlesite_summarysection_strategy

validate_llms_txt

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).

输入参数source必填

trend_init

Create the local SQLite snapshot DB if it doesn't exist; return its path.

无需输入参数。

trend_stats

Inventory of what's stored: row counts, sites/domains, oldest/newest snapshots.

无需输入参数。

snapshot_gsc

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"]``.

输入参数end_datesite_url必填row_limitdimensionsstart_datesearch_type

snapshot_llm_citations

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.

输入参数enginessamplesquestions必填target_domain必填

snapshot_serp_aio

Run AIO citation check via SerpAPI and persist as ``serpapi_aio`` engine rows.

输入参数queries必填target_domain必填

trend_gsc

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.

输入参数pagelimitquerysite_url必填

trend_llm_citations

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}``.

输入参数limitenginetarget_domain必填

版本历史

1
  1. v0.4.0最新Oct 23, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分