EdGEO

io.github.edgarcia-idPublished by GitHub account edgarcia-idv0.1.4Updated Nov 7, 2026

Local MCP for evidence-based SEO, GEO, Google AI Search, and Search Console.

Overview

AI-generated overview

Local MCP server for evidence-based SEO and GEO audits: page audits, bounded site crawls, AI-answer visibility analysis, and Google Search Console queries.

What you can do
  • Audit a single public page for technical SEO signals such as status, redirects, titles, canonicals, headings, links, metadata and JSON-LD
  • Crawl a bounded same-host sample of a site, respecting robots.txt and crawl delay
  • Query a local Ollama model or, with consent, the Gemini API and analyze answers for brand mentions and domain citations
  • Compare two visibility runs when prompt and recorded conditions match
  • List and query the user's Google Search Console properties and performance rows
  • Import Search Console CSV/TSV exports or summarize supplied rows locally
When to use it
Useful when you want an assistant to check on-page SEO signals, sample a site's crawlable structure, track how AI answers mention a brand or cite domains, or pull Search Console performance data without a hosted service or account.
Requirements
Node.js 20.18.1 or later and an agent that supports local stdio MCP. Search Console tools need a Google Cloud desktop OAuth client with the Search Console API enabled and a one-time connect step; the refresh token is stored in a local data directory. Ollama runs on loopback; the Gemini provider needs GEMINI_API_KEY.
Before you install
Gemini prompts leave the machine only with an explicit consent flag, and provider terms and data handling apply. The Search Console connection stores an OAuth refresh token locally and grants read-only access to the user's properties. Page and crawl requests go to public sites the user chooses. The installer edits agent config files and the server auto-updates from npm at startup. Results are descriptive, not proof of rankings or revenue.

Installation

In SourceWeft

  1. Open EdGEO in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

EdGEO

[EdGEO icon]

[EdGEO MCP server]

A free, local-first MCP toolkit for evidence-based SEO, GEO, and Google AI Search audits.

EdGEO gives compatible AI agents tools to inspect public website pages, crawl a bounded part of a site, analyze AI answers, and read a user's own Google Search Console data. It is a standalone open-source project. No EdGEO account, hosted EdGEO service, telemetry, or subscription is required.

An API answer is not the same as what a person sees in ChatGPT, Gemini, Google AI Overviews, or another consumer product. EdGEO reports the source and conditions for each observation and does not promise rankings.

What EdGEO can do

  • Audit a page: inspect HTTP status and redirects, title and description, canonical and robots directives, headings, language, viewport, links, image alt text, Open Graph/Twitter metadata, hreflang, and parseable JSON-LD.
  • Crawl a bounded site sample: make up to 50 same-host URL fetch attempts, starting from the requested URL and same-host sitemap URLs. EdGEO preserves trailing slashes when requesting URLs, follows robots.txt and crawl delay, separates non-HTML resources, and deduplicates pages that resolve to the same final URL. Remaining queued URLs are not a sitewide coverage estimate.
  • Collect an AI answer: query an Ollama server on loopback or query the Gemini API after explicit consent. Returned observations include provider, model, prompt type, locale, timestamp, and limitations.
  • Analyze and compare AI answers: analyze supplied or collected answers for literal brand mentions and domain citations. Compare answers only when prompt and recorded conditions match.
  • Connect to Google Search Console: authorize the user's account with a read-only OAuth scope, list available properties, and query selected dates, dimensions, and search types.
  • Import exported data: parse Search Console CSV/TSV locally, including common English and Indonesian headers, or summarize structured rows.

Install in an AI agent

Install the local MCP server in selected clients with:

sh
npx --yes --prefer-online edgeo-mcp@latest install --agent claude,codex,cursor,gemini

For a native Gemini CLI extension installation, use:

sh
gemini extensions install https://github.com/edgarcia-id/edgeo

The extension registers the MCP prompt as /edgeo. Its optional Gemini API key setting is only needed for EdGEO's Gemini provider; the key is kept in Gemini CLI's sensitive extension settings.

For the Claude Code marketplace plugin, add the EdGEO marketplace and install its plugin:

sh
claude plugin marketplace add edgarcia-id/edgeoclaude plugin install edgeo@edgeo-marketplace

The plugin provides MCP tools and the namespaced /edgeo:edgeo command. The standalone installer below also installs an unqualified /edgeo skill.

