mcpField
C
cituna-mcp

cituna-mcp

远程服务
github.com/cituna商业与营销13 天前更新
代码仓库

关于 cituna-mcp

cituna-mcp 将 AI Agent 连接到 Cituna 的品牌可见度数据,涵盖七种 AI 引擎和 Google Search Console。它提供工具来检查引用和搜索数据、管理内容与待办修复,并运行扫描。

主要功能

  1. 01每日追踪七种 AI 引擎中的品牌表现
  2. 02查看回答、引用、来源页面并发现竞品
  3. 03读取并分析 Google Search Console 数据
  4. 04管理差距队列及其状态
  5. 05处理 AutoSEO 文章和关键词
  6. 06修改追踪提示词并运行新扫描

适用场景

  1. 01找出 AI 引擎未提及品牌的买家问题
  2. 02检查各引擎的回答和引用页面
  3. 03查找有展示但点击较少的搜索查询
  4. 04排序可见度差距并管理内容修复

MCP 相关

通过托管的 Streamable HTTP 服务(OAuth)或使用 API 密钥的本地 npm 包(stdio)提供 31 种工具和五个 MCP 提示词。工具涵盖可见度数据、Google Search Console、内容操作和扫描;写入工具的访问权限取决于 Cituna 套餐。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.cituna.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://mcp.cituna.com/mcp需要授权
安装包
npmcituna-mcp1.10.1

工具

详细介绍

Cituna MCP:AI 可见度 MCP 服务

npm MCP Registry license

Cituna MCP 是 Cituna 的官方 MCP 服务。Cituna 是一款 AI 可见度工具:你的 AI Agent 每天都会读取七个 AI 引擎如何回答问题、提及并引用你的品牌,同时查看 Google Search Console 数据,并通过 31 个工具采取行动。

这七个引擎是 ChatGPT、Perplexity、Gemini、Claude、Grok、Google AI Overviews 和 Google AI Mode,每个受监控的提示词都会每天在所有引擎上提出。将服务连接到 Claude、ChatGPT、Cursor、VS Code 或任何其他 MCP 客户端后,你就可以询问自己错失了哪些买家问题、各个引擎实际回答了什么、它们读取了哪些页面、应该优先修复什么,然后让 Agent 来修复。

该服务托管在云端,使用 Streamable HTTP,并通过浏览器中的 OAuth 登录。只需一个 URL,无需安装:

https://mcp.cituna.com/mcp

如果你想自行运行它,用于脚本、CI 或不支持 OAuth 的客户端,也可以使用 npm 上的同一服务。它需要个人 API 密钥和 Node 20 或更高版本:

npx -y cituna-mcp

产品页面和完整文档:cituna.com/mcp。

概览
托管 URLhttps://mcp.cituna.com/mcp(Streamable HTTP,OAuth 2.1 或 API 密钥)
本地软件包npm 上的 npx -y cituna-mcp(stdio、API 密钥、Node 20+)
引擎ChatGPT、Perplexity、Gemini、Claude、Grok、Google AI Overviews 和 Google AI Mode,每日检查
还可连接Google Search Console(只读)、AutoSEO 文章、你的修复队列
工具共 31 个:22 个读取工具和 9 个写入工具
内置工作流5 个 MCP 提示词(诊断、AEO 差距、竞争对手拆解、每周回顾、修复排序)
方案Starter($49/mo)可使用读取工具;Pro($119/mo)和 Max($399/mo)可使用写入工具和 list_keywords。免费试用期间不提供 MCP
Registry 名称官方 MCP Registry 上的 com.cituna/cituna-mcp
适用客户端claude.ai、Claude Desktop、Claude Code、ChatGPT、Cursor、VS Code、Windsurf、Codex CLI 及任何 MCP 客户端
许可证此服务采用 MIT 许可证;Cituna 本身是付费服务

目录

你的 Agent 能做什么

大多数 AI 可见度工具给你一个仪表板,然后把分析工作留给你。Cituna 会把衡量结果放到你已经进行推理的地方:询问你的 Agent 为什么某个引擎从未提及你,它就会调出答案凭据,与 Google 已经发送给你的数据进行核对,并将修复问题的页面加入队列,无需你打开标签页。

  • 查看每日跟踪表。 今天每个引擎在你跟踪的哪些提示词中引用了你、引用位置,以及你当前的可见度评分(get_visibility)。
  • 调取答案凭据。 某个引擎对一个提示词实际给出的回答、提及的品牌以及引用的 URL(get_engine_answers)。
  • 查找答案来源。 各引擎针对你的提示词引用了哪些第三方页面、引用频率、每个页面提到了哪些竞争对手,以及页面上是否有你;这些信息直接从页面内容中读取,而非猜测(list_citation_sources)。
  • 发现新竞争对手。 引擎在回答你自己的买家问题时提及的品牌,以及人们在找到你之前搜索的供应商名称;这些都可能是你尚未跟踪的对象(competitor_discovery)。
  • 将 AI 回答与 Google 数据结合。 Search Console 汇总数据、任意 Search Analytics 查询,以及六种现成分析:刚好排在首页之外的查询、有展示但无人点击的页面、按意图划分的需求、从未展示的页面、相互竞争的自有页面,以及措辞类似 AI 提示词的搜索(gsc_*)。
  • 处理修复队列。 查看最近一次审计发现的所有问题及其影响、工作量和具体修复方案,并随着进展更新状态(list_gaps、set_gap_status)。
  • 规划并发布内容。 查看有实际需求但尚无内容覆盖的关键词、AutoSEO 队列及其撰写的所有文章,然后直接在聊天中将文章加入队列、编辑、更新或跳过(list_keywords、queue_article、update_article、enrich_article)。
  • 更改衡量内容。 添加、停用或改写每天向七个引擎提出的买家问题,并查看前后差异(set_prompts)。
  • 运行新扫描,在你发布修复后,想立即查看效果时使用(run_scan)。
  • 维护外联名单。 将被引用的来源标记为计划联系、已联系、已发布或已拒绝,让名单在不同会话之间保持不变(set_outreach_status)。

