mcpField
C
Citation Intelligence Mcp

Citation Intelligence Mcp

本地服务
automatelab.techAI 与智能体82 周前更新

关于 Citation Intelligence Mcp

Citation Intelligence MCP 是面向开发者、Agent 和 SEO 从业者的可自托管服务,用于检查 AI 搜索系统引用的 URL。它结合跨引擎引用检查、域名报告、审计和本地缓存。

主要功能

  1. 01检查多个 AI 搜索引擎的引用
  2. 02比较不同引擎的引用共识
  3. 03跟踪域名引用及变化
  4. 04生成可见度和竞品报告
  5. 05审计结构化数据与爬虫访问
  6. 06在本地缓存结果

适用场景

  1. 01查找研究查询所获引用的来源
  2. 02衡量网站在 AI 搜索中的可见度
  3. 03对比竞品的引用覆盖情况
  4. 04发现站点地图和结构化数据问题

MCP 相关

它向 MCP 客户端提供引用、域名、信号、报告、竞品和审计工具,以及提示词和资源。服务在本地运行,可直接连接已配置的供应商 API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"citation-intelligence": {
"command": "npx",
"args": [
"-y",
"@automatelab/citation-intelligence"
]
}
}
}
启动命令npx -y @automatelab/citation-intelligence

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@automatelab/citation-intelligence0.12.1

工具

26

收录的工具列表 · 更新于 2 周前

参数类型必填说明
querystring是要测试的搜索查询(用户会向 AI 提出什么问题?)
engineenum否要查询的引擎。 • perplexity / google_ai_mode — consumer_scrape:最接近真实产品行为。 • claude / openai / gemini — api_proxy:API 层调用,可能与消费级产品不同。 • bing_serp / brave_serp — web_rank:传统 SERP 排名,不是 LLM 引用。 'auto' 优先选择 SerpAPI (google_ai_mode) → Perplexity → LLM adapters → web_rank。perplexity | claude | openai | gemini | bing_serp | brave_serp | brave | google_ai_mode | auto
max_resultsinteger否要返回的最大引用数。
perplexity_modelstring否Perplexity 模型覆盖项(例如 'sonar'、'sonar-pro'、'sonar-reasoning')。仅在 engine='perplexity' 时使用。默认值为 'sonar-pro'。

详细介绍

引用情报 MCP

一款免费、可自托管的 MCP 服务,可告知你的 Agent 在 Perplexity、Google AI Overviews、ChatGPT、Claude、Gemini 和 Bing 上引用了哪些内容。

npm version license node CI

这是什么

一款面向 Agent 和开发者的 MCP 服务,可查询 AI 搜索引擎针对任意查询引用了哪些 URL。只需安装一次,即可通过任何兼容 MCP 的客户端(Claude Desktop、Cursor、Claude Code、Continue、Cline、n8n、LangGraph)查询。可自托管,无需账户,也没有集中式后端。使用你自己的 API 密钥;数据不会存储在远程服务上。

适用人群

如果你符合以下情况,请安装:

  • 正在构建用于研究的 Agent,并希望它引用大模型已经信任的来源
  • 独立开发者或个人创业者,想检查自己的 SaaS 是否出现在 AI 搜索结果中
  • 内容创作者,想确认自己的文章是否被 ChatGPT、Claude 或 Perplexity 引用
  • SEO 或 GEO 从业者,希望以编程方式获取引用数据,而不想使用每月 295–499 美元的仪表盘
  • 正在运行编辑工作流,并希望根据引用缺口选择主题
  • 想比较竞争对手在各 AI 引擎中的可见度,涵盖任意细分领域

如果你希望获得以下功能,请勿安装:

  • 精美的营销仪表盘,包含图表和团队席位——可以试试 Profound、AthenaHQ 或 Otterly.AI
  • 带 SLA 的托管服务——本项目有意设计为可自托管
  • 学术论文引用追踪——可以试试 citecheck
  • 3.5 亿多个预建模提示词——这属于 Ahrefs Brand Radar

为什么要做这个项目

AI 引用追踪市场由获得风险投资的仪表盘主导,起价为每月 295 美元。没有一款产品以 MCP 为先。如果你是想将引用数据直接接入工作流(而不是 SaaS 登录界面)的 Agent 或开发者,就没有适合你的工具。这就是这款工具的用武之地。


