Rivalize

oficial

Inteligência competitiva para agentes: análises de concorrentes, preços, anúncios, avaliações e momentum. Somente leitura por padrão.

O que você pode fazer com Rivalize MCP?

  • Análise de concorrente — Solicite uma análise estratégica em uma única chamada do posicionamento, preços, anúncios, presença social, avaliações, contratações e momentum de qualquer concorrente via teardown_competitor.
  • Busca no universo — Pesquise o conjunto de dados entre clientes da Rivalize de empresas rastreadas por palavra-chave, categoria ou camada com list_universe_companies.
  • Navegação de relatórios — Extraia seções específicas ou detalhes de concorrentes dos seus relatórios armazenados, como preços ou battlecards, usando get_report.
  • Rastreamento de concorrentes — Visualize as pontuações de momentum, níveis de ameaça e posições no Brief dos seus concorrentes rastreados com list_competitors.
  • Verificação de evidências — Verifique as fontes por trás de qualquer afirmação e há quanto tempo cada concorrente foi observado usando get_evidence e get_freshness.
  • Adicionar concorrentes — Opte por adicionar URLs de concorrentes a um projeto, o que gasta créditos e enfileira a análise, via add_competitor.

Documentação

Servidor MCP Rivalize

npm License: MIT

Inteligência competitiva com fonte e data para seu assistente de IA, através do Model Context Protocol.

O que ele faz

Este servidor conecta Claude, Cursor ou qualquer outro cliente MCP ao Rivalize. Seu assistente pode analisar o posicionamento, preços, anúncios, presença social, avaliações, contratações e momentum de um concorrente em uma única chamada, pesquisar o universo Rivalize de empresas rastreadas e ler os projetos, relatórios, battlecards, cronologias e evidências da sua própria conta Rivalize. Cada resposta vem de dados que a Rivalize coletou, com datas e fontes, em vez da memória de um modelo.

O servidor é somente leitura por padrão. Uma ferramenta de escrita, add_competitor, está disponível quando você opta por ativá-la com RIVALIZE_MCP_ALLOW_WRITES=1.

Início rápido

Requer Node.js 22 ou mais recente (node --version).

  1. Crie uma conta em rivalize.ai.
  2. Crie uma chave de API em Painel → Configurações → Chaves de API. As chaves começam com rk_live_. Uma chave de qualquer plano funciona, incluindo o plano gratuito, que tem leituras com limite de taxa.
  3. Adicione o servidor ao seu cliente usando um dos blocos abaixo.

Claude Desktop

Edite ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows) e reinicie o 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

Adicione a .cursor/mcp.json no seu projeto, ou ~/.cursor/mcp.json para todos os projetos:

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

Cline

No Cline, abra o painel Servidores MCP, escolha Configurar e depois Configurar Servidores MCP. Isso abre cline_mcp_settings.json. Adicione:

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

Salve o arquivo. O servidor rivalize aparece com um ponto verde após cerca de 10 a 15 segundos (a primeira inicialização baixa o pacote). No Windows, se não iniciar, use "command": "cmd" e "args": ["/c", "npx", "-y", "@rivalize/mcp"].

Se você pedir ao Cline para instalá-lo para você, aponte para llms-install.md.

Qualquer cliente MCP (stdio)

O servidor fala MCP via stdin e stdout. Configure seu cliente para iniciar:

ConfiguraçãoValor
Comandonpx
Argumentos-y @rivalize/mcp
AmbienteRIVALIZE_API_KEY=rk_live_...
Transportestdio

No Windows, alguns clientes não conseguem iniciar npx diretamente porque ele é npx.cmd. Use cmd como comando e /c npx -y @rivalize/mcp como argumentos em vez disso.

Ferramentas

Treze ferramentas somente leitura estão sempre disponíveis. add_competitor é registrada apenas quando RIVALIZE_MCP_ALLOW_WRITES está definido como 1, true ou yes; sem isso, a ferramenta não existe para o cliente.

