MCP Integration

Your AI assistant already knows what your competitors are doing.

Connect Claude, Cursor, Windsurf, or any MCP-compatible AI agent directly to your RivalCheck data. Ask questions in plain English, get competitive intelligence instantly.

Background

What is MCP?

The short version

Model Context Protocol (MCP) is an open standard that lets AI assistants like Claude connect directly to your tools and data. Instead of copying data from RivalCheck and pasting it into ChatGPT, you simply ask your AI assistant about your competitors and it pulls the data itself.

MCP explained simply

Think of MCP as a universal adapter between AI assistants and software tools. Just as USB-C lets you connect any device to any computer, MCP lets any AI assistant connect to any compatible application, including RivalCheck.

Before MCP, getting competitive intelligence into an AI conversation meant manually exporting data, copying text, or taking screenshots. With MCP, your AI assistant can query RivalCheck directly, in real time, as part of a natural conversation.

Why it matters for competitive intelligence

Competitive intelligence is most valuable when it is available at the moment of decision. MCP makes that possible. Instead of logging into RivalCheck, finding the right competitor, navigating to the right change, and then summarising it for your team, you can simply ask:

"What pricing changes have our competitors made in the last two weeks?"

Your AI assistant calls RivalCheck's MCP server behind the scenes, retrieves the data, and presents a clear summary, all within seconds. This transforms competitive intelligence from a periodic research task into an always-available resource embedded in your daily workflow.

How MCP differs from a traditional API

REST API MCP Server
Who uses it Developers writing code AI assistants on your behalf
How you interact HTTP requests with JSON Natural language questions
Integration effort Write and maintain code Add config file, done
Best for Custom integrations, dashboards Ad-hoc analysis, brainstorming, prep

RivalCheck provides both. Use the REST API for programmatic integrations and the MCP server for AI-powered workflows. They share the same API key.

The vision: competitive intelligence on demand

With MCP, competitive intelligence becomes a capability your AI assistant simply has. Preparing for a sales call? Your assistant already knows the prospect uses a competitor and what that competitor just changed. Writing a product brief? It can pull in competitive positioning data without you lifting a finger. This is the future of AI-powered competitive intelligence, and RivalCheck's MCP server makes it available today.

Getting Started

Setup Guides

Before you begin, you will need a RivalCheck API key. Go to Settings and click "Generate API Key". Your key will start with rc_live_.

C

Claude Desktop

Step 1: Open your Claude Desktop config file

On macOS, open this file in any text editor (create it if it does not exist):

~/Library/Application Support/Claude/claude_desktop_config.json

On Windows: %APPDATA%\Claude\claude_desktop_config.json

Step 2: Add the RivalCheck MCP server

Add the following to your config file. Replace rc_live_YOUR_KEY with your actual API key:

{
  "mcpServers": {
    "rivalcheck": {
      "command": "npx",
      "args": ["-y", "@rivalcheck/mcp-server"],
      "env": {
        "RIVALCHECK_API_KEY": "rc_live_YOUR_KEY"
      }
    }
  }
}

Step 3: Restart Claude Desktop

Quit and reopen Claude Desktop. You should see a hammer icon in the bottom-right corner of the input area, indicating MCP tools are available.

Step 4: Verify the connection

Click the hammer icon to see available RivalCheck tools. Then test with a prompt:

"List all my monitored competitors"

Claude will ask for permission to use the list_competitors tool the first time. Click "Allow" to proceed.

>_

Claude Code (CLI)

Option A: Add via command line

The quickest way to add RivalCheck to Claude Code:

claude mcp add rivalcheck -- npx -y @rivalcheck/mcp-server \
  --env RIVALCHECK_API_KEY=rc_live_YOUR_KEY

Option B: Edit settings directly

Add the following to .claude/settings.json in your project root or home directory:

{
  "mcpServers": {
    "rivalcheck": {
      "command": "npx",
      "args": ["-y", "@rivalcheck/mcp-server"],
      "env": {
        "RIVALCHECK_API_KEY": "rc_live_YOUR_KEY"
      }
    }
  }
}

Verify the connection

Start Claude Code and ask:

"What competitors am I tracking in RivalCheck?"
Cu

Cursor

Workspace setup (recommended)

