Rivalize

공식

에이전트를 위한 경쟁 정보: 경쟁사 분석, 가격, 광고, 리뷰 및 모멘텀. 기본적으로 읽기 전용입니다.

Rivalize MCP(으)로 무엇을 할 수 있나요?

  • 경쟁사 분석 — teardown_competitor를 통해 모든 경쟁사의 포지셔닝, 가격, 광고, 소셜 프레즌스, 리뷰, 채용, 모멘텀에 대한 원콜 전략 분석을 요청하세요.
  • 유니버스 검색 — list_universe_companies로 Rivalize의 추적 기업 교차 고객 데이터셋을 키워드, 카테고리 또는 레이어별로 검색하세요.
  • 보고서 탐색 — get_report를 사용하여 저장된 보고서에서 가격이나 배틀카드 같은 특정 섹션이나 경쟁사 세부 정보를 불러오세요.
  • 경쟁사 추적 — list_competitors로 추적 중인 경쟁사의 모멘텀 점수, 위협 수준, Brief 순위를 확인하세요.
  • 근거 검증 — get_evidence와 get_freshness를 사용하여 모든 주장의 출처와 각 경쟁사가 마지막으로 관찰된 시점을 확인하세요.
  • 경쟁사 추가 — add_competitor를 통해 프로젝트에 경쟁사 URL을 추가하여 크레딧을 사용하고 분석을 대기열에 넣을 수 있습니다.

문서

Rivalize MCP 서버

npm License: MIT

출처가 명시되고 날짜가 표시된 경쟁 정보를 Model Context Protocol을 통해 AI 어시스턴트에 제공합니다.

기능

이 서버는 Claude, Cursor 또는 기타 MCP 클라이언트를 Rivalize에 연결합니다. 어시스턴트는 한 번의 호출로 경쟁사의 포지셔닝, 가격, 광고, 소셜 활동, 리뷰, 채용, 모멘텀을 분석하고, Rivalize가 추적하는 기업 검색, 그리고 Rivalize 계정의 프로젝트, 보고서, 배틀카드, 타임라인, 증거 자료를 읽을 수 있습니다. 모든 답변은 모델의 기억이 아닌 Rivalize가 수집한 날짜와 출처가 포함된 데이터에서 나옵니다.

서버는 기본적으로 읽기 전용입니다. RIVALIZE_MCP_ALLOW_WRITES=1로 옵트인하면 add_competitor라는 하나의 쓰기 도구를 사용할 수 있습니다.

빠른 시작

Node.js 22 이상 필요 (node --version).

  1. rivalize.ai에서 계정을 만듭니다.
  2. 대시보드 → 설정 → API 키에서 API 키를 생성합니다. 키는 rk_live_로 시작합니다. 무료 플랜을 포함한 모든 플랜의 키가 작동하며, 무료 플랜은 읽기 속도 제한이 있습니다.
  3. 아래 블록 중 하나를 사용하여 서버를 클라이언트에 추가합니다.

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읽기한 기업의 전체 유니버스 프로필: 신원, 가격, 기능, 광고, 소셜, 리뷰, 자금, 채용, 순위, 신호, 모멘텀domain (필수), layers
list_projects읽기계정의 프로젝트 목록; 다른 도구들이 사용하는 project_id 반환없음
list_reports읽기최신순 보고서 목록. 읽기는 보고서를 생성하지 않습니다project_id, limit (1-100), offset
get_report읽기하나의 보고서를 Markdown으로, 전체 또는 섹션별 또는 경쟁사별로 제공report_id (필수), section, competitor, page
list_competitors읽기추적 중인 경쟁사 목록, 모멘텀 점수, 위협 수준 구간, API가 제공하는 경우 각 경쟁사의 Brief 대비 순위project_id, limit (1-100), offset
get_competitor_intelligence읽기추적 중인 경쟁사 하나의 최신 저장 정보; 측정된 필드만 존재competitor_id (필수)
get_battlecard읽기추적 중인 경쟁사 하나의 인용 포함 영업 배틀카드. 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읽기제품 또는 경쟁사 하나의 사실 뒤에 있는 출처: 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과 결합되므로, competitor: "Acme"이 있는 section: "pricing"는 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.aiRivalize 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: 접두사와 함께 이유를 출력하며, 대부분의 클라이언트는 MCP 로그에 stderr를 유지합니다. 일반적인 원인:

  1. RIVALIZE_API_KEY가 누락되었거나 잘못되었습니다. 로그에 rivalize-mcp: RIVALIZE_API_KEY is required가 표시되거나 키가 Rivalize API 키처럼 보이지 않는다고 표시됩니다 (rk_live_로 시작해야 합니다). 서버의 env 블록에 키를 넣고 클라이언트를 다시 시작하세요.
  2. Node.js가 22보다 오래되었습니다. node --version를 실행하고 Node.js 22 이상을 설치하세요. 클라이언트는 자체 PATH에서 가장 먼저 나오는 node 및 npx를 사용하며, 이는 터미널의 것과 다를 수 있습니다.
  3. 네트워크 접근이 없습니다. npx는 첫 실행 시 패키지를 다운로드하고, 모든 도구 호출은 https://rivalize.ai (또는 RIVALIZE_API_URL)로 이동합니다. 기업 프록시 뒤에서는 HTTPS_PROXY를 설정하세요. 네트워크 오류는 서버 이름과 원인 코드(예: ECONNREFUSED 또는 ENOTFOUND)를 명시합니다.

