Skip to main content

lv24-seo-optimizer

ci PyPI npm license python

Free-first SEO control plane for humans and AI agents.

One tool that pulls Google Search Console, Yandex Webmaster, Yandex Metrika, Bing Webmaster, Chrome UX Report and PageSpeed Insights into a single normalized model, crawls your site for technical SEO regressions, and turns all of it into scheduled email reports, MCP tools, CLI commands and agent skills.

No paid SEO platform required. Everything in the default path has a free tier.

┌──────────── data sources (free) ────────────┐      ┌──── surfaces ────┐
│ GSC · Yandex Webmaster · Metrika · Bing ·    │ ───▶ │ CLI (--json)     │
│ CrUX · PSI · your own crawl + nginx logs     │      │ MCP server       │
└──────────────────────────────────────────────┘      │ Skills / AGENTS  │
                                                      │ Email / Telegram │
                                                      │ SQLite history   │
                                                      └──────────────────┘

Why another SEO tool

  • Free-first fusion. Existing MCP servers wrap one vendor each and hand raw vendor shapes to the model. We join GSC + Bing + Yandex + Metrika per property, and we say out loud what the APIs cannot give you (Yandex has no query×page join, GSC caps at 50k rows/day, data lags 2–3 days). Every response carries truncated, total, data_age and limitations[].
  • Diffs, not dashboards. Reports compare against the last stored snapshot and only email you when something material changed (traffic drop, new indexing errors, sitemap regressions, TLS expiry).
  • Agent-native. A small, stable MCP tool surface (read-only by default), a JSON envelope on every CLI command, and skills that encode audit → plan → fix → verify against a real repository.
  • Zero spend. Public-repo CI, SQLite storage, SMTP/Telegram delivery, no SaaS in the default path. Paid providers (Ahrefs, Semrush, DataForSEO, SerpApi) are optional adapters that use your key.

Status

Alpha (v0.1.0 in progress). Working today: six provider adapters (GSC, Yandex Webmaster, Yandex Metrika, Bing/IndexNow, CrUX, PSI), a 30-rule crawler, SQLite history, analysis (deltas, opportunities, indexing triage, multi-engine fusion, nginx log stats), report builders + HTML/text/Markdown renderers, SMTP/Telegram delivery with idempotency, the full CLI, the MCP server (10 tools, 3 resources, 3 prompts) and scheduler generators.

Still missing before v0.1.0 is declared stable: GSC service-account auth (OAuth token only today), write operations for sitemap/recrawl (IndexNow is wired; the others return an honest WRITE_DISABLED), and an end-to-end run against a live property. See docs/plans/2026-11-10-implementation-plan.md for the wave status.

Install

# Python (recommended)
uvx --from lv24-seo lv24-seo doctor
pipx install lv24-seo                 # or: uv tool install lv24-seo

# Node users: thin launcher over the same CLI
npx @lv24/seo doctor --json
lv24-seo init --property https://example.com   # writes seo.toml + data/
lv24-seo auth set --provider gsc --stdin       # token in the OS keychain
lv24-seo report weekly --json --out reports/
lv24-seo mcp serve                             # stdio MCP server
lv24-seo install --client claude|opencode|vscode|cursor

npx @lv24/seo requires uv (or an installed lv24-seo binary): the npm package is a launcher, not a second implementation.

What it will do

Surface Examples
Reports weekly search performance + delta, indexing triage, striking-distance opportunities, content decay, technical regressions
MCP tools gsc_search_analytics, yandex_query_stats, yandex_indexing_state, crawl_site, seo_weekly_report, seo_indexing_triage, seo_opportunities, seo_recrawl_request (gated)
CLI init, doctor, auth, gsc, yandex, crawl, audit, report, schedule, mcp serve
Skills seo-weekly, seo-indexing-triage, seo-technical-audit — decision trees + tool recipes + output contracts
Automation cron / systemd timer / Windows Task Scheduler generators, GitHub Actions recipe, nginx log ingest

Supported sources

Source Free tier Used for Write operations
Google Search Console yes (OAuth or service account) queries, pages, countries, devices, URL inspection, sitemaps sitemap submit (gated)
Yandex Webmaster yes (OAuth) queries, indexing history, diagnostics, sitemaps, recrawl recrawl queue (quota-gated)
Yandex Metrika yes organic sessions, landing pages, goals —
Bing Webmaster + IndexNow yes queries, crawl issues, instant URL ping IndexNow submit
Chrome UX Report yes (API key) origin-level field CWV —
PageSpeed Insights yes lab audits per URL —
Your site — crawl, robots, sitemap, JSON-LD, hreflang, links —
nginx access logs — bot crawl budget, 5xx to bots —

Documents

For AI agents

Read AGENTS.md first. It is the canonical contract: repo layout, how to run things, what is read-only, how to propose a change. Machine-readable helpers:

  • schemas/tools.json — generated tool schemas (works without MCP)
  • llms.txt — doc map for LLM crawlers
  • skills/*/SKILL.md — portable skills (Claude Code, OpenCode, Codex)
  • MCP Registry: io.github.LevapVeeskela/lv24-seo

License

Apache-2.0. See LICENSE and TRADEMARKS.md. Data pulled from Google/Yandex/Bing belongs to the property owner — this project never resells it.

Metadata

Release files for lv24-seo 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lv24-seo 0.1.1
File Size Uploaded Provenance Actions
lv24_seo-0.1.1.tar.gz 419.3 kB With provenance Details for lv24_seo-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for lv24-seo 0.1.1
File Interpreter ABI Platform Actions
lv24_seo-0.1.1-py3-none-any.whl Python 3 none any Details for lv24_seo-0.1.1-py3-none-any.whl

Total release size: 631.1 kB

Release files / lv24_seo-0.1.1.tar.gz

Download URL lv24_seo-0.1.1.tar.gz
Size 419.3 kB
Tags Source
SHA-256 checksum
How to use checksums
f50cbda1f61be6befeca589e7d8a9f277608506d55a44646c15253a9a47df9b5
BLAKE2b-256 checksum
How to use checksums
e7e77ce9f1780253c5c0ddb14e8755c54e28fa69f70763fbc4508b85a816a061
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / lv24_seo-0.1.1-py3-none-any.whl

Download URL lv24_seo-0.1.1-py3-none-any.whl
Size 211.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5473423e8dc0af4b3f83ab597bba783a6214d62359993c08a5da9a191cc1717b
BLAKE2b-256 checksum
How to use checksums
855a69acc4c265b0b0972101e829fa1919a592674a0f90726d107cffcd455789
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Security for lv24-seo 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for lv24_seo-0.1.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page