mcpField
N
Notra

Notra

远程服务
usenotra.com商业与营销3今天更新

关于 Notra

Notra MCP 服务将 Notra API 的内容与品牌管理能力提供给 MCP 客户端,适用于管理内容运营和 GEO 可见度的团队。支持按工具集筛选工具,并可通过本地进程或远程 OAuth 连接。

主要功能

  1. 01管理帖子与发布计划
  2. 02管理品牌身份和集成
  3. 03运行 GEO 可见度扫描
  4. 04查看竞争对手与 AI 流量分析
  5. 05按工具集加载能力

适用场景

  1. 01创建并安排内容发布
  2. 02维护品牌身份与连接的集成
  3. 03检查 GEO 表现及竞争对手
  4. 04分析 AI 流量数据

MCP 相关

向 MCP 客户端提供 Notra API 工具,涵盖帖子、品牌身份、集成、计划和 GEO 等功能。支持本地 stdio 与远程 Streamable HTTP,并可使用 OAuth 或 API 密钥认证。

配置

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

服务地址https://mcp.usenotra.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 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

Notra MCP 服务

一个适用于 Notra API 的 MCP(模型上下文协议)服务。它用于管理帖子、品牌身份、集成、日程安排、GEO 可见性扫描、竞争对手、内容简报和 AI 流量分析。

设置

你可以在 Notra 工作区控制面板的 Developer > API Keys 中生成 API 密钥。

需要 Node.js 20 或更高版本。

Claude Desktop

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "notra": {
      "command": "npx",
      "args": ["-y", "@usenotra/mcp"],
      "env": {
        "NOTRA_API_KEY": "your-api-key"
      }
    }
  }
}
Claude Code
claude mcp add notra -- npx -y @usenotra/mcp

然后在启动 Claude Code 前,在 shell 中设置 NOTRA_API_KEY 环境变量。

Codex
export NOTRA_API_KEY=your-api-key
codex mcp add notra --env NOTRA_API_KEY="$NOTRA_API_KEY" -- npx -y @usenotra/mcp

运行 codex mcp list 验证连接。Codex 命令行、桌面应用和 IDE 扩展共用此 MCP 配置。

OpenCode

在 shell 中设置 NOTRA_API_KEY,然后将服务添加到项目级 opencode.json 或全局 ~/.config/opencode/opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "notra": {
      "type": "local",
      "command": ["npx", "-y", "@usenotra/mcp"],
      "enabled": true,
      "environment": {
        "NOTRA_API_KEY": "{env:NOTRA_API_KEY}"
      }
    }
  }
}
Amp

运行 amp config edit 并将以下内容添加到设置中,或者将其放入 .amp/settings.json,以进行特定于工作区的配置:

{
  "amp.mcpServers": {
    "notra": {
      "command": "npx",
      "args": ["-y", "@usenotra/mcp"],
      "env": {
        "NOTRA_API_KEY": "${NOTRA_API_KEY}"
      }
    }
  }
}

在启动 Amp 前,在环境中设置 NOTRA_API_KEY。工作区 MCP 服务可能需要通过 amp mcp approve notra 批准。

账户 API 密钥

账户 API 密钥属于你,而非某个工作区,因此在你所属的每个工作区中都可使用。如果你属于多个工作区,请通过 NOTRA_ORGANIZATION_ID 选择此服务要操作的工作区:

{
  "env": {
    "NOTRA_API_KEY": "your-account-api-key",
    "NOTRA_ORGANIZATION_ID": "your-workspace-id"
  }
}

如果不设置,工具将失败,并提示你选择工作区。list_workspaces 无需选择工作区即可使用,并会显示各工作区的 ID。组织 API 密钥会忽略 NOTRA_ORGANIZATION_ID。

远程 MCP(OAuth)

托管的可流式 HTTP 服务 https://mcp.usenotra.com/mcp 以 OAuth 作为主要身份验证方式。它支持当前的 2026-07-28 MCP 协议以及旧版 2025 客户端。MCP 客户端应在以下位置发现受保护资源元数据:

