Rivalize

offiziell

Wettbewerbsintelligenz für Agenten: Wettbewerber-Analysen, Preise, Anzeigen, Bewertungen und Dynamik. Standardmäßig schreibgeschützt.

Was kann man mit Rivalize MCP machen?

  • Wettbewerber-Analyse — Fordere eine Ein-Call-Strategieanalyse der Positionierung, Preisgestaltung, Anzeigen, Social-Media-Präsenz, Bewertungen, Einstellungen und Dynamik eines beliebigen Wettbewerbers über teardown_competitor an.
  • Universum-Suche — Durchsuche Rivalizes kundenübergreifenden Datensatz verfolgter Unternehmen nach Stichwort, Kategorie oder Ebene mit list_universe_companies.
  • Berichtsnavigation — Rufe bestimmte Abschnitte oder Wettbewerberdetails aus deinen gespeicherten Berichten ab, z. B. Preisgestaltung oder Battlecards, mit get_report.
  • Wettbewerber-Tracking — Sieh dir die Momentum-Scores, Bedrohungsstufen und Brief-Platzierungen deiner verfolgten Wettbewerber mit list_competitors an.
  • Belegprüfung — Überprüfe die Quellen hinter jeder Behauptung und wie aktuell die Beobachtung jedes Wettbewerbers ist, mit get_evidence und get_freshness.
  • Wettbewerber hinzufügen — Opt-in, um Wettbewerber-URLs zu einem Projekt hinzuzufügen, was Credits verbraucht und Analysen in die Warteschlange stellt, über add_competitor.

Dokumentation

Rivalize MCP Server

npm License: MIT

Quellenbasierte, datierte Wettbewerbsinformationen für Ihren KI-Assistenten über das Model Context Protocol.

Was es tut

Dieser Server verbindet Claude, Cursor oder einen anderen MCP-Client mit Rivalize. Ihr Assistent kann die Positionierung, Preisgestaltung, Anzeigen, soziale Präsenz, Bewertungen, Einstellungen und Dynamik eines Wettbewerbers in einem einzigen Aufruf analysieren, das Rivalize-Universum verfolgter Unternehmen durchsuchen und die Projekte, Berichte, Battlecards, Zeitpläne und Belege in Ihrem eigenen Rivalize-Konto lesen. Jede Antwort stammt aus Daten, die Rivalize gesammelt hat, mit Daten und Quellen, und nicht aus dem Gedächtnis eines Modells.

Der Server ist standardmäßig schreibgeschützt. Ein Schreib-Tool, add_competitor, ist verfügbar, wenn Sie sich mit RIVALIZE_MCP_ALLOW_WRITES=1 anmelden.

Schnellstart

Erfordert Node.js 22 oder neuer (node --version).

  1. Erstellen Sie ein Konto auf rivalize.ai.
  2. Erstellen Sie einen API-Schlüssel unter Dashboard → Einstellungen → API-Schlüssel. Schlüssel beginnen mit rk_live_. Ein Schlüssel von jedem Plan funktioniert, einschließlich des kostenlosen Plans, der ratenbegrenzte Lesezugriffe erhält.
  3. Fügen Sie den Server mit einem der folgenden Blöcke zu Ihrem Client hinzu.

Claude Desktop

Bearbeiten Sie ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oder %APPDATA%\Claude\claude_desktop_config.json (Windows), starten Sie dann Claude Desktop neu:

{
  "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

Fügen Sie .cursor/mcp.json in Ihrem Projekt hinzu, oder ~/.cursor/mcp.json für alle Projekte:

{
  "mcpServers": {
    "rivalize": {
      "command": "npx",
      "args": ["-y", "@rivalize/mcp"],
      "env": { "RIVALIZE_API_KEY": "rk_live_..." }
    }
  }
}

Cline

Öffnen Sie in Cline das MCP-Server-Panel, wählen Sie Konfigurieren, dann MCP-Server konfigurieren. Dies öffnet cline_mcp_settings.json. Fügen Sie hinzu:

{
  "mcpServers": {
    "rivalize": {
      "command": "npx",
      "args": ["-y", "@rivalize/mcp"],
      "env": { "RIVALIZE_API_KEY": "rk_live_..." }
    }
  }
}

Speichern Sie die Datei. Der rivalize-Server erscheint nach etwa 10 bis 15 Sekunden mit einem grünen Punkt (der erste Start lädt das Paket herunter). Unter Windows, falls er nicht startet, verwenden Sie "command": "cmd" und "args": ["/c", "npx", "-y", "@rivalize/mcp"].

Wenn Sie Cline bitten, es für Sie zu installieren, verweisen Sie auf llms-install.md.

Beliebiger MCP-Client (stdio)

Der Server spricht MCP über stdin und stdout. Konfigurieren Sie Ihren Client so, dass er startet:

EinstellungWert
Befehlnpx
Argumente-y @rivalize/mcp
UmgebungRIVALIZE_API_KEY=rk_live_...
Transportstdio

Unter Windows können einige Clients npx nicht direkt starten, da es npx.cmd ist. Verwenden Sie stattdessen cmd als Befehl und /c npx -y @rivalize/mcp als Argumente.

Werkzeuge

Dreizehn schreibgeschützte Werkzeuge sind immer verfügbar. add_competitor wird nur registriert, wenn RIVALIZE_MCP_ALLOW_WRITES auf 1, true oder yes gesetzt ist; ohne dieses existiert das Werkzeug nicht für den Client.

WerkzeugZugriffWas es tutWichtige Argumente
teardown_competitorlesenEin-Aufruf-Strategieanalyse eines Wettbewerbers als Markdown: Positionierung, Preisgestaltung, Anzeigen, soziale Medien, Bewertungen, Einstellungen, Dynamik und angreifbare Schwächen, mit dem Zeitpunkt der letzten Datenaktualisierungdomain (erforderlich)
list_universe_companieslesenDurchsuchen Sie das Rivalize-Universum, den kundenübergreifenden Datensatz verfolgter Unternehmenq, category (Slug), layer, limit (1-100), offset
get_universe_companylesenVollständiges Universumsprofil für ein Unternehmen: Identität, Preisgestaltung, Funktionen, Anzeigen, soziale Medien, Bewertungen, Finanzierung und Einstellungen, Rankings, Signale, Dynamikdomain (erforderlich), layers
list_projectslesenDie Projekte in Ihrem Konto; gibt die project_id zurück, die andere Werkzeuge benötigenkeine
list_reportslesenIhre Berichte, neueste zuerst. Lesen erzeugt nie einen Berichtproject_id, limit (1-100), offset
get_reportlesenEin Bericht als Markdown, ganz oder abschnittsweise oder ein Wettbewerber nach dem anderenreport_id (erforderlich), section, competitor, page
list_competitorslesenDie Wettbewerber, die Sie verfolgen, mit Dynamik-Score, Bedrohungsstufen-Band und, wo die API es bereitstellt, dem Stand jedes Rivalen in Ihrem Briefproject_id, limit (1-100), offset
get_competitor_intelligencelesenNeueste gespeicherte Informationen für einen verfolgten Wettbewerber; ein Feld ist nur vorhanden, wenn es gemessen wurdecompetitor_id (erforderlich)
get_battlecardlesenZitierte Verkaufs-Battlecard für einen verfolgten Wettbewerber. Erfordert einen Pro-Plancompetitor_id (erforderlich)
get_strategic_timelinelesenBelegverknüpfte Zeitleiste der Wettbewerbsbewegungen in Preisgestaltung, Produkt, Personal, Finanzierung und Inhalt/soziale Medienproject_id (erforderlich), days (30, 90, 180), competitor_id, lanes, format, page
get_competitive_landscapelesenAktuelle oder gespeicherte wöchentliche Positionen von Wettbewerbern nach Aktivität und strategischer Bedeutungproject_id (erforderlich), week (YYYY-MM-DD), format, page
get_freshnesslesenWann jeder verfolgte Wettbewerber in einem Projekt zuletzt tatsächlich beobachtet wurde und wieproject_id (erforderlich)
get_evidencelesenDie Quellen hinter den Fakten für Ihr Produkt oder einen Wettbewerber: URL, was sie unterstützt und wann sie gelesen wurdeproject_id (erforderlich), competitor_id
add_competitorschreiben, optionalWettbewerber-URLs zu einem Projekt hinzufügen. Verbraucht Credits und stellt Analysen in die Warteschlangeproject_id (erforderlich), urls (1-10, erforderlich)

project_id und competitor_id sind UUIDs aus list_projects und list_competitors. Werkzeuge, die Ihr Konto lesen, sehen nur Ihre eigenen Daten.

Berichtsabschnitte

get_report nimmt ein section, damit Ihr Assistent den Teil lesen kann, den eine Frage benötigt, anstatt den gesamten Bericht:

AbschnittEnthält
tldr, biggest-threat, blind-spots, actionsDie Hauptabschnitte des Berichts (actions ist, was Ihr Produkt tun sollte)
battlecardsDie zitierten Verkaufs-Battlecards
competitorsJeder Wettbewerberabschnitt vollständig
pricing, momentum, app-store, strengths, weaknesses, key-findings, creators, ads, tech-stackEin Thema, gesammelt aus jedem Wettbewerberabschnitt

Ein Bericht hat nur die Abschnitte, für die er Daten hat; die Anfrage nach einem anderen Namen gibt einen Fehler zurück, der die vorhandenen Abschnitte auflistet. section kombiniert mit competitor, sodass section: "pricing" mit competitor: "Acme" die Preisgestaltung von Acme zurückgibt. Behauptungen, die die Fabrikationsprüfung des Berichts entfernt hat, erscheinen als [removed — unverified], genau wie im Bericht.

Lange Antworten

Jede Antwort bleibt unter 25.000 Zeichen, und nichts wird stillschweigend abgeschnitten:

  • Markdown (get_report, get_strategic_timeline, get_competitive_landscape) wird an Abschnittsgrenzen in Seiten aufgeteilt. Jede Seite beginnt mit Page N of M, wie viel übrig ist, und dem genauen Aufruf für die nächste Seite.
  • Listen (list_universe_companies, list_competitors, list_reports) geben pagination.next_offset zurück; fahren Sie damit fort, bis es null ist.
  • Objekte (get_universe_company, und Zeitleisten- oder Landschafts-JSON) begrenzen lange Arrays und erfassen die Begrenzung in _capped. Ein Feld, das immer noch nicht passt, wird in _omitted mit dem Aufruf aufgelistet, der es abruft.

Beispielaufforderungen

  • „Analysiere linear.app." (teardown_competitor)
  • „Wer sind die Akteure bei KI-Entwicklertools?" (list_universe_companies)
  • „Fasse meinen neuesten Bericht zusammen und zeige mir dann, was meine Wettbewerber verlangen." (list_reports, get_report mit section: "pricing")
  • „Welcher meiner Wettbewerber hat sich in diesem Quartal am meisten bewegt, und was haben sie getan?" (get_competitive_landscape, get_strategic_timeline)
  • „Gib mir Verkaufsargumente gegen meinen Top-Wettbewerber." (list_competitors, get_battlecard)
  • „Woher stammt diese Preisbehauptung und wie aktuell ist sie?" (get_evidence, get_freshness)

Konfiguration

VariableErforderlichStandardBeschreibung
RIVALIZE_API_KEYjakeineIhr Rivalize-API-Schlüssel. Muss mit rk_live_ beginnen; der Server beendet sich beim Start mit einer Meldung, wenn er fehlt oder fehlerhaft ist.
RIVALIZE_API_URLneinhttps://rivalize.aiUrsprung der Rivalize-API. Ein Schlüssel funktioniert nur auf dem Server, der ihn ausgestellt hat: Lassen Sie dies für rivalize.ai ungesetzt, und für einen selbst gehosteten oder Nicht-Produktions-Rivalize-Server setzen Sie es auf den Ursprung dieses Servers, sonst gibt jeder Aufruf 401 zurück.
RIVALIZE_MCP_ALLOW_WRITESneinaus1, true oder yes (beliebige Groß-/Kleinschreibung) registriert add_competitor. Jeder andere Wert oder nicht gesetzt hält den Server schreibgeschützt.
HTTPS_PROXY / HTTP_PROXYneinkeineLeiten Sie Anfragen über einen Unternehmensproxy. Kleinbuchstabenformen werden ebenfalls gelesen, und HTTPS_PROXY gewinnt, wenn beide gesetzt sind. NO_PROXY wird berücksichtigt. Fehler nennen den Proxy-Host, niemals seine Anmeldeinformationen.

Fehlerbehebung

„Verbindung geschlossen"

Wenn der Server nicht starten kann, zeigen viele Clients nur „Verbindung geschlossen" oder einen fehlgeschlagenen Status. Der Server druckt den Grund als erste Zeile seines stderr, präfixiert mit rivalize-mcp:, und die meisten Clients behalten stderr in ihrem MCP-Protokoll. Die üblichen Ursachen:

  1. RIVALIZE_API_KEY fehlt oder ist ungültig. Das Protokoll liest rivalize-mcp: RIVALIZE_API_KEY is required, oder sagt, dass der Schlüssel nicht wie ein Rivalize-API-Schlüssel aussieht (er muss mit rk_live_ beginnen). Setzen Sie den Schlüssel in den env-Block des Servers und starten Sie den Client neu.
  2. Node.js ist älter als 22. Führen Sie node --version aus und installieren Sie Node.js 22 oder neuer. Ihr Client verwendet die node und npx, die zuerst in seiner eigenen PATH kommen, was sich von der Ihres Terminals unterscheiden kann.
  3. Kein Netzwerkzugriff. npx lädt das Paket beim ersten Start herunter, und jeder Werkzeugaufruf geht an https://rivalize.ai (oder RIVALIZE_API_URL). Hinter einem Unternehmensproxy setzen Sie HTTPS_PROXY. Ein Netzwerkfehler nennt den Server und den Ursachencode, wie ECONNREFUSED oder ENOTFOUND.

Um die Meldung direkt zu sehen, führen Sie den Server in einem Terminal mit demselben Schlüssel aus:

RIVALIZE_API_KEY=rk_live_... npx -y @rivalize/mcp

Ein gesunder Server druckt rivalize-mcp-server connected via stdio auf stderr und wartet auf Eingaben (drücken Sie Strg+C zum Stoppen). Alles andere ist der Grund, warum Ihr Client keine Verbindung herstellen konnte.

Jeder Aufruf gibt 401 zurück

Der Schlüssel wurde vom Server, an den er gesendet wurde, abgelehnt, und der Fehler nennt diesen Server. Überprüfen Sie, dass der Schlüssel nicht widerrufen wurde, und dass RIVALIZE_API_URL nicht gesetzt ist, es sei denn, der Schlüssel wurde von einem anderen Rivalize-Server ausgestellt.

Ein Werkzeug sagt, es benötigt einen höheren Plan

Lesezugriffe sind auf jedem Plan verfügbar. Einige Funktionen wie Battlecards und vollständige Zeitleisten- oder Landschaftsverläufe benötigen einen höheren Plan; der Fehler sagt, welchen und verlinkt auf rivalize.ai/pricing.

Docker

Das Repository enthält ein Dockerfile, das denselben stdio-Server auf Node 22 baut und ihn als Nicht-Root-Benutzer ausführt.

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_..." }
    }
  }
}

Führen Sie den Container mit -i und ohne TTY aus, da MCP stdin und stdout verwendet. -e RIVALIZE_API_KEY ohne Wert reicht den Schlüssel aus der Umgebung des Clients durch, sodass er nie auf der docker run-Befehlszeile erscheint. Fügen Sie -e RIVALIZE_API_URL oder -e RIVALIZE_MCP_ALLOW_WRITES auf dieselbe Weise hinzu, falls Sie sie benötigen.

Datenschutzrichtlinie

Dieser Server ist ein dünner Client für die Rivalize-API.

  • Was gesendet wird und wohin. Jeder Tool-Aufruf wird zu einer HTTPS-Anfrage an die Rivalize-API unter https://rivalize.ai oder dem Ursprung, den Sie in RIVALIZE_API_URL festgelegt haben. Eine Anfrage enthält Ihren API-Schlüssel als Bearer-Token, einen User-Agent von rivalize-mcp/<version> und die Argumente des Tools: zum Beispiel eine Unternehmensdomain, einen Suchbegriff, eine Projekt-, Berichts- oder Wettbewerber-ID, und, wenn Schreibzugriff aktiviert ist, die von Ihnen hinzugefügten Wettbewerber-URLs. Wenn Sie HTTPS_PROXY oder HTTP_PROXY festlegen, werden Anfragen über diesen Proxy geleitet. Es wird nichts an andere Stellen gesendet.
  • Was nicht gesendet wird. Keine Telemetrie, Analytik oder Absturzberichte. Es liest keine Dateien auf Ihrem Rechner, Ihre Konversation oder die Ausgabe anderer Tools; es sieht nur die Argumente, die Ihr MCP-Client an seine eigenen Tools übergibt.
  • Was lokal gespeichert wird. Nichts. Es schreibt keine Dateien, führt keinen Cache und hält keinen Zustand zwischen Ausführungen. Ihr Schlüssel befindet sich in der Konfiguration Ihres MCP-Clients, nicht in diesem Server. Diagnosemeldungen gehen an stderr, das Ihr MCP-Client protokollieren kann; sie enthalten niemals Ihren API-Schlüssel.
  • Was Rivalize mit Anfragen macht. Die API verarbeitet sie gemäß der Rivalize-Datenschutzrichtlinie unter rivalize.ai/privacy. Rivalize wird von Downshift LLC betrieben, dem Verantwortlichen für diese Daten. Datenschutzfragen richten Sie an privacy@rivalize.ai.