Create a file at .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "rivalcheck": {
      "command": "npx",
      "args": ["-y", "@rivalcheck/mcp-server"],
      "env": {
        "RIVALCHECK_API_KEY": "rc_live_YOUR_KEY"
      }
    }
  }
}

Global setup

To make RivalCheck available in every Cursor project, add the same config to:

~/.cursor/mcp.json

Verify the connection

Open Cursor Settings, navigate to the MCP section, and confirm that "rivalcheck" appears as a connected server with a green status indicator. Then test in Cursor's AI chat by asking about your competitors.

W

Windsurf

Add to Windsurf config

Open your Windsurf MCP configuration file at ~/.windsurf/mcp.json and add:

{
  "mcpServers": {
    "rivalcheck": {
      "command": "npx",
      "args": ["-y", "@rivalcheck/mcp-server"],
      "env": {
        "RIVALCHECK_API_KEY": "rc_live_YOUR_KEY"
      }
    }
  }
}

Verify

Restart Windsurf and use the Cascade AI chat to ask about your competitive landscape. The RivalCheck tools will appear when Cascade needs to fetch competitor data.

{}

Custom MCP Clients

Any application that supports MCP can connect to RivalCheck. The server is distributed as an npm package that runs as a stdio transport.

Command

npx -y @rivalcheck/mcp-server

Environment variables

Variable Required Description
RIVALCHECK_API_KEY Yes Your RivalCheck API key (starts with rc_live_)
RIVALCHECK_API_URL No API base URL. Defaults to https://app.rivalcheck.com/api/v1

Reference

Available Tools

These are the tools your AI assistant can invoke when connected to RivalCheck via MCP. You do not need to call them directly. Simply ask a question and the AI will choose the right tool.

TOOL list_competitors

Returns all competitors your organisation is monitoring, including their status, number of tracked pages, and when they were last checked.

Parameters

None

Example prompt

"Show me all the competitors we're tracking"

Example response

{
  "competitors": [
    {
      "id": 42,
      "name": "Acme Corp",
      "website_url": "https://acme.com",
      "status": "active",
      "monitored_pages_count": 5,
      "changes_count": 23,
      "last_checked_at": "2026-03-23T14:30:00Z"
    },
    {
      "id": 43,
      "name": "Globex Inc",
      "website_url": "https://globex.io",
      "status": "active",
      "monitored_pages_count": 3,
      "changes_count": 8,
      "last_checked_at": "2026-03-23T14:32:00Z"
    }
  ]
}
TOOL get_competitor

Returns detailed information about a specific competitor including all monitored pages, recent changes, and battle card availability.

Parameters

competitor_id integer — Required. The ID of the competitor.

Example prompt

"Tell me everything about Acme Corp as a competitor"

Example response

{
  "competitor": {
    "id": 42,
    "name": "Acme Corp",
    "website_url": "https://acme.com",
    "status": "active",
    "monitored_pages": [
      { "url": "https://acme.com/pricing", "label": "Pricing" },
      { "url": "https://acme.com/about", "label": "About" },
      { "url": "https://acme.com/products", "label": "Products" }
    ],
    "recent_changes_count": 5,
    "has_battle_card": true,
    "battle_card_updated_at": "2026-03-20T10:00:00Z",
    "created_at": "2026-01-15T09:00:00Z"
  }
}
TOOL get_changes

Retrieves detected changes across all competitors or filtered by specific criteria. This is the primary tool for understanding what has changed in your competitive landscape.

Parameters

severity string — Optional. Filter by severity: minor, moderate, major
type string — Optional. Filter by change type: pricing, messaging, product, positioning, team, other
competitor_id integer — Optional. Filter to a specific competitor.
since string — Optional. ISO 8601 date. Only return changes after this date.
search string — Optional. Full-text search query.
limit integer — Optional. Maximum results to return (default: 25, max: 100).

Example prompt

"What major changes have our competitors made to their pricing in the last month?"

Example response

{
  "changes": [
    {
      "id": 301,
      "competitor": "Acme Corp",
      "competitor_id": 42,
      "page_url": "https://acme.com/pricing",
      "change_type": "pricing",
      "severity": "major",
      "summary": "Increased Pro plan from $49/mo to $79/mo. Added new Enterprise tier at $199/mo.",
      "detected_at": "2026-03-18T08:15:00Z"
    }
  ],
  "total_count": 1
}
TOOL get_change_detail