FerramentaAcessoO que fazArgumentos principais
teardown_competitorleituraAnálise estratégica completa de um concorrente em uma chamada como Markdown: posicionamento, preços, anúncios, redes sociais, avaliações, contratações, momentum e pontos fracos para atacar, com quando os dados foram atualizados pela última vezdomain (obrigatório)
list_universe_companiesleituraPesquisar o universo Rivalize, o conjunto de dados entre clientes de empresas rastreadasq, category (slug), layer, limit (1-100), offset
get_universe_companyleituraPerfil completo do universo para uma empresa: identidade, preços, recursos, anúncios, redes sociais, avaliações, financiamento e contratações, classificações, sinais, momentumdomain (obrigatório), layers
list_projectsleituraOs projetos na sua conta; retorna os project_id que outras ferramentas recebemnenhum
list_reportsleituraSeus relatórios, do mais recente ao mais antigo. Ler nunca gera um relatórioproject_id, limit (1-100), offset
get_reportleituraUm relatório como Markdown, inteiro ou uma seção ou um concorrente por vezreport_id (obrigatório), section, competitor, page
list_competitorsleituraOs concorrentes que você rastreia, com pontuação de momentum, sua faixa de nível de ameaça e, onde a API fornece, a posição de cada rival no seu Briefproject_id, limit (1-100), offset
get_competitor_intelligenceleituraInteligência armazenada mais recente para um concorrente rastreado; um campo está presente apenas quando foi medidocompetitor_id (obrigatório)
get_battlecardleituraBattlecard de vendas citado para um concorrente rastreado. Requer plano Procompetitor_id (obrigatório)
get_strategic_timelineleituraCronologia com evidências dos movimentos do concorrente em preços, produto, pessoas, financiamento e conteúdo/redes sociaisproject_id (obrigatório), days (30, 90, 180), competitor_id, lanes, format, page
get_competitive_landscapeleituraPosições semanais atuais ou armazenadas dos concorrentes por atividade e importância estratégicaproject_id (obrigatório), week (YYYY-MM-DD), format, page
get_freshnessleituraQuando cada concorrente rastreado em um projeto foi realmente observado pela última vez e comoproject_id (obrigatório)
get_evidenceleituraAs fontes por trás dos fatos para seu produto ou um concorrente: URL, o que suporta e quando foi lidaproject_id (obrigatório), competitor_id
add_competitorescrita, opcionalAdicionar URLs de concorrentes a um projeto. Gasta créditos e enfileira análiseproject_id (obrigatório), urls (1-10, obrigatório)

project_id e competitor_id são UUIDs de list_projects e list_competitors. Ferramentas que leem sua conta só veem seus próprios dados.

Seções do relatório

get_report recebe um section para que seu assistente possa ler a parte que uma pergunta precisa em vez do relatório inteiro:

SeçãoContém
tldr, biggest-threat, blind-spots, actionsAs seções principais do relatório (actions é o que seu produto deve fazer)
battlecardsOs battlecards de vendas citados
competitorsA seção de cada concorrente na íntegra
pricing, momentum, app-store, strengths, weaknesses, key-findings, creators, ads, tech-stackUm tópico reunido da seção de cada concorrente

Um relatório tem apenas as seções para as quais tem dados; pedir qualquer outro nome retorna um erro que lista as seções que ele tem. section combina com competitor, então section: "pricing" com competitor: "Acme" retorna os preços da Acme. Alegações que a verificação de fabricação do relatório removeu aparecem como [removed — unverified], exatamente como no relatório.

Respostas longas

Toda resposta fica abaixo de 25.000 caracteres e nada é cortado silenciosamente:

  • Markdown (get_report, get_strategic_timeline, get_competitive_landscape) é dividido em páginas nos limites de seção. Cada página começa com Page N of M, quanto resta e a chamada exata para a próxima página.
  • Listas (list_universe_companies, list_competitors, list_reports) retornam pagination.next_offset; continue a partir dele até que seja null.
  • Objetos (get_universe_company, e JSON de cronologia ou panorama) limitam arrays longos e registram o limite em _capped. Um campo que ainda não cabe é listado em _omitted com a chamada que o busca.