工具

工具分为七个命名空间:citations_*、domain_*、signals_*、panel_*、report_*、competitors_*、audit_*。前缀表示问题类别,后缀表示操作。工具名称使用下划线(而非点号),这样基于 Anthropic API 的 MCP 客户端(Claude Desktop、Claude Code)就能转发工具列表,而不会触发 HTTP 400 错误。

建议从 citations_provenance 或 domain_am_i_cited 开始。 单引擎结果(将引擎固定为某一个时使用 citations_check)只能作为参考;多引擎共识才是可靠信号。某个 URL 被 5 个引擎中的 4 个引用,与只被 1 个引擎引用,代表的情况截然不同。

citations_* — 查询级别:谁引用了什么,有哪些证据
工具用途
citations_provenance推荐的首选工具。 将查询发送至多个引擎;生成逐 URL 的跨引擎共识矩阵。为每个引擎返回 interpretation_note。
citations_check查询在 Perplexity / Claude / ChatGPT / Gemini / Google AI Mode 中引用的 URL;或通过 bing_serp / brave_serp 获取网页排名
citations_evidence从每条引用的 raw_answer 中提取被引用的片段(了解原因,而不只是是否引用)
citations_predict根据公开信号预测引用可能性——不会调用大模型
citations_trend引用率时间序列报告,以及逐查询的新增/丢失差异
citations_freshness引擎引用页面的新近度评分(半衰期 = 365 天)
domain_* — 域名级:我是否被引用,以及因何被引用
工具用途
domain_am_i_cited域名引用检查。使用 engine=auto(默认值)时,会查询所有可用的大模型引擎,并返回各引擎的细分结果和跨引擎共识。指定 engine= 可降低成本。
domain_cited_for从本地缓存查询该域名因哪些内容被引用
domain_cited_for_diff对比某个域名在两个时间段内 domain_cited_for 的差异
signals_* — 外部信号:AI Overview、Wikipedia、GSC、答案框位置
工具用途
signals_ai_overviewGoogle AI Overview 的展示情况和引用来源
signals_wikipedia列出引用某个域名的 Wikipedia 文章(无需密钥)
signals_gsc_gap将 Google Search Console 的效果数据与 AI 引用状态关联起来
signals_answer_box将 raw_answer 中每条引用首次出现的位置划分为前、中、后三段
panel_* — 已保存的查询面板(编辑监测列表)
工具用途
panel_track保存、加载或列出命名查询面板(编辑监测列表)
panel_run通过 domain_am_i_cited 运行面板,并将快照保存到磁盘
report_* — 一站式报告产物
工具用途
report_visibility针对一组查询(或面板)生成一站式 AI 可见度报告:引用率(提及频率)、相较竞争对手的声量份额、平均排名和品牌情感。返回结构化数据,以及可用于公开页面的 Markdown 产物。
competitors_* — 按查询分析竞争格局
工具用途
competitors_canonical_set汇总各引擎结果,列出每个查询中被引用最多的域名
competitors_compete端到端竞争快照:对比你的 URL 与被引用最多的竞争对手
competitors_compare并排比较 2-10 个 URL 的 citations_predict 结果
audit_* — 可修复的页面内/网站内检查
工具用途
audit_schema深入验证 schema.org:检查每种 @type 的必填字段和格式错误的 JSON-LD
audit_structured_data面向修复的 schema.org 诊断,并提供建议补丁
audit_crawler_access验证 GPTBot / ClaudeBot / PerplexityBot / CCBot / Google-Extended 等能否抓取某个 URL
audit_sitemap对站点地图中的每个 URL 批量运行 citations_predict,并按表现从差到好排序
audit_sitemap_map将站点地图 URL 与缓存的引用交叉比对(与 audit_sitemap 的方向相反)
audit_llms_txt根据站点地图生成 llms.txt(https://llmstxt.org)
提示词

客户端可向最终用户提供的服务端提示词模板(通过 MCP 提示词列表调用):

  • audit_citation_readiness(url) - 串联 citations_predict 和 audit_schema
  • audit_competitor_snapshot(query, your_url?) - 串联 competitors_canonical_set 和 competitors_compete
  • audit_crawler_checkup(url) - 运行 audit_crawler_access 并生成修复清单
  • audit_gap_analysis(domain, days?) - 调用 signals_gsc_gap 并提出后续行动建议
  • audit_sitemap_coverage(sitemap_url) - 运行 audit_sitemap_map 并推荐优先事项
资源

客户端可读取或订阅的缓存视图(无需调用工具):

  • citation://cache/summary - 按类型/引擎统计条目数、唯一查询/URL 数量,以及最早/最新记录
  • citation://panels - 已保存的面板及各面板的快照数量
  • citation://docs/llms-txt - llms.txt 入门介绍(Markdown)
  • citation://docs/ai-crawlers - AI 爬虫速查表(Markdown)
  • citation://domain/{domain}/cited-for - 动态模板:{domain} 的引用记录

这项指标实际测量的内容

每个响应都包含一个 surface 字段,准确说明数据的采集方式。在得出结论前,了解这一点很重要。

SurfaceEngines含义
consumer_scrapeperplexity, google_ai_mode通过面向消费者的真实 AI 搜索产品代理获取。最接近用户看到的结果。
api_proxyclaude, openai, gemini调用支持搜索的大模型 API。结果可能与面向消费者的产品行为不同——模型版本不同、没有 UI 层级的排名逻辑,也没有个性化。可用作趋势参考,而非事实依据。
web_rankbing_serp, brave_serp传统网页搜索排名(不是大模型引用)。测量 URL 是否出现在 SERP 结果中,而不是大模型是否引用了它。
static_signalcitations_predict, signals_wikipedia根据公开数据离线计算的信号。不进行实时大模型查询。
各引擎说明

perplexity(consumer_scrape) — 通过 Perplexity API 使用 Sonar Pro 和与消费者版本相当的系统提示词。结果与 Perplexity.ai 比较接近。引用来自响应中的 search_results;citations 备用字段仅包含 URL,不含标题。

claude(api_proxy) — 通过 Anthropic Messages API 使用 Claude Sonnet,并启用 web_search 工具。面向消费者的 Claude.ai 产品使用不同的路由和排名逻辑。引用行为可能有所不同,尤其是在近期或时效性查询中。

openai(api_proxy) — 通过 OpenAI Responses API 使用 gpt-4o 和 web_search_preview 工具。它取代了 OpenAI 已停用的 gpt-4o-search-preview 别名;受支持的方式是使用基础版 gpt-4o 搭配该工具。

gemini(api_proxy) — 通过 Generative Language API 使用 Gemini 2.5 Pro,并以 google_search 进行 grounding。面向消费者的 Gemini 使用相同的 grounding 索引,但重新排序方式不同。结果仅供趋势参考。

google_ai_mode(consumer_scrape) — 通过 SerpAPI 获取 Google AI Mode 结果。最接近用户在 Google 搜索中看到的结果。需要 SERPAPI_KEY。

bing_serp / brave_serp(web_rank) — 传统 SERP 排名。不测量大模型引用。使用这些引擎运行 citations_check,可将自然网页排名与大模型引用排名进行比较。domain_am_i_cited 不接受这些引擎——它只测量大模型的行为。

api_proxy 引擎采用代理方式是其特性,而非缺陷:这样你就能运行引用检查,而无需消耗昂贵的面向消费者产品配额。但请勿将 API 代理数据称为“ChatGPT 引用了你”,除非同时说明这一限制。

每个工具响应都包含一个 interpretation_note 字段,用一句话概述结果的保真度。各引擎的完整保真度评级请参阅:docs/surface-fidelity.md。


快速开始

npx -y @automatelab/citation-intelligence

需要 Node 20 或更高版本。

Claude Desktop

将以下内容添加到 %APPDATA%\Claude\claude_desktop_config.json(Windows)或 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS):

