Mmcp.market

Tengence GEO Agent MCP server

by tengence.com·com.tengence/geo·v0.1.2

GEO/SEO content pipeline MCP: plan, write, gate-check, publish, submit, monitor AI visibility.

A89/100grade A
What users say
No reviews yet
Be the first
Safety scan
A89/100

full report

Adoption
Growing

0 stars370 downloads/wk

Reviews

Write one

Nobody has reviewed Tengence GEO Agent yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Tengence GEO Agent tools (56, 21 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • article_draft

    Assemble a ready-to-use writing brief for a new article: the matched T1–T7 body skeleton, the pre-writing research-brief template,

  • article_export

    Export an article md + brief from the DB to the site data/inbox (for rewriting)

  • article_ingest

    Content ingest (single entry): body md + research brief → articles table (CLI canonical orchestration)

  • article_list

    List articles (articles table), with status/limit filters

  • channel_check

    Validate a title/body against a platform's style rules — the 校验 (validation) half. Deterministic, no content generation.

  • channel_list

    List all external content platforms in the syndicate registry: API type (official|cookie|none), status (ready|pending|manual),

  • channel_plan_markwrite action

    Update a channel_plan row status (todo | draft | published | paused) and optionally record its draft ids (media ids).

  • channel_plan_next

    Per-platform publishing calendar: return the next article to publish for a platform plus all calendar rows

  • channel_plan_reconcile

    Reconcile a platform channel_plan with what is ACTUALLY published on that platform (platform=juejin | csdn).

  • channel_publishwrite action

    Publish/export to one external platform. Mode A: pass slugs[] and the server reads the DB and runs the platform pipeline

  • channel_style_get

    Return the FULL platform style / rewrite rules for ONE platform (wechat / juejin / blog / …).

  • channel_taxonomy_list

    Read the cached external-platform taxonomy dictionary (channel_taxonomy) — the platform's OWN categories and tags

  • channel_taxonomy_resolve

    Preview how OUR taxonomy maps onto a platform's (article_plan.category/tags → platform category_id/tag_ids) WITHOUT

  • channel_taxonomy_sync

    Refresh the cached dictionary of an EXTERNAL platform's own taxonomy (category + tag id/name) into the workspace

  • check_articlewrite action

    Publish gate: enforces the editorial rules codified in the "article-writing-standards" standard (citation dual-channel, word count by T1–T7 type, banned words, the three GEO blocks — Summary / Key Takeaways / FAQ / Data Sources — and the research-brief hard check). Read that standard via standards_read before authoring, and run article_draft first to scaffold per-spec.

  • csdn_article_deletewrite action

    Delete a CSDN article (blog/phoenix/console/v1/article/del). IRREVERSIBLE — pass confirm=true only after verifying the

  • csdn_status

    Read the CSDN blog backend for this site: the draft box and the published list

  • db_init

    Explicitly initialize the database (sqlite idempotent table creation / mysql DDL; --drop rebuilds)

  • db_status

    Database status: driver, path, schema version, table list, missing tables

  • diagnose_site

    Full GEO/SEO site diagnosis: domain (DNS/TLS cert/WHOIS), transport & server fingerprint (CMS/framework/platform/CDN), robots.txt, sitemap, homepage + representative pages (meta, H1..H6 structure, JSON-LD, OG, images/alt, links, mixed content), performance and security checks. Bootstraps the site on first use (url → site key, dots → underscores).

  • image_acquire

    Auto image pipeline (search → red-line filter → download → WebP crop → upload to WP media library)

  • juejin_article_deletewrite action

    Delete a published Juejin article (article/delete). IRREVERSIBLE — pass confirm=true only after verifying the article id

  • juejin_draft_deletewrite action

    Delete a Juejin draft (article_draft/delete). IRREVERSIBLE — pass confirm=true only after verifying the draft id via

  • juejin_status

    Read the Juejin (掘金) backend for this site: the draft box (article_draft/list_by_user) and the published list

  • monitor_report

    Read monitoring results (latest round or a given run_id)

  • monitor_runwrite action

    Run GEO monitoring (one round of site prompts × models; results persisted)

  • plan_import

    Import/update the plan table from the site plan directory (idempotent)

  • plan_list

    Article plan table list (status/batch/category/node filters)

  • plan_mark_statuswrite action

    Update a plan row status (todo/written/queued/published/archived)

  • publish_dailywrite action

    Run the daily promotion task (promotes due drafts to publish by plan publish_order; default 1/day).

  • publish_draftwrite action

    Publish a draft (default draft → WP; can --status=publish directly, must pass the gate first)

  • publish_from_dbwrite action

    Publish an article from the DB to WordPress (--force updates an existing article)

  • publish_update_articlewrite action

    Bypass update of an existing article (title/content/status + sync SEO/GEO meta).

  • report_writewrite action

    Write a Markdown report into the site data/reports/ directory (path-safe: filename is basenamed and confined to the reports dir). Auto-bootstraps the site on first use.

  • search_gsc_inspect

    Query one URL's Google indexing status (URL Inspection API, read-only): verdict, coverageState,

  • search_gsc_stats

    Read Google Search Console Search Analytics data: clicks / impressions / CTR / average position,

  • search_submit_baiduwrite action

    Submit URLs to Baidu normal inclusion (requires BAIDU_TOKEN / BAIDU_SITE).

  • search_submit_gscwrite action

    Submit the sitemap to Google Search Console (soft-fail)

  • search_submit_indexnowwrite action

    Submit URLs to IndexNow (requires INDEXNOW_KEY)

  • site_init

    Scaffold a site inside the bound workspace: <workspace>/<key>/{config,data/inbox,data/reports,.env} (idempotent, never overwrites existing files)

  • site_list

    List the sites inside the bound user workspace (site key, domain, app_id, storage driver). Returns a hint instead when no workspace is bound yet.

  • site_status

    Site status: config paths, .env readiness, DB driver and SQLite init state

  • standards_list

    List the generic writing & GEO standards shipped with the engine (titles, whether a site-specific supplement exists).

  • standards_read

    Read a generic standard document (base + any site-specific supplement merged). Names are repository-relative without `.md`,

  • util_ping

    Connectivity self-check: SDK version, driver, internal data directory, bound workspace and site count

  • webmaster_bing_status

    Read Bing Webmaster console data (verified sites / URL submission quota / query stats / crawl issues). Requires BING_WEBMASTER_API_KEY in the site .env. Note: Bing trimmed its JSON API on 2026-08-31 (GetPages/GetSitemaps/GetTrafficStats/GetUrlSubmissionStatus now 404).

  • webmaster_bing_submitwrite action

    Write to Bing Webmaster: submit URL(s) (comma-separated = batch, ≤10000 per call). Requires BING_WEBMASTER_API_KEY in the site .env.

  • wechat_article_deletewrite action

    Delete a published article (freepublish/delete, article_id from wechat_status published). IRREVERSIBLE — verify the

  • wechat_draft_publishwrite action

    Publish a draft box media_id to the account homepage via freepublish/submit (NO push to followers — the draft is

  • wechat_mass_previewwrite action

    Send a draft (media_id from the draft box) to one user as a preview (message/mass/preview). Requires a verified

  • wechat_mass_sendwrite action

    Mass-send (PUSH to followers) a draft via message/mass/sendall (all followers or one tag) or message/mass/send

  • wechat_mass_status

    Query a mass-send task status (message/mass/get, msg_id from wechat_mass_send).

  • wechat_stats

    Read official-account statistics from the WeChat backend (datacube/*, served WITHOUT the /cgi-bin/ prefix —

  • wechat_status

    Read the WeChat official-account backend: the draft box (draft/batchget — media_id + titles) and the mass-sent list

  • wechat_sync_progress

    Reconcile the channel_plan calendar with the real WeChat backend and auto-fix the DB: draft rows whose media_id is

  • workspace_use

    Bind the user workspace directory (call this first): all site config, credentials and output files live under it. Ask the user which directory to use if it was not mentioned; `~` is supported and expanded here.

Public scan report

scanner v0.1.10 · 2026-10-02 · same rubric, same numbers if you re-run it

no findings
  • Code scan5 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 0 days ago15/15
  • Maintainer identitynamespace and repository owner differ; GitHub account older than a year6/10
Overall 89/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

Install Tengence GEO Agent in Claude Code, Cursor or VS Code

Runs npx -y @tengence/geo-mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add geo -- npx -y @tengence/geo-mcp
Add to Cursor

What the publisher says

From the Tengence GEO Agent repository's README, as published. We do not edit it. Read it on GitHub

Tengence GEO Agent

GEO/SEO content production & publishing engine — full-pipeline automation from content planning → writing & ingest → gate checks → WordPress publishing → search submission → GEO monitoring. Three usage modes: CLI / MCP (AI clients) / built-in agent runtime loop. Default storage is a single-file multi-tenant SQLite (auto-initialized) with optional MySQL; designed for open source and multi-site use.

AI clients (any MCP-capable harness)
        │  MCP (stdio or Streamable HTTP + Bearer)
        ▼
  @tengence/geo-mcp     29 tools (workspace/site/article/check/publish/plan/image/monitor/db/search/diagnose/util/standards)
        ▼
  @tengence/geo-cli     21 tengence-geo-* commands
        ▼
  @tengence/geo-sdk     15-domain capability layer (site/db/wp/content/images/search/…)
        ▼
  SQLite (auto-init)  or  MySQL (tengence_geo_*, isolated from prod tengence_omni_*)

Packages (monorepo)

Quick start

npm install
cp -R examples/site-template ~/tengence/sites/my-site
cd ~/tengence/sites/my-site && cp .env.example .env   # fill in WP credentials / tokens

# Full CLI pipeline
export SITES_ROOT=~/tengence/sites
tengence-geo-article-ingest hello-geo ./hello-geo.md --site my-site --research ./hello-geo.research.md
tengence-geo-check-article hello-geo --site my-site

# MCP (any MCP-capable client; see docs/mcp-platforms.md)
node packages/geo-mcp/bin/geo-mcp.js                          # stdio
GEO_MCP_TOKEN=sk-xxx node packages/geo-mcp/bin/geo-mcp-http.js  # HTTP

# Agent (runs once the API key is set)
export DEEPSEEK_API_KEY=sk-xxx
npx -y @tengence/geo-agent

Full onboarding: docs/getting-started.md.

Documentation

  • Architecture & design decisions (layering / multi-tenancy / init model / why MCP bridging)
  • Generic writing & GEO standards — shipped in @tengence/geo-sdk, consumed via the standardslist / standardsread / article_draft MCP tools (the requirements an article must satisfy)
  • Getting started
  • MCP integration (stdio / HTTP, any client)
  • Release & distribution (npm / Docker)

Development & verification

npm run build          # workspace consistency check
npm test               # 138 tests (all green on SQLite)
npm run geo:sdk-smoke  # SDK smoke test

Security boundaries

  • Secrets live only in SITES_ROOT//.env (gitignored); the repo ships only the .env.example template.
  • The production MySQL (tengenceomni) is never written by this repo; the new repo uniformly uses tengencegeo.
  • The MCP HTTP transport requires GEOMCPTOKEN (Bearer).

License

MIT

Nothing above is checked by us. What we check is on the safety report.

Tengence GEO Agent: common questions

Is Tengence GEO Agent MCP server safe?
Yes, by our scan: it is graded A (89/100). Read the Tengence GEO Agent safety report
How do I install Tengence GEO Agent?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Tengence GEO Agent need an API key?
No secret keys are declared. It reads 3 settings from the environment.
Is Tengence GEO Agent maintained?
The last commit was 11 days ago (2026-10-02). The latest release is v0.1.2.
What can I use instead of Tengence GEO Agent?
Servers from other publishers that do the same job: Frase SEO MCP server, Blawgy MCP server and AfterLaunch: the agentic growth marketing engine MCP server. Compare all Tengence GEO Agent alternatives.

Alternatives to Tengence GEO Agent

Same job from other publishers: the closest match first, then the best rated.

All Tengence GEO Agent alternatives →
  • Frase SEO
    SEO, GEO & AI Visibility — research, write, optimize, publish & monitor content. 121 tools.
    B
  • Blawgy
    Research keywords, plan, write, update and publish SEO blog posts on your site from any agent.
    A
  • AfterLaunch: the agentic growth marketing engine
    Growth marketing, SEO and GEO as agent tools: ranked moves, ship them, AI answer visibility.
    A
  • Rankdelta
    Open-source AI SEO over MCP: audits, ranks, keywords, backlinks + AI visibility (GEO).
    A
  • Google Ads + Meta Ads + SEO/GEO MCP
    Google Ads, Meta Ads, Google Analytics (GA4) & Search Console MCP server by Ryze AI
    A

More from tengence.com →