https://mcp.usenotra.com/.well-known/oauth-protected-resource

该元数据指向 Notra 授权服务(WorkOS AuthKit)https://oauth.usenotra.com,此服务支持动态客户端注册(RFC 7591)。MCP 服务也会在 https://mcp.usenotra.com/.well-known/oauth-authorization-server 镜像授权服务器元数据。

工作区范围 URL

在 URL 中添加工作区 ID 或 slug,可将连接固定到一个工作区:https://mcp.usenotra.com/mcp/<workspace>。对于只接受 URL、无法发送自定义标头的客户端,这是选择工作区的方式。

  • Claude:Settings > Connectors > Add custom connector,URL https://mcp.usenotra.com/mcp/acme

  • Claude Code:claude mcp add --transport http notra https://mcp.usenotra.com/mcp/acme

  • Cursor(~/.cursor/mcp.json):

    {
      "mcpServers": {
        "notra": { "url": "https://mcp.usenotra.com/mcp/acme" }
      }
    }
    

使用范围受限的 URL 时:

  • API 密钥将在该工作区中生效。URL 优先于 X-Notra-Organization-Id 标头。组织密钥只能用于其所属工作区的 URL;Notra API 会以 HTTP 403 拒绝其他工作区。
  • OAuth 的工作方式与 /mcp 相同,但你授权的工作区必须与 URL 中的工作区一致。否则,请求会被以 HTTP 403 拒绝,而不会悄悄在另一个工作区中操作。OAuth 挑战会公布与 /mcp 相同的资源,因此客户端会获取普通的 Notra 令牌;URL 中的工作区由你授权的工作区强制限定。
  • list_workspaces 不可用,因为此连接无法切换工作区。whoami 仍会显示当前工作区。
  • 旧版 2025 会话属于其创建时使用的 URL;在其他 URL 上使用该会话 ID 会返回 HTTP 401。
API 密钥替代方案

远程连接也接受 Notra API 密钥作为静态 Authorization: Bearer … 标头。请在 Notra 工作区控制面板的 Developer > API Keys 下生成密钥。支持 OAuth 的客户端应优先使用 OAuth 流程,而不是手动配置密钥。

如果使用可以访问多个工作区的账户 API 密钥,请使用工作区范围的 URL,或添加 X-Notra-Organization-Id: <workspace-id-or-slug> 标头(X-Organization-Id 也可用)。服务会在每次调用时将其转发给 Notra API。旧版 2025 会话会绑定到初始化时使用的工作区;如果该会话中的请求指定了其他工作区,将被拒绝并返回 HTTP 401,因此请开启新会话以切换工作区。OAuth 连接会忽略该标头,因为每个令牌都绑定到用户授权时选择的工作区。

对于可自托管的 HTTP 部署,可通过以下配置进行 OAuth 验证:

WORKOS_AUTHKIT_DOMAIN=oauth.usenotra.com
WORKOS_CLIENT_ID=client_xxx
NOTRA_MCP_RESOURCE=https://mcp.usenotra.com

签发者为 https://{WORKOS_AUTHKIT_DOMAIN},且必须与 AuthKit 签发的令牌中的 iss 声明匹配;不匹配时,所有承载令牌都会被拒绝。令牌签名会根据 https://{WORKOS_AUTHKIT_DOMAIN}/oauth2/jwks 进行验证。

当 NODE_ENV=development 时,默认的 AuthKit 域名为 essential-berry-67-development-2.authkit.app;生产环境默认使用 oauth.usenotra.com。auth.usenotra.com 是 WorkOS Authentication API 域名,不提供任何 OAuth 端点,因此在此处无法使用。

旧版 2025 会话在闲置 30 分钟后过期。每个 OAuth 用户或 API 密钥最多可持有 NOTRA_MCP_MAX_SESSIONS_PER_PRINCIPAL 个会话(默认值为 50);超过上限时,会关闭其自身最近最少使用的会话。当服务持有的会话达到 NOTRA_MCP_MAX_SESSIONS 上限(默认值为 1000)时,新会话会被拒绝并返回 HTTP 503 和 Retry-After,而不会关闭其他用户的会话。