Returns the full analysis of a specific change including the AI-generated strategic assessment, before/after details, and recommended actions.

Parameters

change_id integer — Required. The ID of the change to inspect.

Example prompt

"Give me the full details on that Acme pricing change"

Example response

{
  "change": {
    "id": 301,
    "competitor": "Acme Corp",
    "page_url": "https://acme.com/pricing",
    "change_type": "pricing",
    "severity": "major",
    "summary": "Increased Pro plan from $49/mo to $79/mo...",
    "analysis": "Acme is moving upmarket. The 61% price increase on their Pro plan and the new Enterprise tier at $199/mo suggest they are shifting focus toward larger customers. This creates an opportunity to capture price-sensitive SMBs who may churn from Acme.",
    "recommended_actions": [
      "Consider launching a competitive migration offer targeting Acme Pro customers",
      "Update battle cards to highlight pricing advantage",
      "Monitor for customer churn signals on social media"
    ],
    "detected_at": "2026-03-18T08:15:00Z"
  }
}
TOOL get_battle_card

Retrieves the AI-generated battle card for a competitor. Battle cards include competitive positioning, strengths and weaknesses, objection handling, and win strategies. See the battle cards guide for more.

Parameters

competitor_id integer — Required. The competitor to get a battle card for.
format string — Optional. One of full, markdown, or structured. Defaults to full.

Example prompt

"Get me the battle card for Acme Corp in markdown format"

Example response

{
  "battle_card": {
    "competitor": "Acme Corp",
    "updated_at": "2026-03-20T10:00:00Z",
    "format": "markdown",
    "content": "# Acme Corp Battle Card\n\n## Overview\nAcme Corp is a mid-market SaaS platform...\n\n## Key Strengths\n- Strong brand recognition...\n\n## Weaknesses\n- Recent 61% price increase on Pro plan...\n\n## Win Strategy\n- Lead with pricing advantage...\n\n## Common Objections\n- \"Acme has more integrations\"..."
  }
}
TOOL generate_battle_card

Triggers generation or refresh of a battle card for a competitor. This uses AI to analyse all collected data and produce an up-to-date battle card. The generation happens asynchronously; the tool returns immediately with a status.

Parameters

competitor_id integer — Required. The competitor to generate a battle card for.

Example prompt

"Regenerate the battle card for Acme Corp with the latest data"

Example response

{
  "status": "generating",
  "message": "Battle card generation started for Acme Corp. It will be ready in approximately 30 seconds.",
  "competitor_id": 42
}
TOOL get_landscape

Returns a high-level overview of your entire competitive landscape, including activity scores, change trends, and a competitive positioning summary across all monitored competitors.

Parameters

None

Example prompt

"Give me an overview of the competitive landscape"

Example response

{
  "landscape": {
    "total_competitors": 6,
    "total_changes_30d": 34,
    "most_active_competitor": "Acme Corp",
    "competitors": [
      {
        "name": "Acme Corp",
        "activity_score": 8.5,
        "changes_30d": 12,
        "top_change_type": "pricing"
      },
      {
        "name": "Globex Inc",
        "activity_score": 5.2,
        "changes_30d": 8,
        "top_change_type": "messaging"
      }
    ]
  }
}
TOOL search_changes

Full-text search across all detected changes. Useful for finding specific topics, features, or patterns across your entire competitive data set.

Parameters

query string — Required. The search query.
severity string — Optional. Filter by severity.
type string — Optional. Filter by change type.

Example prompt

"Search for any competitor changes related to AI or machine learning features"

Example response

{
  "results": [
    {
      "id": 289,
      "competitor": "Globex Inc",
      "summary": "Added 'AI-Powered Analytics' section to product page...",
      "change_type": "product",
      "severity": "moderate",
      "detected_at": "2026-03-15T11:20:00Z"
    }
  ],
  "total_count": 3,
  "query": "AI machine learning"
}
TOOL add_competitor

Adds a new competitor to your monitoring list. RivalCheck will automatically discover key pages (pricing, about, products) and begin monitoring. Subject to your plan's competitor limit.