Exemplos de prompts

  • "Analise a linear.app." (teardown_competitor)
  • "Quem são os players em ferramentas de desenvolvedor de IA?" (list_universe_companies)
  • "Resuma meu relatório mais recente e depois mostre o que meus concorrentes cobram." (list_reports, get_report com section: "pricing")
  • "Qual dos meus concorrentes mais se moveu neste trimestre e o que eles fizeram?" (get_competitive_landscape, get_strategic_timeline)
  • "Dê-me argumentos de vendas contra meu principal concorrente." (list_competitors, get_battlecard)
  • "De onde vem essa alegação de preço e quão recente ela é?" (get_evidence, get_freshness)

Configuração

VariávelObrigatóriaPadrãoDescrição
RIVALIZE_API_KEYsimnenhumSua chave de API Rivalize. Deve começar com rk_live_; o servidor sai na inicialização com uma mensagem se estiver ausente ou malformada.
RIVALIZE_API_URLnãohttps://rivalize.aiOrigem da API Rivalize. Uma chave só funciona no servidor que a emitiu: deixe isso não definido para rivalize.ai e, para um servidor Rivalize auto-hospedado ou não produção, defina para a origem desse servidor, ou toda chamada retorna 401.
RIVALIZE_MCP_ALLOW_WRITESnãodesativado1, true ou yes (qualquer maiúscula/minúscula) registra add_competitor. Qualquer outro valor, ou não definido, mantém o servidor somente leitura.
HTTPS_PROXY / HTTP_PROXYnãonenhumRoteie solicitações por um proxy corporativo. Formas minúsculas também são lidas, e HTTPS_PROXY vence quando ambos estão definidos. NO_PROXY é respeitado. Erros nomeiam o host do proxy, nunca suas credenciais.

Solução de problemas

"Conexão fechada"

Quando o servidor não consegue iniciar, muitos clientes mostram apenas "Conexão fechada" ou um status de falha. O servidor imprime o motivo como a primeira linha do seu stderr, prefixado com rivalize-mcp:, e a maioria dos clientes mantém o stderr no log do MCP. As causas usuais:

  1. RIVALIZE_API_KEY está ausente ou inválida. O log lê rivalize-mcp: RIVALIZE_API_KEY is required, ou diz que a chave não parece uma chave de API Rivalize (deve começar com rk_live_). Coloque a chave no bloco env do servidor e reinicie o cliente.
  2. Node.js é mais antigo que 22. Execute node --version e instale Node.js 22 ou mais recente. Seu cliente usa o node e npx que vêm primeiro no seu próprio PATH, que pode diferir do seu terminal.
  3. Sem acesso à rede. npx baixa o pacote na primeira execução, e toda chamada de ferramenta vai para https://rivalize.ai (ou RIVALIZE_API_URL). Atrás de um proxy corporativo, defina HTTPS_PROXY. Um erro de rede nomeia o servidor e o código de causa, como ECONNREFUSED ou ENOTFOUND.

Para ver a mensagem diretamente, execute o servidor em um terminal com a mesma chave:

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

Um servidor saudável imprime rivalize-mcp-server connected via stdio no stderr e aguarda entrada (pressione Ctrl+C para parar). Qualquer outra coisa é o motivo pelo qual seu cliente não conseguiu conectar.

Toda chamada retorna 401

A chave foi rejeitada pelo servidor para o qual foi enviada, e o erro nomeia esse servidor. Verifique se a chave não foi revogada e se RIVALIZE_API_URL está não definido, a menos que a chave tenha sido emitida por um servidor Rivalize diferente.

Uma ferramenta diz que precisa de um plano superior

Leituras estão disponíveis em todos os planos. Alguns recursos, como battlecards e histórico completo de cronologia ou panorama, precisam de um plano superior; o erro diz qual e linka para rivalize.ai/pricing.

Docker

O repositório inclui um Dockerfile que constrói o mesmo servidor stdio no Node 22 e o executa como um usuário não root.

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

