Skip to main content
ZensInk

ZensInk

ZensInk — SEO Toolkit for Indie Builders

SEO Toolkit for Indie Builders

CLI tools for keyword research, competitor analysis, and technical audits. Zero dependencies, pure Python.

English · 中文

License: MIT Python 3.10+ Zero Dependencies Agent Skill GitHub stars GitHub last commit PRs Welcome


Twenty CLI tools that cover the full SEO workflow — from discovering what people search, to clustering keywords by topic, to classifying search intent, to auditing your own site. No paid APIs. No Ahrefs. No subscriptions. Just free data sources wired together with Python.

Tool What it does API needed
keyword_research Discover long-tail keywords via Google Autocomplete None
keyword_cluster Group keywords into semantic topic clusters None
kd Keyword difficulty score via SERP structure analysis Free Serper key
kgr_auto KGR opportunity scoring (competition vs volume) Optional Bing key
keyword_volume Real search volume via Bing Webmaster API Free Bing key
brave_volume Cross-check search demand via Brave SERP signals Free Brave key
domain_rating Real Ahrefs Domain Rating (0-100) via the free public API Free Ahrefs key
search_intent Classify keywords by search intent (info/commercial/transactional) None
content_matrix Prioritized content opportunity matrix None
competitor_gap Compare multiple competitor sitemaps, find content gaps None
site_audit Technical SEO + GEO audit: 30 checks covering links, meta, images, structured data, AI visibility None
serp_intent SERP-based intent analysis — reverse-engineer Google's actual ranking behavior Free Serper key
onpage_audit On-page quality scoring (7 dimensions, 0-100 per page) None
geo_fanout Query Fan-out content planning (GEO/AI search) None
reddit_blueocean Reddit blue-ocean keyword mining via Autocomplete None
content_qc Pre-publish gate for AI-citable content (14 weighted checks) None
llms_gen Generate llms.txt + llms-full.txt from a build dir or sitemap None
ai_crawler_audit robots.txt AI-crawler policy + llms.txt layer audit, AI-readiness score None
rank_tracker SQLite-backed keyword position history Free Serper key
setup_gsc One-time OAuth setup for Google Search Console —
search_performance Your site's real Google ranking data (GSC) Free GSC OAuth

Why

Ahrefs costs $200/month. SEMrush costs $130/month. For indie builders who just need to find keywords worth writing about, that's overkill.

zens.ink wires together free public data sources — Google Autocomplete, Bing Webmaster Tools, Google Search Console, Brave Search, Ahrefs Domain Rating — with zero Python dependencies.

Install

Option A — pip (recommended)

pip install zens-ink

After install, the zens-ink command is available globally:

zens-ink --help

Option B — git clone

git clone https://github.com/ZensInk/zens-ink-seo-package.git
cd zens-ink-seo-package

Quick Start

# Discover keywords (with a-z long-tail expansion)
zens-ink keyword_research "tarot" --expand

# Check real search volume
zens-ink keyword_volume "tarot reading" --country us

# Keyword difficulty (SERP-based, with Chinese mode)
zens-ink kd "塔罗牌" --zh

# Compare 3 competitors at once
zens-ink competitor_gap \
  --url https://yoursite.com/sitemap.xml \
  --compare https://competitor-a.com/sitemap.xml https://competitor-b.com/sitemap.xml

# Audit your build for SEO issues
zens-ink site_audit --dist dist --sitemap dist/sitemap.xml

# Check your own Google search performance
zens-ink search_performance
Not installed? Use python3 -m instead
python3 -m zens_ink.keyword_research "tarot" --expand
python3 -m zens_ink.kd "tarot reading"
python3 -m zens_ink.site_audit --dist dist --sitemap dist/sitemap.xml

Use as Agent Skill

ZensInk works as an AI agent skill — let your AI assistant run SEO tools for you in plain language.

# Install for ClawHub / OpenClaw / Hermes compatible agents
npx skills add ZensInk/zens-ink-seo-package --skill zens-ink

Then just tell your AI: "find keywords for my tarot site" and it runs the tools for you. See SKILL.md for details.

Use as MCP Server (DSH / Claude / Codex)

ZensInk ships a built-in MCP stdio server — every tool becomes a native model tool (mcp__zensink__keyword_research, mcp__zensink__kd, ...). Pure stdlib, zero extra dependencies.

python3 -m zens_ink.mcp    # MCP stdio server on stdin/stdout

Add to DeepSeek Harness (DSH) — ~/.dsh/profiles/web/cordis.patch.yml:

- insert:
    - id: mcp-zensink
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: zensink
        transport: stdio
        command: python3
        args: ['-m', 'zens_ink.mcp']
        toolCallTimeoutMs: 300000

For other MCP clients (Claude Desktop, Codex, ...), point the stdio command at python3 -m zens_ink.mcp. API keys are read from the package root .env as usual.

If the Pro package (zens_ink_pro) is installed alongside, its tools (winability, content_radar, competitor_radar, geo_score, geo_visibility, gap_deep, full_audit) are picked up automatically — the same server exposes everything available on that machine. OSS-only installs stay OSS-only.

Typical Workflow

keyword_research  →  find what people actually search
        ↓
keyword_volume    →  filter by real demand
        ↓
kd                →  pick keywords you can actually rank for
        ↓
competitor_gap    →  see what competitors already cover
        ↓
site_audit        →  make sure your pages are crawlable

Requirements

  • Python 3.10+
  • Zero dependencies — pure standard library
  • Optional API keys (Bing, Serper, Brave, GSC) in .env — see .env.example

Documentation

License

MIT — free for personal and commercial use.


Made by Jask

Metadata

Release files for zens-ink 1.4.8

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

Source distribution (sdist)

Source distribution for zens-ink 1.4.8
File Size Uploaded
zens_ink-1.4.8.tar.gz 97.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for zens-ink 1.4.8
File Interpreter ABI Platform
zens_ink-1.4.8-py3-none-any.whl Python 3 none any Details

Total release size: 207.0 kB

Release files / zens_ink-1.4.8.tar.gz

Download URL zens_ink-1.4.8.tar.gz
Size 97.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ce42765c338489bebe872749813554e27e97ef6b1cd2d9854c8dfe61e18b0564
BLAKE2b-256 checksum
How to use checksums
ab57de4653c8e5f5ee5103223cf055797dc0b0448882a85a5ca22cb02bfb89d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / zens_ink-1.4.8-py3-none-any.whl

Download URL zens_ink-1.4.8-py3-none-any.whl
Size 109.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8aedc8f68c292b6e4d0421e6843f49447a056e3aa90a8497fdcdb43b3083b82c
BLAKE2b-256 checksum
How to use checksums
5b584d89690f872ecf1dbb871c78d7a96d9c3c2879e96faa3d5bf1d3c81f6241
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

1.4.11

2 release files

1.4.9

2 release files

This release

1.4.8 This release

2 release files

1.4.7

2 release files

1.4.6

2 release files

1.4.5

2 release files

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