The installer merges user-level settings, backs up JSON config files before editing them, and preserves unrelated server entries. It upgrades earlier EdGEO-generated Cursor and Gemini MCP entries in place. Claude Code and Codex use their native CLI commands; Claude Code and Codex also receive an EdGEO skill. Restart or reload the selected clients after installation.

Automatic updates

The installer configures the MCP server to run npx --yes --prefer-online edgeo-mcp@latest serve. Each time an agent starts the server, npm checks for the latest published EdGEO version and downloads it when needed. A server already running keeps its current code until the agent reloads or restarts it. The update check sends the package name and version request to npm; it does not send the audited website, prompts, API keys, or local results.

Claude Code installs the /edgeo:edgeo plugin from a third-party marketplace, whose automatic updates are off by default. To receive plugin and prompt updates automatically, open /plugin, select Marketplaces → edgeo-marketplace, and enable Auto-update. Claude Code checks marketplace updates at startup and notifies you when a plugin changes; run /reload-plugins or start a new session to load it. A session already using EdGEO keeps the version it loaded.

Tagged GitHub releases publish the matching package version to npm and update EdGEO's Official MCP Registry listing through GitHub Actions. Before the first automated publish, configure edgeo-mcp on npm with a trusted publisher for GitHub Actions, repository edgarcia-id/edgeo, workflow release.yml, and permission to publish. See npm's trusted publishing setup. Keep the tag in the form v<package.json version>.

sh
npx --yes --prefer-online edgeo-mcp@latest doctornpx --yes --prefer-online edgeo-mcp@latest uninstall --agent claude,codex,cursor,gemini

The MCP server registers a prompt named edgeo. Hosts that expose MCP prompts as slash commands may show /edgeo; other hosts use their skill picker, prompt UI, or normal tool invocation. MCP does not define one slash-command syntax for every agent.

For direct/manual setup and supported host behavior, read Install and distribute EdGEO and agent install notes.

Search Console setup

Google Search Console API usage is free of charge and subject to Google's quotas. Each user connects their own Google account; EdGEO requests only the Search Console read-only scope. To connect, create a Google OAuth client of type Desktop app, enable the Search Console API in that Google Cloud project, and run:

sh
npx --yes --prefer-online edgeo-mcp@latest search-console connect --client-id YOUR_DESKTOP_OAUTH_CLIENT_ID

The browser opens Google's consent screen and returns to a loopback callback on the same computer. The refresh token is stored in the user's local EdGEO data directory; set EDGEO_DATA_DIR to choose another directory. edgeo-mcp search-console status checks local setup and edgeo-mcp search-console disconnect revokes the saved grant and removes it.

See Google Search Console connection details for OAuth setup and data handling.

Portable Agent Skills

EdGEO includes three optional, portable Agent Skills for focused workflows: technical SEO audits, AI visibility research, and Search Console analysis. They follow the open SKILL.md folder format and use EdGEO's MCP tools; install the EdGEO MCP server separately in the agent first. See Agent Skills for their scope and installation notes. The skills are available in the source repository and npm package; each can also be submitted as its own free MCP Rush listing.

Model connections

  • Ollama: local API requests go to 127.0.0.1:11434; no model API bill is added by EdGEO. Local hardware is required. A cloud-backed Ollama model may still transmit prompts externally.
  • Gemini API: configure GEMINI_API_KEY in the MCP process environment. The tool requires consentToExternalRequest: true before sending a prompt. Some model tiers have free quotas; rates, availability, and data terms vary. Do not send confidential data unless the provider's terms and settings are acceptable.

Neither connector automatically performs consumer-app testing or web search. Returned answers have no assumed citations. See model connection details.

Requirements and local development

  • Node.js 20.18.1 or later
  • An agent that supports local stdio MCP for agent use
sh
npm cinpm testnpm run typechecknpm start

npm start runs the local stdio MCP server. The server writes diagnostic messages to stderr and reserves stdout for MCP messages. npm test builds the TypeScript and exercises CSV parsing, visibility analysis, API request shaping, OAuth token refresh, installer config merging, SSRF rejection, and MCP initialization/tool discovery.

Method limits

  • Page audits inspect server-returned HTML and headers. They do not render JavaScript, measure Core Web Vitals, verify indexing, or observe search rankings.
  • Crawling is bounded to the exact hostname, obeys applicable robots.txt rules, and stops when robots.txt cannot be read.
  • Search Console only reports fields and appearance labels returned by Google. EdGEO does not infer AI Overviews, AI Mode, or SGE from ordinary web search rows.
  • Brand matching is literal and may need human entity review. A mention is not a positive description or recommendation; a citation does not prove support for a nearby claim.
  • Comparisons are descriptive, not causal. Differences may reflect sampling, model updates, retrieval, account state, or unrecorded conditions.
  • Search Console exports and API responses can omit anonymized queries or be truncated. A click, citation, or impression is not revenue or proof of a GEO effect.