试着这样提问

连接后,用日常语言提问即可。服务会告诉你的 Agent 哪些工具和工作流可以回答哪类问题,因此你不必指定它们的名称。

可见度和答案凭据

  • “今天 acme.com 在 AI 搜索中的表现如何?哪些提示词和引擎引用了我们?”
  • “Perplexity 对 best CRM for dentists 给出了什么回答?它引用了谁,而没有引用我们?”
  • “本周我的 AI 可见度有什么变化?哪些引擎不再引用我们?”
  • “为什么 AI 引擎不提及我们?使用未引用诊断。”

来源和竞争对手

  • “针对我们的提示词,每个引擎会读取哪些尚未提及我们的网站?按优先级整理成联系名单。”
  • “引擎已经引用了我们的哪些页面?”
  • “有哪些对象取代我们被提及?哪些竞争对手还没有被我们跟踪?”
  • “将 G2 类别页面标记为已联系。” (Pro)

整合 Search Console 数据

  • “哪些查询刚好排在首页之外?每个查询对应哪个页面?”
  • “哪些页面获得了展示却没有点击?为什么?”
  • “哪些内容获得了 Google 展示,却从未被 AI 引用?这就是我的 AEO 目标名单。”
  • “我们的两个页面是否在争夺同一个查询?”
  • “有多少搜索看起来像 AI 提示词?”

修复和内容

  • “列出 acme.com 尚未解决的问题,并按每项涉及的 Search Console 展示次数排序。”
  • “哪些关键词有需求却没有对应页面?将排名最高的三个加入队列。” (Pro)
  • “哪些 AutoSEO 文章该更新了?更新它们。” (Pro)
  • “将本周失去的三个问题添加到我们的跟踪提示词中,并停用无人搜索的问题。” (Pro)
  • “为 acme.com 运行一次新扫描,并总结排名前三的问题。” (Pro,使用一次扫描)

快速开始

你需要一个 Starter 或更高套餐的 Cituna 账户,并且至少跟踪一个品牌。3 天免费试用仅适用于应用:你的套餐生效后才能使用 MCP。全新的工作区还没有可读取的内容,因此请先在应用中添加你的品牌(cituna.com)。

有两种连接方式,两者提供的工具完全相同:

托管连接器(推荐)本地 npm 包
地址https://mcp.cituna.com/mcpnpx -y cituna-mcp
传输方式Streamable HTTPstdio
登录在浏览器中通过 OAuth 登录,或使用 API 密钥标头CITUNA_API_KEY 环境变量
本地要求无Node 20 或更高版本
适用客户端下文列出的所有客户端,包括网页版和移动版 claude.ai桌面和终端客户端
claude.ai(网页版和移动版)
  1. 在 Claude 中,打开 Customize → Connectors,点击 Add,然后点击 Add custom connector。

  2. 将其命名为 Cituna,然后粘贴 URL:

    https://mcp.cituna.com/mcp
    
  3. Claude 会引导你前往 Cituna 登录,然后显示授权页面。保留 Also allow changes 的勾选状态,让 Claude 运行扫描并处理你的队列(Pro 和 Max);或者取消勾选,以建立只读连接。

  4. 在聊天中,通过 + 菜单启用 Cituna,然后提出你的第一个问题。

在 Team 和 Enterprise 套餐中,组织所有者只需在 Organization settings → Connectors 下添加一次连接器,然后每位成员都可以从 Customize → Connectors 连接该工具,并使用自己的 Cituna 账户登录。在 claude.ai 上添加的连接器也可在登录了同一账户的 Claude Desktop 和移动应用中使用。

Claude Desktop

使用上述连接器是最快的方式:打开 Customize → Connectors → Add → Add custom connector,粘贴 https://mcp.cituna.com/mcp,然后在浏览器中批准。

如果要改为在本地运行 npm 包,请生成 API 密钥(见下文),然后编辑 claude_desktop_config.json(Settings → Developer → Edit Config):

{
  "mcpServers": {
    "cituna": {
      "command": "npx",
      "args": ["-y", "cituna-mcp"],
      "env": {
        "CITUNA_API_KEY": "cituna_sk_your_generated_key"
      }
    }
  }
}

在 Windows 上,如果服务无法启动,请通过 cmd 运行 npx:"command": "cmd" 和 "args": ["/c", "npx", "-y", "cituna-mcp"]。重启 Claude Desktop。工具会显示在聊天框的 + 按钮下。

Claude Code

使用托管服务,通过浏览器登录:

claude mcp add --transport http cituna https://mcp.cituna.com/mcp

然后在 Claude Code 中运行 /mcp,选择 cituna 并选择 Authenticate。若要改用 API 密钥而非 OAuth:

claude mcp add --transport http cituna https://mcp.cituna.com/mcp \
  --header "Authorization: Bearer cituna_sk_your_generated_key"

或者在每个项目中本地运行 npm 包:

claude mcp add cituna --scope user \
  --env CITUNA_API_KEY=cituna_sk_your_generated_key \
  -- npx -y cituna-mcp

运行 /mcp 确认已连接,然后询问 “这周我的 AI 可见度有什么变化?”

ChatGPT

ChatGPT 连接到同一个托管 URL。没错,你可以询问 ChatGPT,ChatGPT 如何引用你。

  1. 在网页版 ChatGPT 中,打开 Settings → Security and login,然后启用 Developer mode。Plus、Pro、Business、Enterprise 和 Edu 套餐均包含此功能。
  2. 打开 Plugins,点击 +,然后选择 Create MCP App。
  3. 将其命名为 Cituna,粘贴 https://mcp.cituna.com/mcp,选择 OAuth,然后创建。
  4. 登录 Cituna;如果需要写入权限,请勾选 Also allow changes 后批准。然后通过 + 菜单将 Cituna 添加到聊天中。

ChatGPT 会在每次更改前征求确认。Starter 套餐支持读取;运行扫描和编辑则需要 Pro 或 Max。已批准的 ChatGPT 连接会列在 Cituna 应用的 Integrations 下,你可以在那里断开连接。

Cursor

添加到 Cursor

或者将其添加到 ~/.cursor/mcp.json(所有项目)或 .cursor/mcp.json(单个项目):

{
  "mcpServers": {
    "cituna": {
      "url": "https://mcp.cituna.com/mcp"
    }
  }
}

Cursor 会在其 MCP 设置中列出该服务,并提供登录按钮;点击按钮,登录 Cituna 并批准。若要跳过 OAuth,请通过标头发送 API 密钥:

{
  "mcpServers": {
    "cituna": {
      "url": "https://mcp.cituna.com/mcp",
      "headers": { "Authorization": "Bearer cituna_sk_your_generated_key" }
    }
  }
}

也可以在本地运行,将 "command": "npx"、"args": ["-y", "cituna-mcp"] 和 "env": { "CITUNA_API_KEY": "cituna_sk_..." } 作为配置。通过 Cursor 的 Agent 聊天使用这些工具。

VS Code(GitHub Copilot)

在 VS Code 中安装

或从命令行运行:

code --add-mcp '{"name":"cituna","type":"http","url":"https://mcp.cituna.com/mcp"}'

或者,在单个工作区的 .vscode/mcp.json 中配置(要为所有工作区配置,请从命令面板运行 MCP: Open User Configuration):

{
  "servers": {
    "cituna": {
      "type": "http",
      "url": "https://mcp.cituna.com/mcp"
    }
  }
}

首次运行工具时,VS Code 会打开 Cituna 登录页面。若要使用 API 密钥,请让 VS Code 提示输入密钥一次,并确保不将密钥保存在文件中:

{
  "inputs": [
    { "type": "promptString", "id": "cituna-key", "description": "Cituna API key (cituna_sk_...)", "password": true }
  ],
  "servers": {
    "cituna": {
      "type": "http",
      "url": "https://mcp.cituna.com/mcp",
      "headers": { "Authorization": "Bearer ${input:cituna-key}" }
    }
  }
}

在 Agent 模式下打开 Copilot Chat,即可在工具选择器中看到 Cituna 工具。

Windsurf

在 ~/.codeium/windsurf/mcp_config.json 中(或在 Windsurf 的 MCP 设置中打开同一文件):

{
  "mcpServers": {
    "cituna": {
      "serverUrl": "https://mcp.cituna.com/mcp"
    }
  }
}

如果你的 Windsurf 版本不会打开浏览器进行登录,请在 serverUrl 旁添加 "headers": { "Authorization": "Bearer cituna_sk_your_generated_key" }。

Codex CLI

使用你的 API 密钥运行 npm 包:

codex mcp add cituna --env CITUNA_API_KEY=cituna_sk_your_generated_key -- npx -y cituna-mcp

这会将等效于以下内容的配置写入 ~/.codex/config.toml:

[mcp_servers.cituna]
command = "npx"
args = ["-y", "cituna-mcp"]
env = { CITUNA_API_KEY = "cituna_sk_your_generated_key" }
Gemini CLI
gemini mcp add --transport http cituna https://mcp.cituna.com/mcp

然后运行 /mcp auth cituna 登录。或者,在 ~/.gemini/settings.json 中使用 API 密钥而非 OAuth:

{
  "mcpServers": {
    "cituna": {
      "httpUrl": "https://mcp.cituna.com/mcp",
      "headers": { "Authorization": "Bearer cituna_sk_your_generated_key" }
    }
  }
}
任何其他 MCP 客户端
  • **支持远程服务:**通过 Streamable HTTP 连接到 https://mcp.cituna.com/mcp。如果支持 OAuth,它会根据 401 挑战自动发现登录入口;否则,请发送 Authorization: Bearer cituna_sk_...(或 X-API-Key: cituna_sk_...)。
  • **仅支持 stdio:**在其环境中设置 CITUNA_API_KEY,然后运行 npx -y cituna-mcp。

从源代码运行,用于开发:

git clone https://github.com/cituna/cituna-mcp && cd cituna-mcp
npm install && npm run build   # then: node dist/index.js
获取 API 密钥

托管连接器无需密钥。npm 包和标头选项需要密钥:

  1. 在 Cituna 应用中,打开 Integrations → Claude / MCP access,然后点击 Generate token。
  2. 复制 cituna_sk_... 值。该值只会显示一次。
  3. 按上述说明将其粘贴到客户端配置中。

密钥不会自动过期,也不是你的密码,可随时在应用中撤销。同一密钥也适用于 Looker Studio 连接器和 REST API。每个人都应使用自己的密钥:密钥代表一个工作区,仅此而已。

工具

共 31 个工具:22 个读取工具和 9 个写入工具。除 list_keywords 外,读取操作均可在 Starter 计划中使用;list_keywords 用于读取 Pro 计划包含的关键词数据集。9 个写入工具需要 Pro 或更高计划;未勾选 Also allow changes 批准的连接,在任何计划中都无法调用这些工具。每个工具都带有 MCP 注释(readOnlyHint、destructiveHint、idempotentHint),因此客户端可以自动批准读取操作,并在写入前征求确认;set_prompts、update_article 和 enrich_article 标记为具有破坏性,因为它们可能删除或覆盖内容。

从这里开始
工具计划输入功能
whoamiStarter无已登录账户(电子邮件、工作区、角色)、后端 URL、计划以及所有用量指标:各工具的已用量和限额、品牌数和提示词池数量。请先调用此工具。Search Console 状态由 gsc_status 负责。
list_brandsStarter无列出工作区跟踪的品牌和域名,这些是其他所有工具的输入。
gsc_statusStarter无显示 Google Search Console 是否已连接、已连接的 Google 账户(一个工作区可以连接多个账户),以及每个账户可读取的已验证资源。
每日 AI 可见度跟踪
工具计划输入功能
get_visibilityStarterbrand品牌最新的每日网格:针对每个受跟踪的提示词和七个引擎中的每一个,列出是否被引用、排名、运行的引擎模式和单元格状态,以及当前可见度评分和测量日期(UTC)。unavailable 单元格表示引擎本次未给出答案,并非未命中;系统会自动重新检查。
get_engine_answersStarterbrand、prompt、engine(可选)查看凭证:最新一天各引擎对某个提示词给出的答案文本(最多约 4,000 个字符,并带有 truncated 标记)、引用的品牌、来源 URL 和你的排名。
set_promptsPro,写入brand,然后选择 add、remove、enable、disable 或 replace编辑每天向七个引擎提出的买家问题,并查看修改前后的差异。remove 和 replace 会删除提示词在网格中的位置及其历史记录,因此 disable 是停止为某个提示词付费的可逆方式。
审计与修复队列
工具计划输入功能
list_auditsStarterdomain(可选)最近的审计,按时间从新到旧排列:扫描 ID、域名、日期、AI 引用评分、SEO、GEO 和权威性评分、未解决差距数量以及 scoring_epoch。仅比较同一 epoch 内的评分;跨 epoch 则比较引用数量。
get_auditStarterscanId查看完整审计:总体及各引擎评分、按引擎列出的查询引用矩阵(每个单元格均为 cited、not_cited 或 not_run;未参与某个查询的引擎并非未命中)、被引用的竞争对手、主要差距,以及审计读取的所有页面中按判定结果统计的 SEO 和 GEO 检查项(数量与应用中的“N 项待修复”相同);还包括待修复的检查项(逐页评分时列出检查过和通过的页面)、跨页面建议,以及审计读取的页面数。
run_scanPro,写入url、competitors(可选)运行新审计,并在约一分钟内返回完成的结果。会使用每月额度中的一次扫描;新域名会成为受跟踪的品牌。使用 get_audit 查看现有审计无需付费。
list_gapsStarterdomain 或 scanId修复队列:列出每项差距的 gapKey、状态(todo、doing、done)、标题、类别、影响、工作量和具体修复方法。
set_gap_statusPro,写入domain、gapKey、status将一项差距的状态设为 todo、doing 或 done。
引用来源与竞争对手
工具计划输入功能
list_citation_sourcesStarterdomain,然后可选的 search、engine、range、gapsOnly汇总引擎为你的提示词引用的第三方页面(按站点主机名统计):各站点被引用的频率、提及的竞争对手、回答的提示词,以及通过打开页面读取的 youOnThisSite(absent、mentioned、linked、unreachable 或 unknown)。还会列出最多 50 个已被引擎引用的你方页面,以及各引擎最常依赖的站点。传入 search 可搜索某个品牌、站点主机名或 URL。
set_outreach_statusPro,写入domain、host、status记录针对某个来源站点主机名的外联进展:planned、pitched、placed 或 declined(none 用于清除状态)。每次调用 list_citation_sources 时都会返回该信息。
competitor_discoveryStarterdomain,然后可选的 days、minEvidence查找尚未跟踪的竞争对手:引擎回答你的提示词时提到的品牌,以及用户在找到你之前搜索过的供应商名称,并按证据排序。
Google Search Console
工具计划输入项功能说明
gsc_overview入门版domain、days查看过去 N 天的点击次数、展示次数、点击率和平均排名,以及热门查询和页面、国家和设备细分数据,以及每日数据序列。
gsc_query入门版domain 或 siteUrl、dimensions、days 或 startDate 和 endDate、filters、rowLimit执行任意搜索分析查询:按查询、页面、国家、设备、搜索外观或日期查看数据,并支持筛选条件、搜索类型和分页。
gsc_striking_distance入门版domain,以及可选的 minPosition、maxPosition、minImpressions查找刚好排在首页之外的查询(默认排名第 11 至第 60),按实际提升排名可能带来的收益排序,并显示各查询对应的排名页面。
gsc_zero_click_pages入门版domain,以及可选的 minImpressions、maxClicks查找 Google 展示过但无人点击的页面,并按原因(品牌、摘要、第二页或排名)细分,因为不同原因需要不同的解决方案。
gsc_query_mix入门版domain,以及可选的 competitors按意图(品牌、竞品替代品、用户画像、商业、工具、操作指南、类别)对域名获取的需求进行分组,并显示各组的展示次数、点击次数和排名。
gsc_coverage_gap入门版domain、days查找 Google 从未向任何人展示过的站点地图页面,并按 URL 前缀分组,从而凸显表现不佳的板块。直接从网站获取站点地图。
gsc_cannibalisation入门版domain,以及可选的 minImpressions查找两个或多个自有页面相互竞争的查询,并显示每个页面的排名和展示次数,以及 Google 更青睐的页面。
gsc_ai_searches入门版domain、days查找措辞类似 AI 提示词的搜索(后续问题、聊天回复、指令、粘贴的文本),以估算 AI 使用情况的下限。Search Console 没有 AI Overviews 或 AI Mode 筛选条件,因此这些数据并非 Google 的 AI 数据。
关键词与 AutoSEO 文章
工具方案输入功能
list_keywordsPro,读取domain,然后可选 stage、includeSearchConsole列出每个已跟踪关键词的 Google 排名、月搜索量、竞争度,以及对应页面所处的阶段。stage: "none" 是待选列表:有搜索需求,但尚未为其撰写内容。排名数据来自排名检查器(前 20 名)和 Search Console(28 天平均值)。
list_content_queueStarterdomain,然后可选 status、before查看 AutoSEO 正在处理的内容:等待撰写的主题,以及已生成或已发布的文章,并列出每项对应的关键词或提示词,以免重复排入队列。
list_articlesStarterdomain,然后可选 status、before每篇 AutoSEO 文章占一行,按时间从新到旧排列:ID、标题、线上 URL、状态、关键词、发布时间、上次发送到网站的时间、编辑和更新的时间、文章自己的 Search Console 数据,以及是否需要更新(enrich.eligible)。不包含文章正文。
get_articleStarterid获取一篇文章保存的文本(标题、元标题和描述、副标题、章节、常见问题、标签)、发布检查标记的问题,以及上次更新前后的内容。
queue_articlePro,写入domain、keyword,然后可选 impressions、position将关键词加入队列,以便 AutoSEO 在下次运行时为其起草文章。如果该关键词已有主题或文章、网站上已有对应页面(结果会指出该页面),或队列已满,则不会加入队列;reason 会说明原因。
mark_article_publishedPro,写入domain、keyword、url告知 Cituna 某个关键词对应的页面已上线,可以是你自行撰写的页面,也可以是从自己的 CMS 发布的页面。如果不执行此操作,Cituna 会将该关键词视为尚未撰写,并建议撰写竞争页面。
update_articlePro,写入id,然后可选任意字段:title、metaTitle、metaDescription、dek、sections、faqs、tags覆盖文章保存文本中的字段。再次从 Cituna 应用发送文章后,网站上的页面才会更新。
enrich_articlePro,写入id根据文章自身在发布网站上的 Search Console 查询,更新线上文章的 SEO 标题、元描述和最多两条常见问题答案,并返回更新前后的内容。仅适用于 list_articles 显示需要更新的文章;每月额度会扣除一次生成次数。
skip_queued_topicsPro,写入ids将最多 50 个主题移出 AutoSEO 队列,使其永不被撰写。再次加入相同文本会将其重新放回队列。