Parameters

website_url string — Required. The competitor's website URL.
name string — Optional. Display name. Auto-detected if omitted.

Example prompt

"Start monitoring newcompetitor.com"

Example response

{
  "competitor": {
    "id": 55,
    "name": "New Competitor",
    "website_url": "https://newcompetitor.com",
    "status": "discovering",
    "message": "Discovery started. Key pages will be identified within a few minutes."
  }
}
TOOL get_account

Returns information about your RivalCheck account including current plan, usage limits, and remaining API quota.

Parameters

None

Example prompt

"How many API requests do I have left today?"

Example response

{
  "account": {
    "organisation": "My Company",
    "plan": "Pro",
    "competitors_limit": 25,
    "competitors_used": 6,
    "api_requests_today": 142,
    "api_requests_limit": 1000
  }
}

MCP Resources

Available Resources

MCP resources provide read-only data that AI assistants can access as context without explicitly calling a tool. Think of them as background knowledge your AI always has available.

rivalcheck://competitors

A list of all monitored competitors with their current status and activity level. This resource is automatically included as context when relevant, so your AI assistant always knows which competitors you are tracking without needing to make a separate tool call.

rivalcheck://landscape

A summary of your competitive landscape including aggregate statistics, most active competitors, and trending change types. Gives your AI assistant a high-level understanding of what is happening competitively without requiring a detailed query.

rivalcheck://changes/recent

The most recent changes detected across all competitors (last 7 days). Provides immediate context so your AI assistant can proactively reference recent competitive developments when relevant to your conversation.

Use Cases

Real-World Workflows

Here is how teams are using RivalCheck's MCP server in practice. Each workflow shows the natural language prompt, which tools are invoked, and what you get back.

1

Sales call prep

You have a demo with a prospect who currently uses a competitor. Get everything you need in 30 seconds.

Your prompt

"I have a sales call with a prospect that uses Acme Corp. Give me the latest battle card and any recent changes to their pricing or product pages."

get_battle_card get_changes

Result: Your AI assistant presents the battle card with win strategies and objection handling, plus a summary of Acme's recent pricing increase, giving you a clear advantage going into the conversation.

2

Weekly competitive briefing for Slack

Generate a formatted competitive update to share in your team's Slack channel every Monday morning.

Your prompt

"Write a weekly competitive briefing covering all changes from the past 7 days. Format it for Slack with emoji headers and bullet points. Group by competitor."

get_changes get_landscape

Result: A ready-to-paste Slack message organised by competitor with severity indicators, change summaries, and strategic implications, ready to be posted in your competitive intelligence channel.

3

Pricing intelligence report

Your product team wants to adjust pricing. Get a complete view of competitor pricing movements to inform the decision.

Your prompt

"Compile a pricing intelligence report. Show me all pricing changes across all competitors in the last 90 days, their current pricing structures, and identify any trends."

get_changes get_change_detail list_competitors

Result: A structured report showing pricing trends, who raised prices, who lowered them, the average price movement, and strategic implications for your own pricing decision.

4

Board deck competitive section

Quickly draft the competitive landscape section for a board presentation.

Your prompt

"I need a competitive landscape summary for our board deck. Include the top 3 competitor moves this quarter, our positioning relative to competitors, and key risks to flag."

get_landscape get_changes get_battle_card

Result: Three concise slides' worth of content covering competitive movements, market positioning, and strategic risks, formatted and ready for your presentation.

5

Product roadmap competitive input

Inform your next quarter's roadmap with intelligence about what competitors are building.

Your prompt

"What product and feature changes have competitors made recently? I want to identify feature gaps and decide what to prioritise for Q2."

get_changes search_changes

Result: A feature-by-feature competitive analysis showing what competitors launched, what they are signalling, and where the gaps and opportunities lie for your product roadmap.

6

Win/loss analysis support

After losing a deal to a competitor, understand what might have influenced the outcome.

Your prompt

"We just lost a deal to Globex Inc. What has Globex changed on their site in the last 60 days that might explain why prospects are choosing them?"

get_competitor get_changes get_battle_card

Result: A detailed analysis of Globex's recent improvements including messaging changes, new features highlighted, pricing adjustments, and their current competitive positioning, helping you identify patterns in deal losses.