Sicherheit

Bitte melden Sie Schwachstellen vertraulich an support@rivalize.ai mit „security“ in der Betreffzeile, nicht in einem öffentlichen Issue. Geben Sie die Paketversion (npm view @rivalize/mcp version oder die User-Agent oben), was Sie getan haben und was passiert ist, an. Wir bestätigen Ihren Bericht und halten Sie auf dem Laufenden, bis er behoben ist.

Behandeln Sie Ihren API-Schlüssel als Zugangsdaten. Bewahren Sie ihn im env-Block Ihres Clients oder in Ihrer Shell-Umgebung auf, niemals in einer geteilten oder committeten Datei, und widerrufen Sie einen geleakten Schlüssel unter Dashboard → Einstellungen → API-Schlüssel.

Mitwirken

Fehlerberichte und Funktionswünsche sind willkommen unter github.com/Downshift/rivalize-mcp/issues. Für Konto- und Abrechnungsfragen senden Sie eine E-Mail an support@rivalize.ai.

Um lokal am Server zu arbeiten:

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 ist der MCP-Registry-Eintrag. Die Tests validieren ihn gegen das offizielle Schema (eingebunden in schema/) und prüfen, dass Name, Version und Paket mit package.json übereinstimmen.

Änderungsprotokoll

0.3.2

  • list_competitors teilt Ihrem Assistenten jetzt mit, wie ein Top-Wettbewerber ausgewählt wird: anhand der Platzierung des Rivalen in Ihrem Brief (brief.standing), wenn die API sie zurückgibt, andernfalls anhand von momentum_score. threat_level wird als das beschrieben, was es ist, das Band des Momentum-Scores, und wird nicht mehr als Ranking angeboten.
  • Wenn die Platzierung einer Zeile noch gelesen wird (brief.state ist deferred), fragt list_competitors erneut nach derselben Seite, bis zu 4 Mal, im Abstand von 1,5 Sekunden. Gegenüber einer API, die kein brief zurückgibt, macht es wie zuvor eine Anfrage pro Aufruf.
  • Klarere Formulierung im 401-Hinweis für einen selbst gehosteten oder Nicht-Produktions-Rivalize-Server und in der add_competitor-Beschreibung.

0.3.1

  • Die Version, mit der die Historie dieses Repositorys beginnt: dreizehn schreibgeschützte Tools, das optionale add_competitor-Schreibwerkzeug, Antworten unter 25.000 Zeichen mit expliziter Paginierung, Proxy-Unterstützung und der MCP-Registry-Eintrag in server.json.

Lizenz

MIT, © 2026 Downshift LLC. Siehe LICENSE.