Rivalize について
Rivalizeは、Rivalizeアカウントと追跡企業データに基づく、出典と日付付きの競合情報をAIクライアントに提供するMCPサーバーです。競合分析や調査に使え、既定では読み取り専用で、競合追加ツールは任意で有効化できます。
主な機能
- 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 で
書き込みを許可すると、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.cmd が原因で npx を直接起動できないクライアントがあります。
その場合は、コマンドに 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(スラッグ)、layer、limit(1~100)、offset |
get_universe_company | 読み取り | 企業1社のユニバース全プロフィールを取得します。企業情報、価格設定、機能、広告、ソーシャル、レビュー、資金調達、採用、ランキング、シグナル、勢いを含みます | domain(必須)、layers |
list_projects | 読み取り | アカウント内のプロジェクトを一覧表示します。ほかのツールで使用する project_id を返します | なし |
list_reports | 読み取り | レポートを新しい順に表示します。読み取りによってレポートが生成されることはありません | project_id、limit(1~100)、offset |
get_report | 読み取り | レポート全体、1つのセクション、または一度に1社の競合他社について、Markdown形式で取得します | report_id(必須)、section、competitor、page |
list_competitors | 読み取り | 追跡対象の競合他社を、勢いスコアと脅威レベルの区分、およびAPIが対応している場合はBriefにおける各競合他社の評価とともに一覧表示します | project_id、limit(1~100)、offset |
get_competitor_intelligence | 読み取り | 追跡対象の競合他社1社について、最新の保存済みインテリジェンスを取得します。測定済みのフィールドのみが含まれます | competitor_id(必須) |
get_battlecard | 読み取り | 追跡対象の競合他社1社について、出典付きの営業向けバトルカードを取得します。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 | 読み取り | 自社製品または競合他社1社に関する事実の出典を取得します。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」または
失敗ステータスのみが表示されます。サーバーは理由を標準エラー出力の1行目に
rivalize-mcp: の接頭辞付きで出力し、ほとんどのクライアントでは標準エラー出力が MCP ログに記録されます。
よくある原因は次のとおりです。
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
正常なサーバーは標準エラー出力に rivalize-mcp-server connected via stdio と表示し、
入力を待ちます(停止するには Ctrl+C を押してください)。それ以外のメッセージが、クライアントが
接続できなかった理由です。
すべての呼び出しで401が返される
キーは送信先のサーバーによって拒否されており、エラーにはそのサーバーが表示されます。
キーが取り消されていないこと、およびキーが別の Rivalize サーバーで発行されたものでない限り
RIVALIZE_API_URL が未設定であることを確認してください。
上位プランが必要だとツールに表示される場合
読み取りはすべてのプランで利用できます。バトルカードやタイムライン全体、競合環境の履歴など、一部の機能は上位プランが必要です。エラーには必要なプランが表示され、rivalize.ai/pricing へのリンクも記載されています。
Docker
このリポジトリには、Node 22 上で同じ stdio サーバーをビルドし、非 root ユーザーとして実行する Dockerfile が含まれています。
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_..." }
}
}
}
MCP は stdin と stdout を使用するため、コンテナは TTY を割り当てずに -i を指定して実行してください。値を指定せずに -e RIVALIZE_API_KEY を指定すると、クライアントの環境からキーが引き継がれるため、docker run コマンドラインにキーが表示されることはありません。必要に応じて、同じ方法で -e RIVALIZE_API_URL または -e RIVALIZE_MCP_ALLOW_WRITES も追加してください。
プライバシーポリシー
このサーバーは Rivalize API 用の薄いクライアントです。
- 送信されるデータと送信先。 各ツール呼び出しは、
https://rivalize.aiにある Rivalize API、またはRIVALIZE_API_URLで設定したオリジンへの HTTPS リクエストになります。リクエストには、Bearer トークンとしての API キー、rivalize-mcp/<version>というUser-Agent、およびツールの引数が含まれます。たとえば、企業のドメイン、検索語、プロジェクト、レポート、競合他社の ID、書き込みが有効な場合は追加する競合他社の URL などです。HTTPS_PROXYまたはHTTP_PROXYを設定している場合、リクエストはそのプロキシ経由で送信されます。それ以外の場所には何も送信されません。 - 送信されないデータ。 テレメトリ、分析データ、クラッシュレポートは送信しません。お使いのマシン上のファイル、会話、他のツールの出力を読み取ることもありません。このサーバーが認識するのは、MCP クライアントが自身のツールに渡す引数だけです。
- ローカルに保存されるデータ。 何もありません。ファイルの書き込みやキャッシュの保持は行わず、実行間で状態を保持することもありません。キーは MCP クライアントの設定に保存され、このサーバーには保存されません。診断メッセージは stderr に出力され、MCP クライアントによってログに記録される場合がありますが、API キーが含まれることはありません。
- リクエストに対する Rivalize の取り扱い。 API は、rivalize.ai/privacy にある Rivalize プライバシーポリシーに従ってリクエストを処理します。Rivalize は Downshift LLC が運営しており、当該データのデータ管理者です。プライバシーに関するお問い合わせは [email protected] までお寄せください。
セキュリティ
脆弱性は公開課題ではなく、件名に「security」と記載して [email protected] まで非公開でご報告ください。パッケージのバージョン(npm view @rivalize/mcp version、または上記の User-Agent)、行った操作、発生した内容を記載してください。報告を受領したことをお知らせし、解決するまで進捗をお伝えします。
API キーは認証情報として扱ってください。クライアントの env ブロックまたはシェル環境に保管し、共有ファイルやコミットするファイルには決して記載しないでください。キーが漏えいした場合は、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は同じページを最大 4 回、1.5 秒間隔で再取得します。API がbriefを返さない場合は、これまでどおり呼び出しごとに 1 回リクエストします。 - セルフホスト環境または本番環境以外の Rivalize サーバー向けの 401 エラーのヒントと、
add_competitorの説明がより明確になりました。
0.3.1
- このリポジトリの履歴の起点となるバージョンです。読み取り専用のツールが13個、オプトインの書き込みツール
add_competitor、明示的なページングによって25,000文字以内に抑えられたレスポンス、プロキシのサポート、server.json内の MCP Registry エントリーが含まれます。
ライセンス
MIT、© 2026 Downshift LLC。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。