方案与访问权限

每个付费 Cituna 方案都包含 MCP 服务。没有单独的附加选项,也没有免费的 MCP 方案:3 天免费试用仅限应用内使用;试用结束后若未订阅方案,则无法调用该服务。

Starter($49/月)Pro($119/月)Max($399/月)
MCP 访问权限只读读写读写
读取工具(22 个)21 个:除 list_keywords 外的所有读取工具全部 22 个全部 22 个
写入工具(9 个)无(在应用中操作)全部 9 个全部 9 个
每月 MCP 调用次数5,00010,00030,000
每天在全部七个引擎上检查的提示词数103090
跟踪的品牌数1310
每月重新扫描次数(run_scan 会占用一次)10 次,在应用中运行15 次20 次

各项限制的运作方式:

  • Starter 方案使用写入工具时,会返回一条注明需要 Pro 方案的提示,且不会进行任何更改。使用 Starter 方案时,你仍可在应用中运行扫描并处理队列,只是不能通过 Agent 操作。
  • 使用写入工具既需要相应权限范围,也需要相应方案。 如果你在授权界面取消勾选同时允许更改,那么即使使用 Pro 或 Max 方案,该连接也将是只读的。之后若要启用写入权限,请在集成中断开连接,然后勾选该选项重新连接。
  • 每月 MCP 调用额度会统计每次调用。额度用尽后,会返回方案限制提示(HTTP 402);请升级方案或等待额度重置。HTTP 429 是单独的突发调用限制:请等待提示中给出的秒数,然后重试。
  • run_scan 会占用每月额度中的一次扫描;扫描未跟踪的域名会将其作为品牌计入方案的品牌数上限。其他操作读取的都是 Cituna 已收集的数据。
  • enrich_article 会占用每月额度中的一次内容生成,并更改你网站上的一个在线页面。

自定义的 Enterprise 方案可进一步提高限额,并按发票结算。各方案的完整限额:cituna.com/pricing。

内置工作流

该服务通过 MCP prompts API 提供五种分析工作流。在 Claude 中,它们会显示在提示词选择器中;在任何客户端中,服务的说明都会告诉 Agent 每种工作流适用于回答什么问题,因此只需用日常语言描述需求,即可自动路由。每种工作流都会将 Search Console 数据与各引擎的实际回答文本结合起来,这是通用 SEO 工具无法做到的。

提示词参数功能
why-am-i-not-citedbrand、prompt(可选)将所有未被引用的提示词分为各处都不可见、Google 可见但 AI 不可见,或部分被引用,并提供引擎回答和 Search Console 中的证据。
gsc-to-ai-gapdomain、days(可选)找出获得 Google 实际展示、但从未被 AI 引用的查询:按排名排列的 AEO 目标列表。
competitor-teardownbrand、competitor(可选)根据回答文本统计各引擎实际引用了哪些对象,并与已配置的竞争对手列表进行比较。
weekly-reviewbrand汇总审计、Search Console 和差距队列中的进展、退步情况以及本周的 3 项行动。仅读取数据。
prioritize-fixesdomain根据 Search Console 展示次数以及每个差距所涉及的未被引用提示词,重新排列修复队列的优先级。

这些工作流都不会自行启动付费扫描。

一次会话是什么样的

服务器连接后,首次对话示例如下(acme.com 代表你的品牌):

你: 我们销售排期软件。为什么 ChatGPT 从不提到我们?

Claude: (whoami → Pro,已使用 15 次扫描中的 4 次 · list_brands → acme.com · gsc_status → 已连接) 正在对 acme.com 运行“未被引用”诊断。

(get_visibility) 你在 18 个提示词×引擎单元格中被引用了 3 个。ChatGPT 回答了你关于品类的全部 6 个提示词,却没有在其中任何一个答案里引用你。

(get_engine_answers,针对排名最高的 3 个) 对于“诊所最佳排期软件”,ChatGPT 引用了 Calendly、Acuity 和 Capterra 的汇总页面。所有引用都是第三方榜单。没有任何一个是供应商自有网站,包括你的竞争对手。

(gsc_query) Google 已经为该意图向你发送了 1,240 次展示,平均排名为 8.4。因此,这不是索引问题。

发现: 你在 Google 上可见,在 AI 中却不可见。ChatGPT 的答案来自你未上榜的汇总页面,因此,无论你做多少站内优化,都无法改变这一点。关键在于进入这些榜单。

(list_keywords stage:"none") “诊所排期软件”有需求,但没有对应页面。要我将它加入队列吗?(queue_article)

以上操作都不会消耗扫描次数:它们只是读取 Cituna 已收集的数据。

连接 Google Search Console

gsc_* 工具需要在 Cituna 应用中进行一次性连接,而不是在你的 MCP 客户端中连接。此服务中没有 Google OAuth,这是有意为之:浏览器授权在应用中完成,刷新令牌也仅存储在服务器端。

  1. 在应用中打开 集成,然后点击 连接 Google Search Console(付费套餐)。
  2. Google 会要求授予 Cituna 只读 Search Console 访问权限(webmasters.readonly)。Cituna 永远无法获得对 Google 中任何内容的写入权限。
  3. 选择一个已将你的域名设为已验证 Search Console 资源的 Google 账号。这一步常被人忽略:如果该账号从未验证过此域名,虽然连接会成功,但每次查询仍会返回空结果,因为 Google 没有可供其显示的数据。
  4. 回到你的 Agent 中,运行 gsc_status。该命令会列出每个已连接的账号及其可查询的所有资源。如果你的域名不在列表中,请在 Search Console 中验证该资源,而不是在 Cituna 中验证。

一个工作区可以连接多个 Google 账号,只要其中任意一个账号拥有某个域名的资源,就可以读取该域名的数据。在应用中断开连接(集成、断开连接)会立即切断此服务的访问。

身份验证与安全

该服务是 Cituna API 的轻量客户端。它不保存任何 Google 凭据或数据库:它会将你的 Cituna 凭据发送给后端,由后端查找你工作区中保存的 Search Console 刷新令牌,签发短期 Google 访问令牌,并代你查询 Google。

OAuth(托管连接器)。 该服务是受 OAuth 2.1 保护的资源,而 Cituna API 是授权服务器。客户端会自行完成以下流程:

POST /mcp  (no credential)
  → 401 + WWW-Authenticate: Bearer resource_metadata="…"
      → GET https://mcp.cituna.com/.well-known/oauth-protected-resource
          → names https://api.cituna.com as the authorization server
              → GET  /.well-known/oauth-authorization-server
              → POST /oauth/register     (dynamic client registration, RFC 7591)
              → GET  /oauth/authorize    (browser: sign in, then consent)
              → POST /oauth/token        (PKCE S256 required)

客户端也可以使用已发布的客户端身份(客户端 ID 元数据文档)登录,Claude 和 ChatGPT 就是通过这种方式连接的。访问令牌有效期为 24 小时。刷新令牌每次使用都会轮换;再次提交已轮换失效的刷新令牌会终止整个连接,因此被盗的副本无法悄悄比真实客户端存续更久。共有两个作用域:cituna:read 和 cituna:write,而写入工具既需要相应作用域,也需要相应套餐。