Privacy and security

Page and crawl requests go directly to the public site selected by the user. EdGEO blocks local/private IP targets and pins validated DNS addresses. Supplied data and API results are processed locally and returned to the connected agent; the agent host may keep conversation or tool data under its own policies. Gemini prompts leave the computer only after an explicit tool consent flag. See privacy and data handling and security policy.

License

Apache-2.0. Commercial use and redistribution are permitted subject to the license and included attribution notices. See LICENSE and NOTICE.

Project status

EdGEO is distributed on npm and listed in the Official MCP Registry. Release history: 0.1.4 adds an optional Search Console property filter; 0.1.3 added automatic update checks and expanded the default crawl limit; 0.1.2 refined crawl URL handling, redirects, sitemap observations, and heading cues. Version 0.1.1 added native Gemini CLI extension support; the Gemini gallery discovers qualifying tagged repositories through its daily crawler.

Source: README.md at commit b61e474

Tools

9

edgeo_audit_page

Audit a public webpage

Fetch and audit one public HTTP/HTTPS HTML page for observable technical SEO and page-structure signals. Does not render JavaScript, measure Core Web Vitals, or verify search indexing.

Parametersurlrequired

edgeo_crawl_site

Crawl and audit a public site

Run a bounded same-host HTML crawl seeded from the start URL and same-host sitemap URLs. Defaults to 50 attempted URLs and accepts up to 200. Preserves trailing slashes when requesting URLs, reads robots.txt first, applies its rules and crawl-delay, separates non-HTML sitemap resources, and never renders JavaScript or follows links to other hosts. Reports known queued URL counts, not sitewide coverage.

ParametersurlrequireddelayMsmaxPages

edgeo_analyze_visibility

Analyze supplied AI answers

Analyze caller-supplied answers with transparent brand alias and citation checks. Keeps prompt types and failures separate; does not call models or automatically label recommendations.

ParametersaliasesbrandNamerequiredbrandDomainobservationsrequired

edgeo_compare_visibility_runs

Compare two sets of supplied AI answers

Compare complete answers only when the normalized prompt and recorded source, provider, model, surface, locale, search mode, and prompt type match. Returns paired mention and citation changes with sample counts; does not infer causation or call AI providers.

ParametersafterrequiredbeforerequiredaliasesbrandNamerequiredbrandDomain

edgeo_summarize_search_console

Summarize supplied Search Console rows

Summarize user-supplied Search Console rows by provided feature label, including clicks, impressions, CTR, and impression-weighted average position. Does not connect to Google or infer an AI feature from unlabeled data.

Parametersrowsrequired

edgeo_import_search_console_csv

Import a Search Console CSV locally

Parse a user-provided CSV or TSV export in memory, recognize common English and Indonesian Search Console headers, and return a transparent summary. The file contents are not uploaded or persisted by this tool.

ParameterscsvTextrequiredcolumnMapdelimiter

edgeo_query_model

Collect one AI model answer

Send one prompt to a configured local Ollama model or, with explicit consent and GEMINI_API_KEY configured, Google Gemini API. Returns an observation ready for EdGEO visibility analysis. Provider API output is not equivalent to a consumer AI app or Google AI Search result; no citations are assumed.

ParametersmodelrequiredlocalerequiredpromptrequiredproviderrequiredpromptTyperequiredmaxOutputTokensconsentToExternalRequest

edgeo_search_console_sites

List connected Search Console properties

List Google Search Console properties for the user's locally authorized Google account. Requires prior setup with `edgeo-mcp search-console connect`; uses a read-only OAuth scope and returns only properties the Google account can access. Optionally filter property URLs by a case-insensitive substring.

ParameterssiteUrlContains

edgeo_search_console_query

Query Google Search Console

Query the user's authorized Google Search Console property for web, image, video, news, Discover, or Google News performance rows. Requires `edgeo-mcp search-console connect`. Reads Search Console directly with OAuth read-only access; AI feature labels are never inferred from generic search rows.

ParametersendDaterequiredsiteUrlrequiredrowLimitstartDaterequireddimensionssearchTypeaggregationType

Version history

3
  1. v0.1.4LatestOct 31, 2026
  2. v0.1.2Oct 26, 2026
  3. v0.1.1Oct 26, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts