Rivalize
公式エージェント向けの競合インテリジェンス:競合他社の分解分析、価格、広告、レビュー、勢い。デフォルトでは読み取り専用。
Rivalize MCPで何ができますか?
- 競合他社の分解 —
teardown_competitorを使用して、任意の競合他社のポジショニング、価格設定、広告、ソーシャルプレゼンス、レビュー、採用、勢いに関する1回のコール戦略分解を依頼します。 - ユニバース検索 —
list_universe_companiesを使用して、Rivalizeの追跡企業のクロスカスタマーデータセットをキーワード、カテゴリ、またはレイヤーで検索します。 - レポートナビゲーション —
get_reportを使用して、保存済みレポートから価格設定やバトルカードなどの特定のセクションや競合他社の詳細を取得します。 - 競合他社の追跡 —
list_competitorsを使用して、追跡中の競合他社の勢いスコア、脅威レベル、およびBrief順位を表示します。 - エビデンスの検証 —
get_evidenceとget_freshnessを使用して、あらゆる主張の背後にある情報源と、各競合他社が最後に観測された時期を確認します。 - 競合他社の追加 —
add_competitorを介してプロジェクトに競合他社のURLを追加するオプトインを行います。これによりクレジットが消費され、分析がキューに入れられます。
ドキュメント
Rivalize MCPサーバー
出典付き・日付付きの競合インテリジェンスを、Model Context Protocolを通じてAIアシスタントに提供します。
機能概要
このサーバーは、Claude、Cursor、その他のMCPクライアントをRivalizeに接続します。アシスタントは、1回の呼び出しで競合他社のポジショニング、価格設定、広告、ソーシャルプレゼンス、レビュー、採用、勢いを分析し、Rivalizeが追跡する企業のユニバースを検索し、自身のRivalizeアカウント内のプロジェクト、レポート、バトルカード、タイムライン、エビデンスを読むことができます。すべての回答は、モデルの記憶ではなく、Rivalizeが収集した日付と出典付きのデータに基づいています。
このサーバーはデフォルトで読み取り専用です。書き込みツールであるadd_competitorは、RIVALIZE_MCP_ALLOW_WRITES=1でオプトインした場合にのみ利用可能です。
クイックスタート
Node.js 22以降が必要です(node --version)。
- rivalize.aiでアカウントを作成します。
- ダッシュボード → 設定 → APIキーで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サーバーパネルを開き、設定、MCPサーバーを設定の順に選択します。これにより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の読み取り専用ツールが常に利用可能です。add_competitorは、RIVALIZE_MCP_ALLOW_WRITESが1、true、またはyesに設定されている場合にのみ登録されます。それ以外の場合、ツールはクライアントに存在しません。
| ツール | アクセス | 機能 | 主要な引数 |
|---|---|---|---|
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つのレポートをMarkdownで取得。全体、1セクション、または1競合他社を一度に取得 | 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 | すべての競合他社のセクションから収集された1つのトピック |
レポートにはデータがあるセクションのみが含まれます。他の名前を要求すると、存在するセクションをリストしたエラーが返されます。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、get_reportとsection: "pricing") - 「今四半期で最も動きがあった競合他社はどこで、何をした?」(
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が尊重されます。エラーはプロキシホスト名を示し、資格情報は決して示しません。 |
トラブルシューティング
「接続が閉じられました」
サーバーが起動できない場合、多くのクライアントは「接続が閉じられました」または失敗ステータスのみを表示します。サーバーは理由をstderrの最初の行にrivalize-mcp:プレフィックス付きで出力し、ほとんどのクライアントはstderrを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をstderrに出力し、入力を待ちます(停止するには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を使用するため、-iを指定し、TTYなしでコンテナを実行します。値なしの-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リクエストになります。リクエストには、APIキーがBearerトークンとして、User-Agentがrivalize-mcp/<version>として、そしてツールの引数(例:会社のドメイン、検索語、プロジェクト、レポート、競合他社のID、書き込みが有効な場合は追加する競合他社のURL)が含まれます。HTTPS_PROXYまたはHTTP_PROXYを設定した場合、リクエストはそのプロキシを経由します。他の場所に送信されることはありません。 - 送信されないもの。 テレメトリ、分析、クラッシュレポートはありません。お使いのマシン上のファイル、会話、他のツールの出力を読み取ることはありません。MCPクライアントが自身のツールに渡す引数のみを参照します。
- ローカルに保存されるもの。 何もありません。ファイルを書き込まず、キャッシュを保持せず、実行間で状態を保持しません。APIキーはこのサーバーではなく、MCPクライアントの設定に存在します。診断メッセージはstderrに送信され、MCPクライアントがログに記録する場合がありますが、APIキーが含まれることはありません。
- Rivalizeがリクエストをどう処理するか。 APIは、rivalize.ai/privacy のRivalizeプライバシーポリシーに基づいてリクエストを処理します。Rivalizeは、そのデータの管理事業者であるDownshift LLCによって運営されています。プライバシーに関する質問は、privacy@rivalize.ai までお問い合わせください。
セキュリティ
脆弱性は、公開のイシューではなく、件名に「security」を含めて support@rivalize.ai まで非公開で報告してください。パッケージのバージョン(npm view @rivalize/mcp version、または上記の User-Agent)、実行した内容、発生した結果を含めてください。報告を確認し、解決まで最新情報をお知らせします。
APIキーは資格情報として扱ってください。クライアントの env ブロックまたはシェル環境に保管し、共有ファイルやコミット済みファイルには決して置かないでください。漏洩したキーは、ダッシュボード → 設定 → APIキー から失効させてください。
貢献
バグ報告と機能リクエストは、github.com/Downshift/rivalize-mcp/issues で受け付けています。アカウントと請求に関する質問は、support@rivalize.ai までメールでお問い合わせください。
サーバーをローカルで作業するには:
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レジストリ のエントリです。テストは、公式スキーマ(schema/ にベンダリング)に対して検証し、名前、バージョン、パッケージが package.json と一致することを確認します。
変更履歴
0.3.2
list_competitorsは、アシスタントにトップ競合他社の選び方を伝えるようになりました:APIが返す場合はブリーフ上の競合他社の順位(brief.standing)によって、それ以外の場合はmomentum_scoreによって選びます。threat_levelは、モメンタムスコアの帯域として説明され、ランキングとして提供されなくなりました。- 行の順位がまだ読み取り中の場合(
brief.stateがdeferred)、list_competitorsは同じページを最大4回、1.5秒間隔で再要求します。briefを返さないAPIに対しては、以前と同様に呼び出しごとに1回のリクエストを行います。 - セルフホストまたは非本番環境のRivalizeサーバー向けの401ヒントと、
add_competitorの説明の文言が明確になりました。
0.3.1
- このリポジトリの履歴が始まるバージョン:13個の読み取り専用ツール、オプトインの
add_competitor書き込みツール、明示的なページングで25,000文字未満に保たれたレスポンス、プロキシサポート、server.jsonのMCPレジストリエントリ。
ライセンス
MIT、© 2026 Downshift LLC。LICENSE を参照してください。