托管使用统计

HTTP 服务仅在 PostHog 中跟踪使用情况;每次分发工具调用时都会发送一个 mcp_tool_called 事件,包括未通过工具输入/输出验证的调用,或返回 isError: true 且 HTTP 状态码为 200 的调用。初始化、发现、健康检查以及在工具分发前被拒绝的请求不会计入统计。本地 stdio 服务不会发送使用事件,也不会联系 PostHog。

在托管部署中设置 PostHog 项目令牌即可启用跟踪:

POSTHOG_PROJECT_TOKEN=your-project-token

POSTHOG_HOST 默认值为 https://us.i.posthog.com;如果使用欧盟项目,请将其设为 https://eu.i.posthog.com。未设置项目令牌时,跟踪处于禁用状态。没有其他数据收集器,也没有 JSON 使用日志回退方案。

事件包含 tool_name、outcome(success、error 或 cancelled)、duration_ms、server_version、protocol_version、client_name、client_version 和 auth_kind。OAuth 事件还包含已验证的 WorkOS organization_id 和 user_id;API 密钥调用没有用户/工作区归属信息,且共用 PostHog distinct ID mcp:api-key,不得将其计为唯一用户。客户端身份由客户端自行报告,并归入已知客户端名称;未知名称会记录为 other。版本仅以数字 major.minor.patch 格式保留。未知工具名称会记录为 unknown。

使用事件中绝不会包含参数、结果、提示词、错误消息、标头、IP 地址、令牌、API 密钥和令牌哈希。事件以异步方式尽力投递,超时时间为 5 秒,每个进程最多允许 64 个待处理的 PostHog 请求。投递失败或丢弃时会发出不含凭据的警告,但不会导致工具调用失败。事件不会抽样,但 PostHog 投递记录不能用作审计或计费台账。

在 PostHog 中,按 mcp_tool_called 筛选,并按 tool_name、client_name 或 outcome 拆分。仅对 OAuth 调用统计不同的 organization_id/user_id 数量,并使用 duration_ms 计算延迟百分位数。

工具集

默认情况下会公开全部 96 个工具,这大约会占用 20k 个 Agent 上下文令牌。如需仅加载所需工具集,请使用 NOTRA_MCP_TOOLSETS(stdio 和 HTTP),或在远程端点上使用 toolsets 查询参数:

工具集工具
content帖子、品牌标识、集成、日程安排、事件触发器、技能、反馈收件箱
geo项目和所有 GEO 工具

工作区工具和 submit_feedback 始终可用。

NOTRA_MCP_TOOLSETS=content npx -y @usenotra/mcp
https://mcp.usenotra.com/mcp?toolsets=geo

工具

工作区
工具描述
whoami显示当前工作区和经过身份验证的账户信息
list_workspaces列出经过身份验证的账户可访问的已接受和待处理工作区

每个 MCP 连接都在与其 bearer token 绑定的工作区中运行;对于账户 API 密钥,则在通过 NOTRA_ORGANIZATION_ID 或 X-Notra-Organization-Id 标头选择的工作区中运行。如需在其他工作区中执行操作,请为该工作区授权或配置单独的连接;list_workspaces 可发现可访问的工作区,但不会切换工作区。

帖子
工具描述
list_posts列出帖子摘要,并可按排序、分页、状态、内容类型和品牌标识筛选
get_post按 ID 获取单篇帖子
create_post根据自定义标题和 Markdown 创建帖子
update_post更新帖子的标题、Markdown 或状态
delete_post删除帖子
generate_post根据 GitHub 活动将帖子生成任务加入异步队列
get_post_generation_status检查帖子生成任务的状态
get_post_schedule获取帖子的发布日程和各发布目标的状态
schedule_post安排现有帖子在 Notra 上发布,并可选择同时发布到 GitHub、X 或 LinkedIn
cancel_post_schedule取消待发布的目标;已开始发布的目标会自行完成