API 密钥。 cituna_sk_... 密钥可用于 npm 包的 CITUNA_API_KEY,也可放在托管 URL 的 Authorization: Bearer(或 X-API-Key)标头中。一个密钥只会验证一个工作区的身份,而托管服务按请求保持无状态,因此密钥不会混用。不要配置网关,让它为所有用户发送同一个共享密钥:这样每个用户都会以该密钥对应的单一工作区身份操作。

连接无法执行的操作。 它只能调用 MCP 工具,不能做其他事情。它无法创建 API 密钥、更改密码、访问账单、邀请队友或批准其他应用;这些操作需要你登录应用后才能进行。令牌只会签发给 Cituna 自己的 MCP 服务(RFC 8707 resource),因此,其他将 Cituna 指定为授权服务器的服务无法获取令牌。

第三方内容。 答案文本、引用标题、URL 和 Search Console 查询内容都来自 AI 引擎、它们读取的页面以及进行搜索的用户。该服务会指示你的 Agent 将这些内容视为数据,绝不遵循其中的指令,也不因工具输出要求而调用写入工具。

已批准的应用会列在应用中的 集成 下,每个应用都会标明是只读,还是可以进行更改;你也可以在那里断开连接。

自托管远程服务

托管 URL 使用的代码与此仓库相同。两种传输方式都基于同一个工具层(src/tools.ts),因此工具列表、描述和架构实际上是相同的对象;如果它们出现任何差异,npm run test:transports 会导致构建失败。

stdio(dist/index.js)remote(dist/http.js)
运行位置在你的计算机上,由客户端启动作为服务运行,通过 URL 访问
需要本地安装 Node 20+无需本地环境
凭据CITUNA_API_KEY 环境变量每个请求都携带 Authorization: Bearer
发布形式cituna-mcp npm 包容器(Dockerfile)