메시지를 직접 보려면 동일한 키로 터미널에서 서버를 실행하세요:

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

정상 서버는 stderr에 rivalize-mcp-server connected via stdio를 출력하고 입력을 기다립니다 (중지하려면 Ctrl+C). 다른 것은 클라이언트가 연결할 수 없는 이유입니다.

모든 호출이 401 반환

키가 전송된 서버에서 거부되었으며 오류가 해당 서버를 명시합니다. 키가 취소되지 않았는지, 그리고 키가 다른 Rivalize 서버에서 발급되지 않은 경우 RIVALIZE_API_URL가 설정되지 않았는지 확인하세요.

도구가 더 높은 플랜이 필요하다고 표시

읽기는 모든 플랜에서 사용 가능합니다. 배틀카드, 전체 타임라인 또는 랜드스케이프 기록과 같은 일부 기능은 더 높은 플랜이 필요합니다. 오류는 어떤 플랜이 필요한지 명시하고 rivalize.ai/pricing에 링크합니다.

Docker

저장소에는 Node 22에서 동일한 stdio 서버를 빌드하고 비루트 사용자로 실행하는 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 요청이 됩니다. 요청에는 Bearer 토큰으로 API 키, User-Agent의 rivalize-mcp/<version>, 그리고 도구의 인수가 포함됩니다. 예를 들어 회사 도메인, 검색어, 프로젝트, 보고서 또는 경쟁업체 ID, 그리고 쓰기 기능이 활성화된 경우 추가한 경쟁업체 URL이 포함됩니다. HTTPS_PROXY 또는 HTTP_PROXY를 설정하면 요청이 해당 프록시를 통해 전달됩니다. 다른 곳으로는 아무것도 전송되지 않습니다.
  • 전송되지 않는 내용. 텔레메트리, 분석 또는 크래시 리포트가 없습니다. 사용자의 컴퓨터에 있는 파일, 대화 내용 또는 다른 도구의 출력을 읽지 않습니다. MCP 클라이언트가 자체 도구에 전달하는 인수만 볼 수 있습니다.
  • 로컬에 저장되는 내용. 없음. 파일을 쓰지 않고, 캐시를 유지하지 않으며, 실행 간 상태를 보관하지 않습니다. 키는 이 서버가 아닌 MCP 클라이언트의 구성에 있습니다. 진단 메시지는 stderr로 전송되며, MCP 클라이언트가 로그할 수 있습니다. 여기에는 API 키가 절대 포함되지 않습니다.
  • Rivalize가 요청으로 수행하는 작업. API는 rivalize.ai/privacy의 Rivalize 개인정보 보호정책에 따라 요청을 처리합니다. Rivalize는 해당 데이터의 데이터 컨트롤러인 Downshift LLC가 운영합니다. 개인정보 관련 문의는 privacy@rivalize.ai로 보내주세요.

보안

취약점은 공개 이슈가 아닌 support@rivalize.ai로 제목에 "security"를 포함하여 비공개로 신고해 주세요. 패키지 버전(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은(는) 1.5초 간격으로 최대 4회 동일한 페이지를 요청합니다. brief을(를) 반환하지 않는 API에 대해서는 이전과 같이 호출당 한 번의 요청을 수행합니다.
  • 자체 호스팅 또는 비프로덕션 Rivalize 서버에 대한 401 힌트와 add_competitor 설명에서 더 명확한 문구.

0.3.1

  • 이 저장소의 기록이 시작되는 버전: 13개의 읽기 전용 도구, 옵트인 add_competitor 쓰기 도구, 명시적 페이징으로 25,000자 미만으로 유지되는 응답, 프록시 지원, server.json의 MCP 레지스트리 항목.

라이선스

MIT, © 2026 Downshift LLC. LICENSE를 참조하세요.