帖子发布日程与下文的内容生成日程相互独立。schedule_post 需要 ISO 8601 格式的 scheduledAt 时间戳,可选接受 IANA timeZone(默认为 UTC),并且最多支持两个外部发布目标。GitHub 发布目标使用 list_integrations 返回的 repositoryId,并可选设置 merge 标志(默认为 true);社交媒体发布目标使用已连接的 X 或 LinkedIn accountId。省略发布目标时,仅安排在 Notra 上发布。

品牌标识
工具描述
list_brand_identities列出所有品牌标识
get_brand_identity按 ID 获取单个品牌标识
update_brand_identity更新品牌标识设置
delete_brand_identity删除品牌标识
list_brand_colors列出品牌标识的品牌指南颜色
create_brand_color添加品牌颜色
update_brand_color更新品牌颜色
delete_brand_color删除品牌颜色
generate_brand_identity根据网站 URL 将品牌标识生成任务加入异步队列
get_brand_identity_generation_status检查品牌标识生成任务的状态
集成
工具描述
list_integrations列出已启用的 GitHub 和 Linear 集成
create_github_integration连接公开的 GitHub 仓库
delete_integration删除 GitHub 或 Linear 集成
日程安排
工具描述
list_schedules列出已安排的内容生成任务
create_schedule创建已安排的内容生成任务
update_schedule更新已安排的内容生成任务
delete_schedule删除已安排的内容生成任务
事件触发器
工具描述
list_event_triggers列出根据 GitHub 发布或推送生成内容的触发器
get_event_trigger按 ID 获取单个事件触发器
create_event_trigger创建事件触发器
update_event_trigger替换事件触发器的配置
delete_event_trigger删除事件触发器
Webhook
工具描述
list_webhook_endpoints列出已订阅 Notra 事件的 HTTPS 端点
delete_webhook_endpoint移除 Webhook 订阅并取消尚未发送的投递
list_webhook_deliveries列出 Webhook 投递,可按状态筛选
get_webhook_delivery获取投递的载荷和尝试历史记录
retry_webhook_delivery重试失败的 Webhook 投递
技能
工具描述
list_skills列出可重复使用的写作技能
get_skill按名称获取单个技能
create_skill创建可重复使用的写作技能
update_skill更新可重复使用的写作技能
delete_skill删除可重复使用的写作技能
项目

GEO 功能按项目划分。大多数 GEO 工具都需要 projectId;请先调用 list_projects 查找该 ID。GEO 工具需要组织级 API 密钥和 GEO 套餐。