{
  "mcpServers": {
    "citation-intelligence": {
      "command": "npx",
      "args": ["-y", "@automatelab/citation-intelligence"],
      "env": {
        "PERPLEXITY_API_KEY": "pplx-...",
        "SERPAPI_KEY": "...",
        "ANTHROPIC_API_KEY": "sk-ant-...",
        "OPENAI_API_KEY": "sk-...",
        "GEMINI_API_KEY": "..."
      }
    }
  }
}

只设置你拥有的密钥即可。任何支持 stdio 传输的 MCP 客户端都可以使用——采用相同的 command / args 模式。

如何保持免费

  • 没有中央后端。 服务在你的计算机上运行,不会上传任何内容。
  • 优先使用免费套餐。 SerpAPI 每月提供 100 次免费的 Google AI Overview 查询。Bing Web Search 提供免费套餐。Perplexity 注册后提供免费的 Sonar 访问权限。
  • 需要使用高级引擎(Claude、ChatGPT、Gemini)时,自备付费密钥。 密钥会直接传给服务提供商,不会经过任何第三方。
  • 本地缓存位于 ~/.config/citation-intelligence/cache.json。重复查询会命中缓存,而非调用 API。默认 TTL:7 天。
  • citations_predict 无需任何密钥即可运行——它根据公开信号(Wikipedia、schema.org、llms.txt、GitHub)评估被引用的可能性,不会调用任何大模型。

