Tengence GEO Agent MCP server
GEO/SEO content pipeline MCP: plan, write, gate-check, publish, submit, monitor AI visibility.
0 stars370 downloads/wk
Reviews
Write oneNobody 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 postsRead from the package source without running it. The installed server may list more.
article_draftAssemble a ready-to-use writing brief for a new article: the matched T1–T7 body skeleton, the pre-writing research-brief template,
article_exportExport an article md + brief from the DB to the site data/inbox (for rewriting)
article_ingestContent ingest (single entry): body md + research brief → articles table (CLI canonical orchestration)
article_listList articles (articles table), with status/limit filters
channel_checkValidate a title/body against a platform's style rules — the 校验 (validation) half. Deterministic, no content generation.
channel_listList all external content platforms in the syndicate registry: API type (official|cookie|none), status (ready|pending|manual),
channel_plan_markwrite actionUpdate a channel_plan row status (todo | draft | published | paused) and optionally record its draft ids (media ids).
channel_plan_nextPer-platform publishing calendar: return the next article to publish for a platform plus all calendar rows
channel_plan_reconcileReconcile a platform channel_plan with what is ACTUALLY published on that platform (platform=juejin | csdn).
channel_publishwrite actionPublish/export to one external platform. Mode A: pass slugs[] and the server reads the DB and runs the platform pipeline
channel_style_getReturn the FULL platform style / rewrite rules for ONE platform (wechat / juejin / blog / …).
channel_taxonomy_listRead the cached external-platform taxonomy dictionary (channel_taxonomy) — the platform's OWN categories and tags
channel_taxonomy_resolvePreview how OUR taxonomy maps onto a platform's (article_plan.category/tags → platform category_id/tag_ids) WITHOUT
channel_taxonomy_syncRefresh the cached dictionary of an EXTERNAL platform's own taxonomy (category + tag id/name) into the workspace
check_articlewrite actionPublish 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 actionDelete a CSDN article (blog/phoenix/console/v1/article/del). IRREVERSIBLE — pass confirm=true only after verifying the
csdn_statusRead the CSDN blog backend for this site: the draft box and the published list
db_initExplicitly initialize the database (sqlite idempotent table creation / mysql DDL; --drop rebuilds)
db_statusDatabase status: driver, path, schema version, table list, missing tables
diagnose_siteFull 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_acquireAuto image pipeline (search → red-line filter → download → WebP crop → upload to WP media library)
juejin_article_deletewrite actionDelete a published Juejin article (article/delete). IRREVERSIBLE — pass confirm=true only after verifying the article id
juejin_draft_deletewrite actionDelete a Juejin draft (article_draft/delete). IRREVERSIBLE — pass confirm=true only after verifying the draft id via
juejin_statusRead the Juejin (掘金) backend for this site: the draft box (article_draft/list_by_user) and the published list
monitor_reportRead monitoring results (latest round or a given run_id)
monitor_runwrite actionRun GEO monitoring (one round of site prompts × models; results persisted)
plan_importImport/update the plan table from the site plan directory (idempotent)
plan_listArticle plan table list (status/batch/category/node filters)
plan_mark_statuswrite actionUpdate a plan row status (todo/written/queued/published/archived)
publish_dailywrite actionRun the daily promotion task (promotes due drafts to publish by plan publish_order; default 1/day).
publish_draftwrite actionPublish a draft (default draft → WP; can --status=publish directly, must pass the gate first)
publish_from_dbwrite actionPublish an article from the DB to WordPress (--force updates an existing article)
publish_update_articlewrite actionBypass update of an existing article (title/content/status + sync SEO/GEO meta).
report_writewrite actionWrite 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_inspectQuery one URL's Google indexing status (URL Inspection API, read-only): verdict, coverageState,
search_gsc_statsRead Google Search Console Search Analytics data: clicks / impressions / CTR / average position,
search_submit_baiduwrite actionSubmit URLs to Baidu normal inclusion (requires BAIDU_TOKEN / BAIDU_SITE).
search_submit_gscwrite actionSubmit the sitemap to Google Search Console (soft-fail)
search_submit_indexnowwrite actionSubmit URLs to IndexNow (requires INDEXNOW_KEY)
site_initScaffold a site inside the bound workspace: <workspace>/<key>/{config,data/inbox,data/reports,.env} (idempotent, never overwrites existing files)
site_listList 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_statusSite status: config paths, .env readiness, DB driver and SQLite init state
standards_listList the generic writing & GEO standards shipped with the engine (titles, whether a site-specific supplement exists).
standards_readRead a generic standard document (base + any site-specific supplement merged). Names are repository-relative without `.md`,
util_pingConnectivity self-check: SDK version, driver, internal data directory, bound workspace and site count
webmaster_bing_statusRead 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 actionWrite to Bing Webmaster: submit URL(s) (comma-separated = batch, ≤10000 per call). Requires BING_WEBMASTER_API_KEY in the site .env.
wechat_article_deletewrite actionDelete a published article (freepublish/delete, article_id from wechat_status published). IRREVERSIBLE — verify the
wechat_draft_publishwrite actionPublish a draft box media_id to the account homepage via freepublish/submit (NO push to followers — the draft is
wechat_mass_previewwrite actionSend a draft (media_id from the draft box) to one user as a preview (message/mass/preview). Requires a verified
wechat_mass_sendwrite actionMass-send (PUSH to followers) a draft via message/mass/sendall (all followers or one tag) or message/mass/send
wechat_mass_statusQuery a mass-send task status (message/mass/get, msg_id from wechat_mass_send).
wechat_statsRead official-account statistics from the WeChat backend (datacube/*, served WITHOUT the /cgi-bin/ prefix —
wechat_statusRead the WeChat official-account backend: the draft box (draft/batchget — media_id + titles) and the mass-sent list
wechat_sync_progressReconcile the channel_plan calendar with the real WeChat backend and auto-fix the DB: draft rows whose media_id is
workspace_useBind 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
- 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
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
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-agentFull 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 testSecurity 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.
Frase SEOSEO, GEO & AI Visibility — research, write, optimize, publish & monitor content. 121 tools.not reviewedGrowingB
BlawgyResearch keywords, plan, write, update and publish SEO blog posts on your site from any agent.not reviewedGrowingA
AfterLaunch: the agentic growth marketing engineGrowth marketing, SEO and GEO as agent tools: ranked moves, ship them, AI answer visibility.not reviewedGrowingA- RankdeltaOpen-source AI SEO over MCP: audits, ranks, keywords, backlinks + AI visibility (GEO).not reviewedGrowingA
Google Ads + Meta Ads + SEO/GEO MCPGoogle Ads, Meta Ads, Google Analytics (GA4) & Search Console MCP server by Ryze AInot reviewedEstablishedA