工具描述
list_projects列出组织的 GEO 项目
get_project根据 ID 获取单个项目
create_project创建项目,可选择关联品牌
update_project重命名项目或重新关联其品牌身份
delete_project删除项目及其所有 GEO 数据(级联删除)
GEO 设置
工具描述
get_geo_settings获取受跟踪的公司、别名、语言、引擎和扫描配置
list_geo_engines列出项目可跟踪的引擎 ID
update_geo_settings替换设置文档并重新启动扫描周期
GEO 提示词和序列
工具描述
list_geo_prompts列出受跟踪的提示词(自定义和自动派生)
create_geo_prompt跟踪新的提示词
update_geo_prompt启用或停用受跟踪的提示词
delete_geo_prompt停止跟踪提示词
import_geo_prompts从行或 CSV 批量导入提示词
list_geo_sequences列出多轮提示词序列
create_geo_sequence创建提示词序列
update_geo_sequence更新序列名称、步骤或启用状态
delete_geo_sequence删除序列
run_geo_sequence立即同步运行序列(会消耗 AI 积分,可能需要几分钟)
GEO 竞争对手
工具描述
list_geo_competitors列出受跟踪的竞争对手
upsert_geo_competitor创建、更新或重命名竞争对手
suggest_geo_competitorsAI 根据域名发现可能的竞争对手
delete_geo_competitor停止跟踪竞争对手
import_geo_competitors从行或 CSV 批量导入竞争对手
GEO 扫描和可见度
工具描述
create_geo_scan触发异步可见度扫描(使用 AI 积分)
list_geo_scans分页列出扫描
get_geo_scan获取扫描及其状态
get_geo_snapshot跨信号诊断摘要和建议的后续操作
get_geo_changes两次最新扫描之间的变化
get_geo_visibility_overview各答案引擎的提及率
get_geo_visibility_timeseries各引擎每日提及次数
list_geo_prompt_result_summaries筛选并分页列出结果,不包含完整答案或 URL
get_geo_prompt_result_detail获取某次检查的完整答案和来源
get_geo_prompt_history获取某个提示词的历史检查摘要
get_geo_sentiment情感指标及与上一时期的比较
get_geo_sentiment_analysis已存储的主题情感分析
list_geo_sentiment_evidence分页列出情感指标背后的答案
list_geo_shelf_sources分页列出引用来源库及机会状态
get_geo_competitor_share按声量份额排列的头部品牌,可筛选品牌并设置数量上限
get_geo_language_share各受跟踪语言的提及率
get_geo_competitor_detail某个竞争对手的提及历史及相关提示词
GEO 内容简报
工具描述
list_geo_content_gaps竞争对手被提及而该品牌未被提及的提示词
list_geo_content_briefs列出内容简报及其状态
plan_geo_content_brief研究主题并规划简报(计费,可能需要几分钟)
get_geo_content_brief获取包含完整文档和撰稿人状态的简报
update_geo_content_brief编辑草稿简报的大纲和规划字段
approve_geo_content_brief批准简报并启动文章撰写工具
Agent 就绪情况
工具描述
get_geo_agent_readiness最新就绪情况报告、评分历史以及正在进行的扫描(如有)
start_geo_agent_readiness_scan将项目网站的就绪情况扫描加入队列
AI 流量
工具描述
get_geo_traffic_overview爬虫和 AI 引荐流量总量、来源及每日时间序列
get_geo_traffic_log最近的单条 AI 爬虫/引荐请求
list_geo_traffic_journeys按旅程分组的会话
get_geo_traffic_journey某个旅程中的所有事件
list_geo_traffic_pagesAI 流量访问量最高的页面
get_geo_ingest_setup跟踪安装代码片段和数据接入端点
反馈
工具描述
submit_feedback向 Notra 收件箱发送错误报告、功能请求、问题或赞扬(无需身份验证)
list_feedback按状态、类型或项目列出组织收到的反馈
get_feedback获取一条反馈及其 Agent 元数据
update_feedback设置一条反馈的分诊状态

审查与数据边界

所有支持的操作都会通过 tools/list 预先列出。不提供通用 Agent 执行和审批工具,因为这些工具可能会运行动态发现的第三方操作。聊天记录和 Agent 会话可通过仪表板和 API 访问。请使用 Notra 仪表板管理 Agent 对话、私有仓库身份验证、Webhook 签名密钥和流量跟踪凭据。

工具输入用于特定任务的业务内容。请勿发送健康记录、生物识别数据、政府签发的身份标识、支付卡信息、凭据或无关的对话记录。请通过 OAuth 或本地配置进行身份验证,切勿通过工具参数进行身份验证。反馈仅接受用户批准的消息、可选标题和反馈类型。

开发

使用 Node 22.12+(Node 22)或 Node 24,以及 package.json 中固定的 pnpm 版本:

corepack enable
pnpm install --frozen-lockfile
pnpm test
pnpm run test:coverage
pnpm run typecheck
pnpm run format:check

src/schemas/api-responses.ts 中的工具输出架构由 Notra OpenAPI 规范生成。API 变更后运行 pnpm run generate:output-schemas;如果文件不是最新版本,CI 将失败。

Vitest 会直接针对源代码运行,并启用 Zod 编译。CI 会在针对 main 的拉取请求和推送时运行测试、类型检查、格式检查和构建。

评论

支持 Markdown

第一次接触 MCP?

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

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