关于 Rivalize
Rivalize 是 MCP 服务,为 AI 客户端提供带来源和日期的竞争情报,数据来自 Rivalize 账户及其跟踪企业库。它支持竞品分析与研究,默认只读,也可选择启用添加竞品的工具。
主要功能
- 01生成竞品策略拆解
- 02搜索跟踪企业库
- 03读取报告和销售作战卡
- 04查看动态时间线与竞争态势
- 05核查来源及数据更新时间
- 06可选添加竞品
适用场景
- 01比较竞品定位和定价
- 02查找特定市场类别的公司
- 03准备带引用依据的销售谈资
- 04核实某项说法的来源和日期
MCP 相关
它将 MCP 客户端连接到 Rivalize,并提供读取账户数据和跟踪企业情报的工具。服务使用 stdio;添加竞品是可选的写入功能。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @rivalize/mcpRIVALIZE_API_KEY密钥Your Rivalize API key (rk_live_...). Create one at rivalize.ai under Settings, API Keys. Free plans get rate-limited reads.RIVALIZE_API_URLOrigin of the Rivalize API that issued your key. Leave unset for rivalize.ai.RIVALIZE_MCP_ALLOW_WRITESSet to 1, true or yes to register add_competitor, which spends credits. Read-only when unset.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Rivalize MCP 服务
通过 Model Context Protocol,为 AI 助手提供带来源和日期的竞争情报。
功能介绍
此服务可将 Claude、Cursor 或任何其他 MCP 客户端连接到 Rivalize。你的助手可以通过一次调用,深入分析竞争对手的 定位、定价、广告、社交媒体表现、评价、招聘和发展势头;搜索 Rivalize 中跟踪的公司;并读取你自己的 Rivalize 账户中的项目、报告、竞争对比卡、时间线和证据。 每条回答都来自 Rivalize 收集的数据,并附有日期和来源, 而非来自模型的记忆。
此服务默认只读。选择启用 RIVALIZE_MCP_ALLOW_WRITES=1 后,
即可使用一个写入工具 add_competitor。
快速开始
需要 Node.js 22 或更高版本(node --version)。
- 在 rivalize.ai 创建账户。
- 在 Dashboard → Settings → API Keys 下创建 API 密钥。密钥以
rk_live_开头。任何套餐的密钥都可使用,包括免费套餐,但读取操作会受到速率限制。 - 使用以下任一配置块将服务添加到客户端。
Claude Desktop
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)
或 %APPDATA%\Claude\claude_desktop_config.json(Windows),然后重启 Claude
Desktop:
{
"mcpServers": {
"rivalize": {
"command": "npx",
"args": ["-y", "@rivalize/mcp"],
"env": { "RIVALIZE_API_KEY": "rk_live_..." }
}
}
}
Claude Code
claude mcp add rivalize -e RIVALIZE_API_KEY=rk_live_... -- npx -y @rivalize/mcp
Cursor
将配置添加到项目中的 .cursor/mcp.json,或添加到 ~/.cursor/mcp.json 以供所有
项目使用:
{
"mcpServers": {
"rivalize": {
"command": "npx",
"args": ["-y", "@rivalize/mcp"],
"env": { "RIVALIZE_API_KEY": "rk_live_..." }
}
}
}
Cline
在 Cline 中,打开 MCP Servers 面板,选择 Configure,然后选择 Configure MCP Servers。这会打开 cline_mcp_settings.json。添加:
{
"mcpServers": {
"rivalize": {
"command": "npx",
"args": ["-y", "@rivalize/mcp"],
"env": { "RIVALIZE_API_KEY": "rk_live_..." }
}
}
}
保存文件。大约 10 到 15 秒后,rivalize 服务会显示绿色圆点(首次启动时会下载软件包)。在 Windows 上,如果服务无法启动,请使用 "command": "cmd" 和 "args": ["/c", "npx", "-y", "@rivalize/mcp"]。
如果要让 Cline 帮你安装,请将其指向 llms-install.md。
任意 MCP 客户端(stdio)
此服务通过 stdin 和 stdout 使用 MCP 通信。配置客户端以启动:
| 设置 | 值 |
|---|---|
| 命令 | npx |
| 参数 | -y @rivalize/mcp |
| 环境变量 | RIVALIZE_API_KEY=rk_live_... |
| 传输方式 | stdio |
在 Windows 上,一些客户端无法直接启动 npx,因为它实际对应 npx.cmd。
请将 cmd 设为命令,并将 /c npx -y @rivalize/mcp 设为参数。
工具
始终提供 13 个只读工具。仅当将 RIVALIZE_MCP_ALLOW_WRITES 设为 1、true 或 yes 时,才会注册 add_competitor;否则,客户端无法使用该工具。
| 工具 | 访问权限 | 功能 | 关键参数 |
|---|---|---|---|
teardown_competitor | 只读 | 以 Markdown 格式一次性拆解竞争对手的策略:定位、定价、广告、社交媒体、评价、招聘、势头以及可攻击的弱点,并注明数据上次刷新的时间 | domain(必填) |
list_universe_companies | 只读 | 搜索 Rivalize 全域数据库,即跨客户的受跟踪公司数据集 | q、category(slug)、layer、limit(1-100)、offset |
get_universe_company | 只读 | 获取一家公司的完整全域档案:身份、定价、功能、广告、社交媒体、评价、融资和招聘、排名、信号及势头 | domain(必填)、layers |
list_projects | 只读 | 列出你账户中的项目;返回其他工具所需的 project_id | 无 |
list_reports | 只读 | 列出你的报告,按最新优先排序。读取报告不会生成报告 | project_id、limit(1-100)、offset |
get_report | 只读 | 以 Markdown 格式读取一份报告,可读取整份报告、单个章节或单个竞争对手的内容 | report_id(必填)、section、competitor、page |
list_competitors | 只读 | 列出你跟踪的竞争对手,包含势头分数、威胁级别区间,以及 API 提供时各对手在你的 Brief 中的排名 | project_id、limit(1-100)、offset |
get_competitor_intelligence | 只读 | 获取某个已跟踪竞争对手最新存储的情报;只有经过测量的字段才会显示 | competitor_id(必填) |
get_battlecard | 只读 | 获取某个已跟踪竞争对手的带引用销售对战卡。需要 Pro 方案 | competitor_id(必填) |
get_strategic_timeline | 只读 | 获取竞争对手在定价、产品、人员、融资及内容/社交媒体方面动态的证据关联时间线 | project_id(必填)、days(30、90、180)、competitor_id、lanes、format、page |
get_competitive_landscape | 只读 | 获取竞争对手当前或已存储的每周态势,按活跃度和战略重要性排列 | project_id(必填)、week(YYYY-MM-DD)、format、page |
get_freshness | 只读 | 查看项目中每个已跟踪竞争对手最近一次实际观测的时间和方式 | project_id(必填) |
get_evidence | 只读 | 获取支持你的产品或某个竞争对手相关事实的来源:URL、支持的内容及读取时间 | project_id(必填)、competitor_id |
add_competitor | 写入,选择启用 | 将竞争对手 URL 添加到项目中。此操作会消耗额度并加入分析队列 | project_id(必填)、urls(1-10 个,必填) |
project_id 和 competitor_id 是来自 list_projects 和 list_competitors 的 UUID。读取你账户数据的工具只能访问你自己的数据。
报告章节
get_report 接受 section 参数,以便你的助手读取问题所需的部分,而不是整份报告:
| 章节 | 包含内容 |
|---|---|
tldr、biggest-threat、blind-spots、actions | 报告的核心章节(actions 是你的产品应该采取的行动) |
battlecards | 带引用的销售对战卡 |
competitors | 每个竞争对手的完整章节 |
pricing、momentum、app-store、strengths、weaknesses、key-findings、creators、ads、tech-stack | 从每个竞争对手的章节中汇总的单个主题 |
报告只包含有数据的章节;请求其他名称时会返回错误,并列出报告实际包含的章节。section 可以与 competitor 组合使用,因此,使用 section: "pricing" 并指定 competitor: "Acme" 会返回 Acme 的定价信息。报告的伪造内容检查移除的声明会显示为 [removed — unverified],与报告中的内容完全一致。
长响应
每次响应都不超过 25,000 个字符,不会静默截断:
- Markdown(
get_report、get_strategic_timeline、get_competitive_landscape)会在章节边界处分成多个页面。每页都以Page N of M开头,并注明剩余内容和获取下一页的确切调用。 - 列表(
list_universe_companies、list_competitors、list_reports)会返回pagination.next_offset;请从该值继续获取,直到它为null。 - 对象(
get_universe_company,以及时间线或竞争格局 JSON)会限制长数组的长度,并在_capped中记录限制情况。仍然无法容纳的字段会列在_omitted中,并附上获取该字段的调用。
示例提示词
- “全面分析 linear.app。”(
teardown_competitor) - “AI 开发者工具领域有哪些玩家?”(
list_universe_companies) - “总结我最新的报告,然后告诉我竞争对手的收费情况。”
(
list_reports、带有section: "pricing"的get_report) - “本季度哪些竞争对手的变动最大?他们做了什么?”
(
get_competitive_landscape、get_strategic_timeline) - “给我一些针对头号竞争对手的销售谈话要点。”(
list_competitors、get_battlecard) - “这个定价说法的依据是什么?信息有多新?”
(
get_evidence、get_freshness)
配置
| 变量 | 必需 | 默认值 | 描述 |
|---|---|---|---|
RIVALIZE_API_KEY | 是 | 无 | 你的 Rivalize API 密钥。必须以 rk_live_ 开头;如果缺失或格式错误,服务会在启动时退出并显示提示。 |
RIVALIZE_API_URL | 否 | https://rivalize.ai | Rivalize API 的源地址。密钥只能用于签发它的服务:使用 rivalize.ai 时请保持此项未设置;对于可自托管或非生产环境的 Rivalize 服务,请将其设为该服务的源地址,否则每次调用都会返回 401。 |
RIVALIZE_MCP_ALLOW_WRITES | 否 | 关闭 | 值为 1、true 或 yes(不区分大小写)时,会注册 add_competitor。其他值或未设置时,服务保持只读。 |
HTTPS_PROXY / HTTP_PROXY | 否 | 无 | 通过企业代理转发请求。也会读取小写形式;两者都设置时优先使用 HTTPS_PROXY。遵循 NO_PROXY。错误信息会指出代理主机,但不会显示其凭据。 |
故障排除
“Connection closed”
服务无法启动时,许多客户端只会显示“Connection closed”或失败状态。服务会在 stderr 的第一行输出原因,并以 rivalize-mcp: 为前缀;大多数客户端会在 MCP 日志中保留 stderr。常见原因:
- 缺少或无效的
RIVALIZE_API_KEY。 日志内容为rivalize-mcp: RIVALIZE_API_KEY is required,或提示该密钥不像 Rivalize API 密钥(必须以rk_live_开头)。将密钥放入服务的env块,然后重启客户端。 - Node.js 版本低于 22。 运行
node --version,并安装 Node.js 22 或更高版本。客户端使用其PATH中最先找到的node和npx,这可能与终端中的不同。 - 无法访问网络。
npx首次运行时会下载软件包,每次工具调用都会访问https://rivalize.ai(或RIVALIZE_API_URL)。如果使用企业代理,请设置HTTPS_PROXY。网络错误会指出服务和原因代码,例如ECONNREFUSED或ENOTFOUND。
要直接查看提示,请在终端中使用相同的密钥运行服务:
RIVALIZE_API_KEY=rk_live_... npx -y @rivalize/mcp
正常运行的服务会在 stderr 中输出 rivalize-mcp-server connected via stdio,然后等待输入(按 Ctrl+C 停止)。其他任何内容都是客户端无法连接的原因。
每次调用都返回 401
密钥被接收请求的服务拒绝了,错误信息会指出该服务。请确认密钥未被撤销,并确认 RIVALIZE_API_URL 未设置;只有当密钥由其他 Rivalize 服务签发时,才应设置此项。
某个工具提示需要更高级别的方案
所有方案均支持读取。某些功能(例如竞争情报卡片以及完整的时间线或市场格局历史记录)需要更高级别的方案;错误消息会说明需要哪种方案,并提供指向 rivalize.ai/pricing 的链接。
Docker
仓库包含一个 Dockerfile,可在 Node 22 上构建相同的标准输入输出服务,并以非 root 用户运行。
docker build -t rivalize-mcp .
{
"mcpServers": {
"rivalize": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "RIVALIZE_API_KEY", "rivalize-mcp"],
"env": { "RIVALIZE_API_KEY": "rk_live_..." }
}
}
}
运行容器时使用 -i,且不要使用 TTY,因为 MCP 使用标准输入和标准输出。使用不带值的 -e RIVALIZE_API_KEY 可从客户端的环境中传入密钥,因此密钥不会出现在 docker run 命令行中。如果需要,也可以用同样的方式添加 -e RIVALIZE_API_URL 或 -e RIVALIZE_MCP_ALLOW_WRITES。
隐私政策
此服务是 Rivalize API 的轻量客户端。
- 发送的内容及其去向。 每次工具调用都会向
https://rivalize.ai上的 Rivalize API 发送 HTTPS 请求,或发送到你通过RIVALIZE_API_URL设置的源。请求会携带你的 API 密钥作为 Bearer 令牌、User-Agent(值为rivalize-mcp/<version>),以及工具的参数:例如公司域名、搜索词、项目、报告或竞争对手 ID;启用写入后,还会包含你添加的竞争对手 URL。如果设置了HTTPS_PROXY或HTTP_PROXY,请求会通过该代理发送。不会向其他任何地方发送数据。 - 不会发送的内容。 不会发送遥测、分析数据或崩溃报告。它不会读取你机器上的文件、你的对话或其他工具的输出;它只能看到 MCP 客户端传给其自身工具的参数。
- 本地存储的内容。 不存储任何内容。它不会写入文件、保留缓存,也不会在不同运行之间保留状态。你的密钥保存在 MCP 客户端的配置中,而非此服务中。诊断消息会输出到 stderr,MCP 客户端可能会记录这些消息;其中绝不会包含你的 API 密钥。
- Rivalize 如何处理请求。 API 会根据 Rivalize 隐私政策处理请求,详见 rivalize.ai/privacy。Rivalize 由 Downshift LLC 运营,该公司是这些数据的数据控制者。有关隐私的问题,请发送邮件至 [email protected]。
安全
请将漏洞私下报告至 [email protected],并在邮件主题中写上“security”,不要在公开议题中报告。请提供软件包版本(通过 npm view @rivalize/mcp version 查看,或参见上文的 User-Agent)、你执行的操作以及发生的情况。我们会确认收到报告,并持续向你更新处理进展,直至问题解决。
请将 API 密钥视为凭据。将其保存在客户端的 env 块或 shell 环境中,切勿放在共享文件或已提交的文件中;如果密钥泄露,请在 Dashboard → Settings → API Keys 中撤销。
贡献
欢迎通过 github.com/Downshift/rivalize-mcp/issues 提交错误报告和功能请求。有关账户和账单的问题,请发送邮件至 [email protected]。
如需在本地开发此服务:
npm ci
npm run typecheck
npm run build # emits dist/, which the rivalize-mcp bin runs
npm test # offline: every API call is mocked or served by a local fixture
server.json 是 MCP Registry 条目。测试会使用官方架构(存放在 schema/ 中)验证该文件,并检查其中的名称、版本和软件包是否与 package.json 一致。
更新日志
0.3.2
list_competitors现在会告诉你的助手如何选出头号竞争对手:如果 API 返回了竞争对手在你的 Brief 中的排名(brief.standing),则根据该排名选择;否则根据momentum_score选择。threat_level的描述现已准确反映其含义,即动量分数的等级,不再作为排名指标提供。- 如果某一行的排名仍在读取中(
brief.state为deferred),list_competitors会在 1.5 秒后再次请求同一页,最多重试 4 次。对于不返回brief的 API,仍与之前一样,每次调用只请求一次。 - 针对可自托管或非生产环境的 Rivalize 服务,401 提示的措辞更加清晰,
add_competitor的描述也更加明确。
0.3.1
- 本仓库历史记录的起始版本:包含 13 个只读工具、可选择启用的
add_competitor写入工具、将响应限制在 25,000 个字符以内并提供显式分页、支持代理,以及server.json中的 MCP Registry 条目。
许可证
MIT,© 2026 Downshift LLC。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。