Rivalize
offiziellWettbewerbsintelligenz 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_competitoran. - 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_competitorsan. - Belegprüfung — Überprüfe die Quellen hinter jeder Behauptung und wie aktuell die Beobachtung jedes Wettbewerbers ist, mit
get_evidenceundget_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
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).
- Erstellen Sie ein Konto auf rivalize.ai.
- 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. - 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:
| Einstellung | Wert |
|---|---|
| Befehl | npx |
| Argumente | -y @rivalize/mcp |
| Umgebung | RIVALIZE_API_KEY=rk_live_... |
| Transport | stdio |
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.
| Werkzeug | Zugriff | Was es tut | Wichtige Argumente |
|---|---|---|---|
teardown_competitor | lesen | Ein-Aufruf-Strategieanalyse eines Wettbewerbers als Markdown: Positionierung, Preisgestaltung, Anzeigen, soziale Medien, Bewertungen, Einstellungen, Dynamik und angreifbare Schwächen, mit dem Zeitpunkt der letzten Datenaktualisierung | domain (erforderlich) |
list_universe_companies | lesen | Durchsuchen Sie das Rivalize-Universum, den kundenübergreifenden Datensatz verfolgter Unternehmen | q, category (Slug), layer, limit (1-100), offset |
get_universe_company | lesen | Vollständiges Universumsprofil für ein Unternehmen: Identität, Preisgestaltung, Funktionen, Anzeigen, soziale Medien, Bewertungen, Finanzierung und Einstellungen, Rankings, Signale, Dynamik | domain (erforderlich), layers |
list_projects | lesen | Die Projekte in Ihrem Konto; gibt die project_id zurück, die andere Werkzeuge benötigen | keine |
list_reports | lesen | Ihre Berichte, neueste zuerst. Lesen erzeugt nie einen Bericht | project_id, limit (1-100), offset |
get_report | lesen | Ein Bericht als Markdown, ganz oder abschnittsweise oder ein Wettbewerber nach dem anderen | report_id (erforderlich), section, competitor, page |
list_competitors | lesen | Die Wettbewerber, die Sie verfolgen, mit Dynamik-Score, Bedrohungsstufen-Band und, wo die API es bereitstellt, dem Stand jedes Rivalen in Ihrem Brief | project_id, limit (1-100), offset |
get_competitor_intelligence | lesen | Neueste gespeicherte Informationen für einen verfolgten Wettbewerber; ein Feld ist nur vorhanden, wenn es gemessen wurde | competitor_id (erforderlich) |
get_battlecard | lesen | Zitierte Verkaufs-Battlecard für einen verfolgten Wettbewerber. Erfordert einen Pro-Plan | competitor_id (erforderlich) |
get_strategic_timeline | lesen | Belegverknüpfte Zeitleiste der Wettbewerbsbewegungen in Preisgestaltung, Produkt, Personal, Finanzierung und Inhalt/soziale Medien | project_id (erforderlich), days (30, 90, 180), competitor_id, lanes, format, page |
get_competitive_landscape | lesen | Aktuelle oder gespeicherte wöchentliche Positionen von Wettbewerbern nach Aktivität und strategischer Bedeutung | project_id (erforderlich), week (YYYY-MM-DD), format, page |
get_freshness | lesen | Wann jeder verfolgte Wettbewerber in einem Projekt zuletzt tatsächlich beobachtet wurde und wie | project_id (erforderlich) |
get_evidence | lesen | Die Quellen hinter den Fakten für Ihr Produkt oder einen Wettbewerber: URL, was sie unterstützt und wann sie gelesen wurde | project_id (erforderlich), competitor_id |
add_competitor | schreiben, optional | Wettbewerber-URLs zu einem Projekt hinzufügen. Verbraucht Credits und stellt Analysen in die Warteschlange | project_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:
| Abschnitt | Enthält |
|---|---|
tldr, biggest-threat, blind-spots, actions | Die Hauptabschnitte des Berichts (actions ist, was Ihr Produkt tun sollte) |
battlecards | Die zitierten Verkaufs-Battlecards |
competitors | Jeder Wettbewerberabschnitt vollständig |
pricing, momentum, app-store, strengths, weaknesses, key-findings, creators, ads, tech-stack | Ein 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 mitPage 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) gebenpagination.next_offsetzurück; fahren Sie damit fort, bis esnullist. - 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_omittedmit 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_reportmitsection: "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
| Variable | Erforderlich | Standard | Beschreibung |
|---|---|---|---|
RIVALIZE_API_KEY | ja | keine | Ihr 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_URL | nein | https://rivalize.ai | Ursprung 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_WRITES | nein | aus | 1, true oder yes (beliebige Groß-/Kleinschreibung) registriert add_competitor. Jeder andere Wert oder nicht gesetzt hält den Server schreibgeschützt. |
HTTPS_PROXY / HTTP_PROXY | nein | keine | Leiten 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:
RIVALIZE_API_KEYfehlt oder ist ungültig. Das Protokoll liestrivalize-mcp: RIVALIZE_API_KEY is required, oder sagt, dass der Schlüssel nicht wie ein Rivalize-API-Schlüssel aussieht (er muss mitrk_live_beginnen). Setzen Sie den Schlüssel in denenv-Block des Servers und starten Sie den Client neu.- Node.js ist älter als 22. Führen Sie
node --versionaus und installieren Sie Node.js 22 oder neuer. Ihr Client verwendet dienodeundnpx, die zuerst in seiner eigenenPATHkommen, was sich von der Ihres Terminals unterscheiden kann. - Kein Netzwerkzugriff.
npxlädt das Paket beim ersten Start herunter, und jeder Werkzeugaufruf geht anhttps://rivalize.ai(oderRIVALIZE_API_URL). Hinter einem Unternehmensproxy setzen SieHTTPS_PROXY. Ein Netzwerkfehler nennt den Server und den Ursachencode, wieECONNREFUSEDoderENOTFOUND.
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.aioder dem Ursprung, den Sie inRIVALIZE_API_URLfestgelegt haben. Eine Anfrage enthält Ihren API-Schlüssel als Bearer-Token, einenUser-Agentvonrivalize-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 SieHTTPS_PROXYoderHTTP_PROXYfestlegen, 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_competitorsteilt 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 vonmomentum_score.threat_levelwird 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.stateistdeferred), fragtlist_competitorserneut nach derselben Seite, bis zu 4 Mal, im Abstand von 1,5 Sekunden. Gegenüber einer API, die keinbriefzurü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 inserver.json.
Lizenz
MIT, © 2026 Downshift LLC. Siehe LICENSE.