MCP server for measuring LLM citation visibility across Perplexity, Claude, ChatGPT, Gemini, Bing, and Google AI Overviews. 12 tools, BYO keys, self-hosted, no telemetry.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http
verified
reported
listed in the official MCP registry counts 26 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
audit_crawler_access
-
audit_llms_txt
-
audit_schema
-
audit_sitemap
-
audit_sitemap_map
-
audit_structured_data
-
citations_check
-
citations_evidence
-
citations_freshness
-
citations_predict
-
citations_provenance
-
citations_trend
-
competitors_canonical_set
-
competitors_compare
-
competitors_compete
-
domain_am_i_cited
-
domain_cited_for
-
domain_cited_for_diff
-
panel_run
-
panel_track
-
report_visibility
-
signals_ai_overview
-
signals_answer_box
-
signals_bing_gap
-
signals_gsc_gap
-
signals_wikipedia
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 3818b62 · analyzer v33 · 2d ago
skills & prompt files 1
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 52
filesystem 7
- fs AutomateLab-tech-citation-intelligence-3818b62/action/runner.mjs :5
import { appendFileSync } from "fs"; - fs AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :5
import { readFileSync } from "node:fs"; - fs AutomateLab-tech-citation-intelligence-3818b62/src/lib/cache.ts :1
import { mkdir, readFile, writeFile } from "node:fs/promises"; - fs AutomateLab-tech-citation-intelligence-3818b62/src/lib/panels.ts :1
import { mkdir, readFile, writeFile, readdir } from "node:fs/promises"; - fs AutomateLab-tech-citation-intelligence-3818b62/src/resources.ts :4
import { readFile, readdir, stat } from "node:fs/promises"; - fs AutomateLab-tech-citation-intelligence-3818b62/src/tools/gsc-citation-gap.ts :3
import { readFile } from "node:fs/promises"; - fs (weak) AutomateLab-tech-citation-intelligence-3818b62/tests/smoke.test.ts :6
import { mkdtempSync, rmSync } from "node:fs";
network 1
- net AutomateLab-tech-citation-intelligence-3818b62/src/lib/fetch.ts :1
import { request } from "undici";
secrets 2
- secrets AutomateLab-tech-citation-intelligence-3818b62/action/runner.mjs :9
PERPLEXITY_API_KEY: process.env.INPUT_PERPLEXITY_API_KEY, - secrets (weak) AutomateLab-tech-citation-intelligence-3818b62/tests/smoke.test.ts :41
const hasPerplexity = Boolean(process.env["PERPLEXITY_API_KEY"]);
tool registrations 26
- citations_check AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :122
- domain_am_i_cited AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :140
- signals_ai_overview AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :158
- domain_cited_for AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :176
- citations_predict AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :194
- panel_track AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :212
- panel_run AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :230
- report_visibility AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :248
- citations_trend AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :266
- competitors_compare AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :284
- signals_wikipedia AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :302
- audit_sitemap AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :320
- competitors_compete AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :338
- citations_freshness AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :356
- domain_cited_for_diff AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :374
- signals_gsc_gap AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :392
- signals_bing_gap AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :410
- audit_schema AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :428
- audit_llms_txt AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :446
- signals_answer_box AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :464
- citations_provenance AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :482
- citations_evidence AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :500
- audit_crawler_access AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :518
- audit_sitemap_map AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :536
- competitors_canonical_set AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :554
- audit_structured_data AutomateLab-tech-citation-intelligence-3818b62/src/index.ts :572
declared dependencies 10
- @modelcontextprotocol/sdk@1.29.0
- cheerio@1.0.0
- google-auth-library@9.15.0
- robots-parser@3.0.1
- undici@7.25.0
- zod@3.25.76
- @types/node@22.19.19
- tsx@4.22.0
- typescript@5.7.3
- vitest@3.2.4