stdio 服务会读取 CITUNA_API_URL(后端基础 URL,默认为 https://cituna.com)以及一个凭据,按以下顺序检查:CITUNA_API_KEY(推荐)、CITUNA_TOKEN(应用的会话令牌,约 30 天后过期),或者 CITUNA_EMAIL 和 CITUNA_PASSWORD(服务会登录,并在凭据过期时刷新)。

运行远程服务:

npm run build && npm run start:http    # or: npm run dev:http
环境变量默认值用途
PORT8080监听端口。
CITUNA_API_URLhttps://cituna.com后端基础 URL。
CITUNA_MCP_ALLOWED_HOSTS(未设置)以逗号分隔的 Host 允许列表(DNS 重绑定防护)。如果部署在已固定主机的代理后面,请保持未设置。

这里特意不设置 CITUNA_API_KEY:远程服务本身不持有任何凭据。每个请求都会携带自己的凭据,并为其创建一个新的客户端和 MCP 服务;响应结束时,两者都会被销毁,因此一个用户的密钥绝不会被捕获到另一个用户的会话中。未携带凭据的请求会收到 401,甚至无法列出工具。使用附带的 Dockerfile 部署(多阶段构建;运行时映像只包含一个生产依赖)。如果你将服务自托管在 cituna.com 以外的域名上,请将该域名的来源添加到 API 的 OAUTH_ALLOWED_RESOURCES 中,以便为其签发令牌(始终允许环回地址)。

远程服务上的端点:

路径说明
POST /mcpMCP 端点(Streamable HTTP)。
GET /healthz存活状态及正在运行的版本。
GET /服务的简短说明。
GET /.well-known/oauth-protected-resource客户端从 401 响应的 WWW-Authenticate 标头中发现的 OAuth 元数据。
GET /.well-known/mcp-configAPI 密钥配置路径,支持配置的客户端(例如 Smithery)可据此显示“粘贴你的密钥”表单,而不是 OAuth 按钮。

目录和网关。 官方 MCP Registry 条目(server.json,com.cituna/cituna-mcp)包含一个 remotes 条目,告知由注册表驱动的客户端,以及 PulseMCP 和 Glama 等镜像该注册表的目录,直接连接到 https://mcp.cituna.com/mcp 并提示用户输入个人 API 密钥。请求不会经过目录路由。

版本。 托管 URL 始终运行最新版本,npx -y cituna-mcp 会从 npm 获取最新版本。使用 npx -y cituna-mcp@<version> 固定版本;上方的 npm 徽章会显示当前版本,GET /healthz 会报告托管服务正在运行的版本。

故障排查

症状解决方法
首次调用返回 401这是 OAuth 握手:客户端应打开浏览器进行登录。如果没有,说明客户端不支持远程 OAuth。请发送 API 密钥标头,或运行 npx -y cituna-mcp。
Not signed in to Cituna(HTTP 401)请求到达 /mcp 时未携带凭据。请发送 Authorization: Bearer cituna_sk_...(或 X-API-Key)。匿名调用者也无法列出工具,这是预期行为。
404,并显示 "The MCP endpoint is /mcp"URL 缺少路径。请使用 https://mcp.cituna.com/mcp,而不是 https://mcp.cituna.com。
Your Cituna access has expired or was revoked(HTTP 401)令牌或密钥已失效。支持 OAuth 的客户端会自行刷新令牌或重新打开登录页面;否则,请重新连接或创建新密钥。
That is not a Cituna MCP credential(HTTP 401)只接受 cituna_at_...(浏览器登录)和 cituna_sk_...(API 密钥)。从 Web 应用复制的会话令牌将被拒绝。
No API key configured(npm 包)未设置凭据。请生成密钥(Integrations → Claude / MCP access),并设置 CITUNA_API_KEY。
API key invalid, revoked, or the account no longer has access密钥不会自行过期:密钥已被撤销、输入有误,或账号已失去访问权限。请创建新密钥。如果密钥有效,请检查 CITUNA_API_URL 末尾是否带有路径,以及它是否为会重定向的源站:跨源重定向会移除 Authorization 标头。
写入工具提示需要 Pro你使用的是 Starter 套餐,该套餐的 MCP 仅支持读取。请在应用中操作,或前往 cituna.com/pricing 升级。
Pro 或 Max 套餐下写入工具遭拒连接获批时未勾选 Also allow changes。请在 Integrations 中断开连接,然后重新连接并勾选该选项。
requires a paid plan (Starter/Pro/Max)试用期和已结束的套餐均无法使用 MCP。请前往 cituna.com/pricing 选择套餐。
gsc_* 工具返回 { "configured": false, ... }Search Console 尚未连接,或已连接的账号中没有任何账号持有该网域的资源。请按提示操作,然后检查 gsc_status。
Rate limited (HTTP 429)这是突发请求上限,并非月度限额。请等待提示的秒数后重试。月度额度用尽时会显示套餐限额消息(HTTP 402)。
登录过程中出现 invalid_target客户端请求的令牌对应的服务器不是 Cituna。若要在自己的网域上自托管,请在 API 中将其源站添加到 OAUTH_ALLOWED_RESOURCES。
A connected app can only use Cituna's MCP tools(HTTP 403)密钥、密码、账单和团队变更需要你在浏览器中登录应用。
工具未显示(npm 包)请确认 Node 版本为 20 或更高;在 Windows 上,请通过 cmd /c 运行 npx。如果从源码运行,请执行 npm run build,并使用 dist/index.js 的绝对路径。然后检查客户端的 MCP 日志。
引擎显示 unavailable该引擎本次运行未返回答案。这不算未命中,也不会计入你的用量,并且会自动再次检查。

常见问题

Cituna MCP 服务是什么? 这是一个将你的 Cituna 工作区连接到 AI Agent 的模型上下文协议服务。它会读取你的每日 AI 可见度跟踪数据、背后的引擎答案、引擎引用的页面、审计结果、修复队列、关键词、AutoSEO 文章和实时 Search Console 数据;在 Pro 方案中,它还可以执行操作:运行扫描、更改你跟踪的提示词、推进修复事项、将文章加入队列、编辑或刷新文章,以及记录外联活动。

它涵盖哪些 AI 引擎? 共 7 个,每天都会检查:ChatGPT、Perplexity、Gemini、Claude、Grok、Google AI Overviews 和 Google AI Mode。Google AI Overviews 和 Google AI Mode 会分开跟踪,因为它们对同一查询会给出不同答案。不跟踪 Microsoft Copilot。

它能与 ChatGPT 配合使用吗? 可以。开启 Developer mode,使用托管 URL 创建 MCP 应用,并选择 OAuth(步骤见上文)。ChatGPT Plus、Pro、Business、Enterprise 和 Edu 网页版均提供 Developer mode。

我需要安装任何东西吗? 不需要。托管连接器只需一个 URL 和浏览器登录。只有使用可选的 npm 包时才需要 Node 20 或更高版本。

有免费方案吗? MCP 服务没有免费方案。每个付费方案都包含该服务,Starter(每月 $49)方案仅提供只读权限;Pro 方案提供写入工具。3 天免费试用仅限应用内使用。

Agent 可以更改我的数据吗? 仅限 Pro 或 Max 方案;只有在批准时勾选了 Also allow changes,并且仅通过上文列出的 9 个写入工具才能更改。遵循 MCP 注释的客户端会在每次写入前征求确认,而 ChatGPT 始终会这样做。

我的 Google 数据安全吗? 服务不会接触你的 Google 凭据。Cituna 会在服务器端持有只读的 Search Console 授权,并代表你向 Google 查询;在应用中断开连接后,MCP 访问会立即停止。

Cituna 是唯一提供 MCP 服务的 AI 可见度工具吗? 不是。有几款 AI 可见度工具提供 MCP 服务,各自的工具、方案以及读写权限各不相同。Cituna 将 7 个引擎的每日跟踪与你的 Search Console 数据和 AutoSEO 写入功能结合,起价为 $49。请查看带日期的对比。

也有 REST API 吗? 有。你可以使用 bearer token 通过 HTTPS 获取相同的数据,用于自己的仪表板、Agent 和 CI。请参阅 cituna.com/developers。

链接

Looker Studio 连接器

此仓库还包含 looker-connector/,这是一个 Google Apps Script 社区连接器,可用于基于 Cituna 可见度数据创建 Looker Studio 仪表板。将 Code.gs 部署为社区连接器,在 KEY 身份验证页面粘贴你的 cituna_sk_... 密钥,然后构建仪表板。完整设置说明:looker-connector/README.md。

关于此代码库

这是一个已发布的镜像,而非工作树。这两项集成都在 Cituna 的私有单体代码库中开发,并在创建标签时自动发布到此处,因此工具接口和连接器的引擎列表会固定为 API 实际提供的内容。

无法直接合并针对此代码库的拉取请求,但我们会阅读并处理问题,因此欢迎提交问题。

许可证

采用 MIT 许可证。错误报告和功能请求:https://github.com/cituna/cituna-mcp/issues

评论

支持 Markdown

第一次接触 MCP?

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

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