Execute o contêiner com -i e sem um TTY, já que o MCP usa stdin e stdout. -e RIVALIZE_API_KEY sem valor passa a chave do ambiente do cliente, então ela nunca aparece na linha de comando do docker run. Adicione -e RIVALIZE_API_URL ou -e RIVALIZE_MCP_ALLOW_WRITES da mesma forma se você precisar deles.

Política de Privacidade

Este servidor é um cliente leve para a API Rivalize.

  • O que ele envia e para onde. Cada chamada de ferramenta se torna uma solicitação HTTPS para a API da Rivalize em https://rivalize.ai, ou a origem que você definiu em RIVALIZE_API_URL. Uma solicitação carrega sua chave de API como um token Bearer, um User-Agent de rivalize-mcp/<version> e os argumentos da ferramenta: por exemplo, um domínio de empresa, um termo de busca, um projeto, relatório ou ID de concorrente e, com gravações habilitadas, as URLs de concorrentes que você adiciona. Se você definir HTTPS_PROXY ou HTTP_PROXY, as solicitações passam por esse proxy. Nada é enviado para qualquer outro lugar.
  • O que ele não envia. Sem telemetria, análises ou relatórios de falhas. Ele não lê arquivos na sua máquina, sua conversa ou a saída de outras ferramentas; ele vê apenas os argumentos que seu cliente MCP passa para suas próprias ferramentas.
  • O que ele armazena localmente. Nada. Ele não grava arquivos, não mantém cache e não retém estado entre execuções. Sua chave vive na configuração do seu cliente MCP, não neste servidor. Mensagens de diagnóstico vão para o stderr, que seu cliente MCP pode registrar; elas nunca incluem sua chave de API.
  • O que a Rivalize faz com as solicitações. A API as processa sob a Política de Privacidade da Rivalize em rivalize.ai/privacy. A Rivalize é operada pela Downshift LLC, a controladora de dados desses dados. Perguntas sobre privacidade vão para privacy@rivalize.ai.

Segurança

Por favor, relate vulnerabilidades em particular para support@rivalize.ai com "security" na linha de assunto, não em uma issue pública. Inclua a versão do pacote (npm view @rivalize/mcp version, ou o User-Agent acima), o que você fez e o que aconteceu. Vamos reconhecer seu relatório e mantê-lo atualizado até que seja resolvido.

Trate sua chave de API como uma credencial. Mantenha-a no bloco env do seu cliente ou no ambiente do seu shell, nunca em um arquivo compartilhado ou versionado, e revogue uma chave vazada em Dashboard → Settings → API Keys.

Contribuindo

Relatórios de bugs e solicitações de recursos são bem-vindos em github.com/Downshift/rivalize-mcp/issues. Para dúvidas sobre conta e cobrança, envie um e-mail para support@rivalize.ai.

Para trabalhar no servidor localmente:

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 é a entrada do MCP Registry. Os testes a validam contra o esquema oficial (incluído em schema/) e verificam se nome, versão e pacote correspondem a package.json.

Changelog

0.3.2

  • list_competitors agora informa ao seu assistente como escolher um concorrente principal: pela posição do rival no seu Brief (brief.standing) quando a API a retorna, caso contrário, por momentum_score. threat_level é descrito como o que é, a faixa da pontuação de momentum, e não é mais oferecido como um ranking.
  • Quando a posição de uma linha ainda está sendo lida (brief.state é deferred), list_competitors solicita a mesma página novamente, até 4 vezes, com 1,5 segundos de intervalo. Contra uma API que não retorna brief, ele faz uma solicitação por chamada como antes.
  • Redação mais clara na dica de 401 para um servidor Rivalize auto-hospedado ou não-produção, e na descrição de add_competitor.

0.3.1

  • A versão a partir da qual o histórico deste repositório começa: treze ferramentas somente leitura, a ferramenta de gravação opcional add_competitor, respostas mantidas abaixo de 25.000 caracteres com paginação explícita, suporte a proxy e a entrada do MCP Registry em server.json.

Licença

MIT, © 2026 Downshift LLC. Veja LICENSE.