Rivalize
ai.rivalize由 rivalize.ai 发布v0.3.2更新于 Nov 7, 2026
Competitive intelligence for agents: competitor teardowns, pricing, ads, reviews and momentum.
概览
Rivalize 让助手通过 stdio 获取有出处的竞品情报:竞品拆解、定价、广告、评价与势头,数据来自 Rivalize 的采集库。
- 可以做什么
- 一次调用即可拆解竞品的定位、定价、广告、社交、评价、招聘与势头
- 搜索并读取 Rivalize 跨客户的公司数据库
- 列出并读取自己账户中的项目、报告、跟踪竞品、销售对战卡、战略时间线、竞争格局、证据来源与数据新鲜度
- 在 Agent 套餐下读取三个跟踪竞品的原始采集数据
- 启用写入后可添加竞品、启动报告并设置 Agent 竞品槽位
- 适用场景
- 适合希望助手基于带日期和来源的采集数据、而非模型记忆来回答竞争问题:竞品拆解、定价对比、销售话术,或追踪对手近期动向。
- 运行要求
- 以 npx 启动的本地进程,需要 Node.js 22 或更高版本及网络访问。需要 Rivalize 账户和 API 密钥(RIVALIZE_API_KEY,须以 rk_live_ 开头),缺失时服务器启动即退出。多数功能需付费套餐;可选 RIVALIZE_API_URL 与 HTTPS_PROXY。
安装
在 SourceWeft 中
- 打开 控制台中的 Rivalize,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Rivalize MCP Server (@rivalize/mcp)
Give Claude, Cursor, Cline, or your own agent cited competitor intelligence as JSON, over the Model Context Protocol.
The Agent plan ($70 a year or $9 a month): API and MCP only, for your own AI. Rivalize collects; your own Claude, Cursor or agent does the thinking. No dashboard and no AI analysis, so it costs a few dollars.
- 3 competitors at once, refreshed every 7 days
- Everything Rivalize collects about each, as JSON, with sources and collection dates
- Reads Rivalize's database of companies already collected
(
list_universe_companies,get_universe_company) - 500 API and MCP calls a day (up to 250 an hour)
Get the Agent plan at rivalize.ai/pricing. Developer and API documentation: rivalize.ai/developers.
What it does
This server connects Claude, Cursor or any other MCP client to Rivalize. Your assistant can tear down a competitor's positioning, pricing, ads, social presence, reviews, hiring and momentum in one call, search the Rivalize universe of tracked companies, and read the projects, reports, battlecards, timelines and evidence in your own Rivalize account. Every answer comes from data Rivalize has collected, with dates and sources, rather than from a model's memory.
The server is read-only by default. Three write tools, add_competitor,
run_report and set_agent_competitor, are available when you opt in with
RIVALIZE_MCP_ALLOW_WRITES=1. run_report starts a real report that uses your
credits, so it asks you to preview first and confirm.
Quick start
Requires Node.js 22 or newer (node --version).
- Choose a plan at rivalize.ai/pricing: the Agent plan ($70 a year or $9 a month) is built for API and MCP use. A 14-day Growth trial is arranged with the Rivalize team; see the pricing page.
- Create an API key under Settings → API Keys in the Rivalize app. Keys
start with
rk_live_. A key from any plan works, including the free plan, which gets rate-limited reads. - Add the server to your client using one of the blocks below.
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude
Desktop:
Claude Code
Cursor
Add to .cursor/mcp.json in your project, or ~/.cursor/mcp.json for all
projects:
Cline
In Cline, open the MCP Servers panel, choose Configure, then Configure MCP Servers. This opens cline_mcp_settings.json. Add:
Save the file. The rivalize server appears with a green dot after about 10 to 15 seconds (the first start downloads the package). On Windows, if it does not start, use "command": "cmd" and "args": ["/c", "npx", "-y", "@rivalize/mcp"].
If you ask Cline to install it for you, point it at llms-install.md.
Any MCP client (stdio)
The server speaks MCP over stdin and stdout. Configure your client to launch:
On Windows, some clients cannot launch npx directly because it is npx.cmd.
Use cmd as the command and /c npx -y @rivalize/mcp as the arguments
instead.
Plans and limits
Prices and limits are always current at rivalize.ai/pricing.
Tools
Sixteen read-only tools are always available: fourteen for dashboard plans and
two for Agent plans. The three write tools (add_competitor, run_report and
set_agent_competitor) are registered only when RIVALIZE_MCP_ALLOW_WRITES is
set to 1, true or yes; without it, they do not exist for the client.
Agent plans cannot run work that needs a model (battlecards, teardown prose,
reports): the API refuses those calls with an agent_* code and the tool shows
you the API's sentence unchanged. run_report and the dashboard reads are for
dashboard plans; the Free and Agent plans are refused by the API with
PLAN_REQUIRED or agent_model_work_not_in_plan.
project_id and competitor_id are UUIDs from list_projects and
list_competitors. Tools that read your account only ever see your own data.
Report sections
get_report takes a section so your assistant can read the part a question
needs instead of the whole report:
A report has only the sections it has data for; asking for any other name
returns an error that lists the sections it does have. section combines with
competitor, so section: "pricing" with competitor: "Acme" returns Acme's
pricing. A figure the report's fabrication check could not match to a source is
kept and marked (not confirmed in the pages read); a name or citation the
check found to belong to another entity is taken out with its sentence, exactly
as in the report.
Long responses
Every response stays under 25,000 characters, and nothing is cut silently:
- Markdown (
get_report,get_strategic_timeline,get_competitive_landscape) is split into pages at section boundaries. Each page starts withPage N of M, how much remains, and the exact call for the next page. - Lists (
list_universe_companies,list_competitors,list_reports) returnpagination.next_offset; continue from it until it isnull. - Objects (
get_universe_company, and timeline or landscape JSON) cap long arrays and record the cap in_capped. A field that still does not fit is listed in_omittedwith the call that fetches it.
Example prompts
- "Tear down linear.app." (
teardown_competitor) - "Who are the players in AI developer tools?" (
list_universe_companies) - "Summarize my latest report, then show me what my competitors charge."
(
list_reports,get_reportwithsection: "pricing") - "Which of my competitors moved most this quarter, and what did they do?"
(
get_competitive_landscape,get_strategic_timeline) - "Give me sales talking points against my top competitor." (
list_competitors,get_battlecard) - "Where does that pricing claim come from, and how fresh is it?"
(
get_evidence,get_freshness)
Configuration
Troubleshooting
"Connection closed"
When the server cannot start, many clients show only "Connection closed" or a
failed status. The server prints the reason as the first line of its stderr,
prefixed rivalize-mcp:, and most clients keep stderr in their MCP log. The
usual causes:
RIVALIZE_API_KEYis missing or invalid. The log readsrivalize-mcp: RIVALIZE_API_KEY is required, or says the key does not look like a Rivalize API key (it must start withrk_live_). Put the key in the server'senvblock and restart the client.- Node.js is older than 22. Run
node --versionand install Node.js 22 or newer. Your client uses whichevernodeandnpxcome first on its ownPATH, which can differ from your terminal's. - No network access.
npxdownloads the package on first run, and every tool call goes tohttps://rivalize.ai(orRIVALIZE_API_URL). Behind a corporate proxy, setHTTPS_PROXY. A network error names the server and the cause code, such asECONNREFUSEDorENOTFOUND.
To see the message directly, run the server in a terminal with the same key:
A healthy server prints rivalize-mcp-server connected via stdio to stderr
and waits for input (press Ctrl+C to stop). Anything else is the reason your
client could not connect.
Every call returns 401
The key was rejected by the server it was sent to, and the error names that
server. Check that the key has not been revoked, and that RIVALIZE_API_URL is
unset unless the key was issued by a different Rivalize server.
A tool says it needs a higher plan
Reads are available on every plan. Some capabilities, such as battlecards and full timeline or landscape history, need a higher plan; the error says which and links to rivalize.ai/pricing.
Docker
The repository includes a Dockerfile that builds the same stdio server on
Node 22 and runs it as a non-root user.
Run the container with -i and without a TTY, since MCP uses stdin and
stdout. -e RIVALIZE_API_KEY with no value passes the key through from the
client's environment, so it never appears on the docker run command line.
Add -e RIVALIZE_API_URL or -e RIVALIZE_MCP_ALLOW_WRITES the same way if you
need them.
Privacy Policy
This server is a thin client for the Rivalize API.
- What it sends, and where. Each tool call becomes an HTTPS request to the
Rivalize API at
https://rivalize.ai, or the origin you set inRIVALIZE_API_URL. A request carries your API key as a Bearer token, aUser-Agentofrivalize-mcp/<version>, and the tool's arguments: for example a company domain, a search term, a project, report or competitor id, and, with writes enabled, the competitor URLs you add. If you setHTTPS_PROXYorHTTP_PROXY, requests go through that proxy. Nothing is sent anywhere else. - What it does not send. No telemetry, analytics or crash reports. It does not read files on your machine, your conversation, or other tools' output; it sees only the arguments your MCP client passes to its own tools.
- What it stores locally. Nothing. It writes no files, keeps no cache and holds no state between runs. Your key lives in your MCP client's configuration, not in this server. Diagnostic messages go to stderr, which your MCP client may log; they never include your API key.
- What Rivalize does with requests. The API processes them under the Rivalize Privacy Policy at rivalize.ai/privacy. Rivalize is operated by Downshift LLC, the data controller for that data. Privacy questions go to [email protected].
Security
Please report vulnerabilities privately to [email protected] with
"security" in the subject line, not in a public issue. Include the package
version (npm view @rivalize/mcp version, or the User-Agent above), what you
did, and what happened. We will acknowledge your report and keep you updated
until it is resolved.
Treat your API key as a credential. Keep it in your client's env block or
your shell environment, never in a shared or committed file, and revoke a
leaked key under Settings → API Keys.
Contributing
Bug reports and feature requests are welcome at github.com/Downshift/rivalize-mcp/issues. For account and billing questions, email [email protected].
To work on the server locally:
server.json is the MCP Registry
entry. The tests validate it against the official schema (vendored in
schema/) and check that its name, version and package match package.json.
Changelog
0.5.1
- README,
llms-install.md, directory listings andserver.jsonnow lead with the Agent plan ($70 a year or $9 a month: 3 competitors at once, refreshed every 7 days, everything collected as JSON, access to the universe of already-collected companies, 500 API and MCP calls a day). No change to the tools.
0.5.0
- New
run_report, a write tool (opt-in withRIVALIZE_MCP_ALLOW_WRITES=1). It starts a real report that uses your credits, so it works in two steps: withoutconfirmit starts nothing and returns a preview of the depth, competitors, credits it will use and what you have left; withconfirm: trueit starts the run. The API limits runs to 3 a day per account and returns the run already started for the same request within 10 minutes. - New
get_report_statusto check whether a started report has finished. get_reportnow reports figures the fabrication check could not match to a source as(not confirmed in the pages read)instead of removing them.
0.4.0
- Agent plan tools:
list_agent_competitorsandget_agent_competitor(reads) andset_agent_competitor(a write, opt-in) for the three tracked-competitor slots of an Agent plan. - Every tool result is marked as AI-generated: a top-level
ai_generatedandai_disclosurein JSON results, a closing disclosure line on Markdown results, and_meta.ai_generatedon all of them. Errors are left unchanged.
0.3.2
list_competitorsnow tells your assistant how to pick a top competitor: by the rival's standing on your Brief (brief.standing) when the API returns it, otherwise bymomentum_score.threat_levelis described as what it is, the band of the momentum score, and is no longer offered as a ranking.- When a row's standing is still being read (
brief.stateisdeferred),list_competitorsasks for the same page again, up to 4 times, 1.5 seconds apart. Against an API that returns nobrief, it makes one request per call as before. - Clearer wording in the 401 hint for a self-hosted or non-production Rivalize
server, and in the
add_competitordescription.
0.3.1
- The version this repository's history starts from: thirteen read-only
tools, the opt-in
add_competitorwrite tool, responses kept under 25,000 characters with explicit paging, proxy support, and the MCP Registry entry inserver.json.
License
MIT, © 2026 Downshift LLC. See LICENSE.
来源:README.md,提交 ae021d4
工具
0版本历史
1- v0.3.2最新Oct 10, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分