隐私

  • 所有 API 调用都会从你的计算机直接发送到服务商(Anthropic、OpenAI、Google、Perplexity、Bing、SerpAPI)。
  • 默认不使用代理,不做分析,也不收集遥测数据。
  • API 密钥从 MCP 进程的环境变量中读取,绝不会记录或持久化。
  • 缓存文件位于 ~/.config/citation-intelligence/cache.json。你可以随时删除它。

环境变量

变量用途是否有免费额度?
PERPLEXITY_API_KEYcitations_check(perplexity — consumer_scrape)是
SERPAPI_KEYsignals_ai_overview + citations_check(google_ai_mode — consumer_scrape)每月免费 100 次
ANTHROPIC_API_KEYcitations_check(claude — api_proxy)仅付费
OPENAI_API_KEYcitations_check(openai — api_proxy)仅付费
GEMINI_API_KEYcitations_check(gemini — api_proxy)是
BING_API_KEYcitations_check(bing_serp — web_rank)是
BRAVE_API_KEYcitations_check(brave_serp — web_rank)是(每月 2000 次)
CITATION_CACHE_TTL_DAYScitations_check 条目的缓存 TTL(默认值为 7)不适用
CITATION_AI_OVERVIEW_TTL_DAYSsignals_ai_overview 条目的缓存 TTL(默认值为 1)不适用
CITATION_CONFIG_DIR覆盖配置目录(默认值为 ~/.config/citation-intelligence)不适用

示例:我被引用了吗?

You: For the queries "best AI citation tracker", "MCP for AI search", "self-hosted GEO tool",
     is automatelab.tech cited?

(agent invokes `domain_am_i_cited`)

Result:
{
  "domain": "automatelab.tech",
  "engine": "perplexity",
  "results": [
    { "query": "best AI citation tracker",   "cited": true,  "rank": 4 },
    { "query": "MCP for AI search",          "cited": true,  "rank": 1 },
    { "query": "self-hosted GEO tool",       "cited": false, "matching_urls": [] }
  ],
  "summary": {
    "queries_total": 3,
    "queries_cited": 2,
    "citation_rate": 0.67,
    "average_rank": 2.5
  }
}

示例:预测被引用的可能性(无需密钥)

You: How likely is https://example.com/blog/post to be cited by AI?

(agent invokes `citations_predict`)

Result:
{
  "url": "https://example.com/blog/post",
  "score": 62,
  "grade": "C",
  "signals": {
    "wikipedia_linked": false,
    "github_referenced": false,
    "reddit_referenced": true,
    "llms_txt_present": true,
    "https": true,
    "has_article_schema": true,
    "has_faq_schema": false,
    "has_breadcrumb_schema": true,
    "canonical_clean": true,
    "word_count": 1850,
    "reading_time_minutes": 8,
    "h2_count": 7,
    "h2_question_count": 1,
    "authority_link_count": 2,
    "external_link_count": 6,
    "internal_link_count": 11,
    "last_modified_days_ago": 42,
    "has_open_graph": true
  },
  "fixes": [
    { "signal": "has_faq_schema", "suggestion": "Page already has question-style H2s. Wrap them in FAQPage JSON-LD - high-leverage win.", "estimated_lift": "high" },
    { "signal": "h2_question_count", "suggestion": "Reframe at least 2 H2s as questions users actually ask...", "estimated_lift": "medium" }
  ]
}