7

New market entry research

You are expanding into a new market segment and need to understand the competitive dynamics quickly.

Your prompt

"Start monitoring these three new competitors in the enterprise segment: enterprise-rival1.com, enterprise-rival2.com, and enterprise-rival3.com. Then give me an initial landscape overview once discovery completes."

add_competitor get_landscape

Result: Three new competitors added and discovery initiated. Within minutes, RivalCheck identifies their key pages and begins monitoring. Your AI assistant can then summarise their positioning, pricing, and messaging for your market entry strategy.

8

Content strategy competitive gap analysis

Identify messaging and positioning gaps you can exploit in your content marketing.

Your prompt

"Analyse how our competitors are positioning themselves on their about and product pages. What messaging themes are they all using? Where are the gaps we could own?"

list_competitors search_changes get_battle_card

Result: A messaging matrix showing common competitor themes (e.g., "AI-powered", "enterprise-ready"), messaging trends (what is gaining emphasis), and whitespace opportunities, giving your content team clear differentiation angles.

9

Investor update competitive section

Draft a concise competitive update for your monthly investor report.

Your prompt

"Write a 3-paragraph competitive update for our investor report. Cover the most significant moves, our relative position, and what it means for our strategy."

get_landscape get_changes

Result: A polished, executive-level competitive summary written in investor-friendly language, citing specific competitor actions and their strategic implications.

10

Morning competitive triage

Start your day by quickly reviewing overnight competitive changes and deciding what needs attention.

Your prompt

"What competitive changes were detected overnight? Rank them by impact and tell me which ones need immediate attention."

get_changes get_change_detail

Result: A prioritised list of overnight changes with severity ratings, quick summaries, and clear recommendations for which ones to escalate, review, or skip, completing your competitive triage in under a minute.

Power User

Advanced Usage

Chaining tools together

AI assistants connected via MCP can chain multiple RivalCheck tools in a single conversation turn. For example, asking "Give me a competitive briefing for my meeting with Acme's ex-customer" might trigger get_battle_card, then get_changes filtered for the competitor, then synthesise everything into a briefing document. You do not need to orchestrate this; the AI handles tool selection and sequencing automatically.

For complex analyses, be specific about what you want. The more context you give in your prompt, the better the AI can select and combine the right tools.

Using with other MCP servers

RivalCheck's MCP server works alongside other MCP servers, unlocking powerful combined workflows. Add multiple servers to your config to enable cross-tool workflows:

{
  "mcpServers": {
    "rivalcheck": {
      "command": "npx",
      "args": ["-y", "@rivalcheck/mcp-server"],
      "env": { "RIVALCHECK_API_KEY": "rc_live_YOUR_KEY" }
    },
    "slack": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-slack"],
      "env": { "SLACK_BOT_TOKEN": "xoxb-..." }
    },
    "notion": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-notion"],
      "env": { "NOTION_API_KEY": "secret_..." }
    }
  }
}

Example combined workflows:

  • RivalCheck + Slack: "Post this week's competitive briefing to #competitive-intel on Slack"
  • RivalCheck + Notion: "Update the competitor comparison table in our Notion workspace with the latest data"
  • RivalCheck + Filesystem: "Export all battle cards as markdown files in my project's docs folder"
  • RivalCheck + Google Sheets: "Add the latest pricing changes to our competitive pricing tracker spreadsheet"

Building automated workflows

For recurring competitive intelligence tasks, combine MCP with RivalCheck's webhook notifications and REST API. See our automation guide for detailed patterns.

A common pattern: use webhooks to trigger a notification when a major change is detected, then use MCP in your AI assistant to investigate and draft a response. The webhook gives you immediacy; MCP gives you depth.

Rate limiting considerations

MCP tool calls count against your API rate limit of 1,000 requests per day. Each tool invocation is one request. In normal conversational usage this is more than sufficient. A typical competitive briefing workflow uses 3-5 API calls.

If you are building automated systems that make many requests, consider using the REST API directly for bulk operations and reserving MCP for interactive, conversational use. You can check your current usage with the get_account tool.

Support

Troubleshooting

"Could not connect to MCP server" or server not appearing

