Skip to main content
Glama
Rachit8484

geoseo-mcp

by Rachit8484

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GEOSEO_DBNoPath to SQLite database for trend tracking (default: platform user-data dir / geoseo.sqlite)
GEOSEO_INDEXNOW_KEYNoIndexNow key (32-char hex string)
GEOSEO_GEMINI_API_KEYNoGemini API key
GEOSEO_OPENAI_API_KEYNoOpenAI API key
GEOSEO_SERPAPI_API_KEYNoSerpAPI API key
GEOSEO_ANTHROPIC_API_KEYNoAnthropic API key
GEOSEO_PERPLEXITY_API_KEYNoPerplexity API key
GEOSEO_GOOGLE_CLIENT_SECRETNoAbsolute path to the Google OAuth client secret JSON file
GEOSEO_BING_WEBMASTER_API_KEYNoBing Webmaster API key

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
geoseo_statusA

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_sitesA

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_performanceC

Query GSC search analytics.

gsc_inspect_urlA

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.

gsc_submit_sitemapC

Submit (or resubmit) a sitemap URL to GSC.

feedpath is the absolute URL of the sitemap, e.g. https://example.com/sitemap.xml.

bing_list_sitesB

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

bing_query_statsA

Last-6-months query stats from Bing Webmaster (clicks, impressions, position).

site_url must match what Bing has verified, e.g. https://example.com/.

bing_page_statsC

Per-page stats from Bing Webmaster.

bing_url_infoC

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

bing_submit_urlB

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

bing_crawl_issuesC

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

indexnow_submit_urlB

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

indexnow_submit_urlsA

Batch-notify search engines about up to 10,000 URLs (must share one host).

Best for sitemap-wide rebuilds or large content updates.

perplexity_queryC

Ask Perplexity a question; return answer + cited URLs/domains.

perplexity_citation_checkC

Citation share for target_domain across a Perplexity question batch.

openai_queryB

Ask ChatGPT (with web search) a question; return answer + cited URLs.

Uses the OpenAI Responses API with the web_search_preview tool. Default model: GEOSEO_OPENAI_MODEL (gpt-4o-mini).

claude_queryB

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

gemini_queryA

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

multi_llm_queryA

Ask the same question to all (or selected) configured LLM engines in parallel.

engines: optional subset of ["perplexity","openai","anthropic","gemini"]. Default: every engine with credentials configured (see geoseo_status). Engines that error are reported per-engine and don't block the others.

multi_llm_citation_checkA

Citation-share metrics for target_domain across every configured LLM.

This is the headline GEO/AEO tool: feed it your top 20-50 user questions, get a per-engine breakdown of how often ChatGPT/Claude/Gemini/Perplexity cite your domain, plus the top competing domains per engine. Run weekly and diff to track AI-search visibility over time.

list_llm_enginesA

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

aio_checkA

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.

aio_citation_checkA

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.

audit_pageA

Audit a single page (local file path or http(s) URL).

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

audit_siteA

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.

generate_llms_txtA

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.

validate_llms_txtA

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

internal_link_graphA

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.

suggest_internal_linksA

Suggest top-K internal links to add to each page in a folder.

Uses TF-IDF cosine similarity over <title>, headings, and meta description. 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.

trend_initB

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

trend_statsB

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

snapshot_gscB

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

snapshot_llm_citationsA

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

snapshot_serp_aioC

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

trend_gscA

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.

trend_llm_citationsB

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

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Rachit8484/geoseo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server