维基百科信号会被纳入测量(它与引用相关),但不会给出“去创建一篇维基百科条目”的建议——这种建议不可执行。评分分为六个类别:域名权威性、结构化数据、内容深度、链接图谱、内容新鲜度和元数据,因此,同一域名下的浅薄页面和深度页面会得到有明显差异的分数。


工作流示例

将 26 个工具组合起来解决实际问题的具体模式。成本按每次查询约 0.01–0.03 美元估算,适用于 ChatGPT 或 Perplexity。

1. 每周引用跟踪

这是投资回报率最高的模式。选取编辑待办列表中的 20–30 个查询,每周快照一次,并关注引用率趋势。

# One-time setup
panel_track name="editorial-watchlist" domain="example.com" action="save"
            queries=["best widget tutorial", "how to set up X", ...]

# Weekly cron (5 min, ~$0.20-0.60 per run)
panel_run name="editorial-watchlist"

# Anytime
citations_trend panel="editorial-watchlist"

citations_trend 会返回每个查询的变化:自首次快照以来,哪些查询从 cited: false 变成了 cited: true。这才是真正衡量编辑影响力的指标。

2. 发布前检查

发布文章之前,先了解谁占据了引用位置,以及争取这个位置是否值得。

# 1. Is there an AI Overview to compete for?
signals_ai_overview query="<target query>"

# 2. Who is cited today?
citations_check query="<target query>"

# 3. After publish + 14 days: did the post break in?
domain_am_i_cited domain="example.com" queries=["<target query>"]

如果 citations_check 返回低搜索量查询中有 5 个或更多强势的现有引用者,就换个角度。如果 ai_overview_present: false,说明该查询没有 AI 展示位——请重新考虑。

3. 批量网站审计

一次性发现整个网站各页面的结构性问题。无需 API 支出。

audit_sitemap sitemap_url="https://example.com/sitemap.xml" limit=200

按引用可能性分数从低到高返回 worst_first。可发现缺少 schema、规范网址冲突、缺少 /llms.txt 以及 HTTPS 故障等问题。

4. 竞争对手信号差距

你没有被引用,他们却有。为什么?

# 1. Find the top-cited URLs for your target query
citations_check query="<query>"

# 2. Compare your URL to theirs signal-by-signal
competitors_compare urls=[
  "https://example.com/your-post",
  "https://competitor-1.com/their-post",
  "https://competitor-2.com/their-post"
]

diverging_signals 列出了你落后的方面。通常一看就明白——他们有 FAQ schema、GitHub 引用和维基百科链接,而你没有。

5. Google 排名与 AI 引用的差距

最容易取得的编辑成果,来自你已排在 Google 搜索结果前 10 位、但 AI 却看不到你的查询。需要拥有 webmasters.readonly 权限范围的 GCP 服务账号。

signals_gsc_gap
  domain="example.com"
  queries=["...editorial watchlist..."]
  start_date="2026-04-01"
  end_date="2026-05-01"

closest_wins 会返回 position <= 10 且 ai_cited: false 的查询,并按展示次数降序排列。优先为这些特定 URL 增加引用信号。

6. 维基百科提及监控

维基百科是相关性最高的信号,但“登上维基百科”的建议毫无用处。因此,改为监控自然出现的维基百科提及。

signals_wikipedia domain="example.com" limit=50

返回已链接到该域名的维基百科条目 URL。每季度重新运行一次;差异结果就是“我们获得了维基百科引用”的提醒。

Schema.org

{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Citation Intelligence MCP",
  "applicationCategory": "DeveloperApplication",
  "operatingSystem": "Cross-platform",
  "description": "Self-hosted MCP server for querying AI citation data from Perplexity, Claude, ChatGPT, Gemini, Bing, and Google AI Overviews.",
  "offers": { "@type": "Offer", "price": "0" },
  "url": "https://github.com/AutomateLab-tech/citation-intelligence"
}

贡献

欢迎提交 Bug 报告、功能想法和 PR。请参阅 CONTRIBUTING.md。

安全

请通过 SECURITY.md 报告漏洞。

许可证

MIT 许可证,详见 LICENSE。

由 automatelab.tech 构建

维护与验证

有关解读限制、适用情况下的当前工具名称以及可复现的验证,请参阅维护指南。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。