Cause: The MCP server process failed to start, usually because Node.js is not installed or npx is not available in your PATH.

Fix:

  • Ensure Node.js 18 or later is installed: run node --version in your terminal
  • Ensure npx is available: run npx --version
  • If using Claude Desktop on macOS, ensure your terminal profile loads Node.js (check your .zshrc or .bash_profile)
  • Restart the application after making changes to the config file

"Authentication failed" or 401 errors

Cause: Your API key is missing, invalid, or expired.

Fix:

  • Verify your API key in Settings
  • Ensure the key starts with rc_live_
  • Check that you have not accidentally included extra spaces or quotes around the key in your config
  • If the key was recently revoked, generate a new one and update your config

"Rate limit exceeded" or 429 errors

Cause: You have exceeded the 1,000 requests/day API limit.

Fix:

  • Wait until the limit resets (midnight UTC)
  • Use get_account to check your current usage
  • If you consistently hit the limit, consider upgrading your plan at Pricing

Tools appear but return empty results

Cause: Your RivalCheck account may not have any competitors added, or competitors are still in discovery.

Fix:

  • Add at least one competitor in the RivalCheck dashboard or via the add_competitor tool
  • Wait for discovery to complete (typically 2-5 minutes for a new competitor)
  • Changes are detected on the regular monitoring schedule; new competitors may not have changes yet

Environment variable not being read

Cause: The RIVALCHECK_API_KEY environment variable is not being passed to the MCP server process.

Fix:

  • Ensure the env block is inside the rivalcheck server config, not at the top level
  • Verify JSON syntax is valid (no trailing commas, correct nesting)
  • Some editors add smart quotes, which will break the config. Use a code editor to be sure.
  • Try running the server manually to verify: RIVALCHECK_API_KEY=rc_live_YOUR_KEY npx -y @rivalcheck/mcp-server

Common Questions

Frequently Asked Questions

Is my competitive intelligence data sent to third parties?

No. When you use MCP with Claude, Cursor, or any other client, the MCP server runs locally on your machine and communicates directly with the RivalCheck API. Your data flows from RivalCheck's servers to the MCP server on your machine to your AI assistant. No competitive intelligence data is stored by or shared with the MCP client provider. The AI assistant processes the data in-context but does not retain it after the conversation. See our privacy policy for details.

How fresh is the data from MCP tools?

MCP tools return live data from RivalCheck's API. The data is as fresh as your latest monitoring cycle. RivalCheck checks competitor pages on a regular schedule (frequency depends on your plan), so data is typically no more than 24 hours old. When you call a tool like get_changes, you are getting real-time results from RivalCheck's database, not cached data.

What happens when I hit the rate limit?

If you exceed 1,000 API requests in a day, subsequent MCP tool calls will return a rate limit error. Your AI assistant will inform you that the limit has been reached. The limit resets at midnight UTC. In practice, most teams use between 50-200 API requests per day through MCP. If you need higher limits, contact us or check our pricing page for plans with higher quotas.

Can multiple team members use the same API key?

Yes, but we recommend generating individual API keys for each team member. API keys are scoped to your organisation, so all team members see the same competitive data. Individual keys make it easier to track usage, revoke access when someone leaves, and debug issues. You can generate and manage keys in your Settings.

Do I need a paid plan to use MCP?

MCP access requires an active RivalCheck account with API access enabled. API access is included in all paid plans. Check our pricing page for details on which plans include API and MCP access.

Which AI models work with MCP?

MCP is an open protocol supported by a growing number of AI applications. Currently, Claude (Desktop and Code), Cursor, and Windsurf have production-quality MCP support. Any application that implements the MCP client specification can connect to RivalCheck. As more AI tools adopt MCP, they will automatically be able to use RivalCheck's competitive intelligence data.

Can I use MCP and the REST API at the same time?

Absolutely. MCP and the REST API share the same underlying data and the same API key. Use MCP for interactive, conversational workflows and the REST API for programmatic integrations, dashboards, and automated pipelines. They complement each other. See the API documentation and competitive intelligence API guide for more.

Ready to connect your AI to competitive intelligence?

Get started in under two minutes. Generate an API key, add the MCP config, and start asking your AI assistant about your competitors.