Competlab MCP Server

Communauté E-commerce

Competitive intelligence: monitor competitors' prices, content, positioning and tech stacks, and track how AI assistants rank your brand.

Installation

Les étapes d'installation sont dans la documentation ci-dessous. Documentation

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. CompetLab MCP Server
  2. Supported Clients
  3. Quick Start
  4. What is CompetLab?
  5. Available Tools
  6. Example Prompts
  7. Authentication
  8. Troubleshooting
  9. Links
  10. Support
  11. License

CompetLab MCP Server

Competitive intelligence for AI agents — see where AI sends your buyers, and what to do about it.

More B2B buyers are asking AI before they Google. CompetLab monitors competitors across 6 dimensions — including AI Visibility, which tracks which brands ChatGPT, Claude, Gemini, Perplexity and Google AI Overviews recommend, and AI Sources, the pages Perplexity and Google AI Overviews read when they answer your buyers' questions. This MCP server gives your AI agent access to all of it: dashboards, historical data, alerts, the Strategic Briefing, and the project's Strategic Tickets board.

Supported Clients

Works with any MCP-compatible client:

Quick Start

Two ways to connect — pick the one that fits your setup:

Remote ServerLocal Server
TransportStreamable HTTPstdio
SetupZero install — just add URLnpm install && npm run build
Best forMost users — Claude Code, Cursor, VS Code, Windsurf, ClineClaude Desktop, Glama, or running the process yourself

Get your API key: app.competlab.com > Organization Settings > API Keys

Server URL: https://mcp.competlab.com/mcp Auth: API key via CL-API-Key header (or api_key query parameter)

Claude Code
claude mcp add --transport http \
  --header "CL-API-Key: YOUR_COMPETLAB_API_KEY" \
  competlab https://mcp.competlab.com/mcp
Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "competlab": {
      "url": "https://mcp.competlab.com/mcp",
      "headers": {
        "CL-API-Key": "YOUR_COMPETLAB_API_KEY"
      }
    }
  }
}
VS Code

Add to .vscode/mcp.json:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "competlab-api-key",
      "description": "CompetLab API Key (starts with cl_live_)",
      "password": true
    }
  ],
  "servers": {
    "competlab": {
      "type": "http",
      "url": "https://mcp.competlab.com/mcp",
      "headers": {
        "CL-API-Key": "${input:competlab-api-key}"
      }
    }
  }
}

Note: VS Code uses "servers" (not "mcpServers") and supports secure input prompts via ${input:id}.

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "competlab": {
      "serverUrl": "https://mcp.competlab.com/mcp",
      "headers": {
        "CL-API-Key": "YOUR_COMPETLAB_API_KEY"
      }
    }
  }
}

Note: Windsurf uses "serverUrl" (not "url").

Cline

Add to cline_mcp_settings.json (or configure via Cline UI > Installed > Advanced MCP Settings):

{
  "mcpServers": {
    "competlab": {
      "url": "https://mcp.competlab.com/mcp",
      "headers": {
        "CL-API-Key": "YOUR_COMPETLAB_API_KEY"
      },
      "disabled": false
    }
  }
}
Claude Desktop / Claude Web

Claude Desktop and Claude Web only support URL-based auth (no custom headers). Use the api_key query parameter:

Go to Settings > MCP and add the server with this URL:

https://mcp.competlab.com/mcp?api_key=YOUR_COMPETLAB_API_KEY
Option 2: Local Server (stdio)

Run the server locally via stdin/stdout. Useful for Claude Desktop, Glama, or environments that prefer stdio transport.

git clone https://github.com/competlab/competlab-mcp-server.git
cd competlab-mcp-server
npm install
npm run build
Claude Code
claude mcp add --transport stdio \
  --env COMPETLAB_API_KEY=YOUR_COMPETLAB_API_KEY \
  competlab node dist/index.js
Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "competlab": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/path/to/competlab-mcp-server",
      "env": {
        "COMPETLAB_API_KEY": "YOUR_COMPETLAB_API_KEY"
      }
    }
  }
}
Generic stdio
COMPETLAB_API_KEY=YOUR_COMPETLAB_API_KEY node dist/index.js

The server reads JSON-RPC from stdin and writes responses to stdout.

See examples/ for ready-to-paste config files for each client.

What is CompetLab?

Competitive intelligence for the AI era: 14 dimensions — 6 monitored continuously, plus 8 leading-edge dimensions researched for a Strategic Briefing every month, or every two weeks on Process. The six monitored dimensions:

DimensionWhat It Tracks
AI VisibilityWhich companies ChatGPT, Claude, Gemini, Perplexity and Google AI Overviews recommend in your category, how often each is named, and where you stand
AI SourcesThe pages Perplexity and Google AI Overviews read when they answer your buyers' questions, and whether you are on them
PositioningWhat each company says on its homepage as the page says it, what you say that nobody else does, what changed, and what pages say about you
PricingWhat each company charges as its pricing page shows it, what typical setups cost cheapest first and where you stand, what changed, and what pages say about you
ContentSitemap analysis, content categorization (12 categories), URL changelog, content gaps
Tech & TrustTech stacks, security headers (grade A-F), trust signals (26 signals in 5 categories), per-assistant AI access

AI Visibility answers who AI recommends — which brands ChatGPT, Claude, Gemini, Perplexity and Google AI Overviews name and recommend when your buyers ask, and whether you are in the core. AI Sources is its companion: the pages Perplexity and Google AI Overviews retrieve on the way to those answers, and whether they name you.

Start free trial (14 days, no credit card) | Learn more

Available Tools

48 tools. 40 are read-only; 3 are async-scan starters that create a scan record (start_tech_stack_scan, start_trust_signals_scan, start_agent_adoption_scan); 5 write to the project's Strategic Tickets board (create_ticket, update_ticket, move_ticket, delete_ticket, add_ticket_comment) and need a read_write API key.

Projects & Competitors
ToolDescription
list_projectsList all projects with status, competitor count, and last monitored timestamp
get_projectGet project details with per-dimension monitoring freshness
list_competitorsList all monitored competitors (includes your own domain for comparison)
get_competitorGet competitor details including monitored page URLs
AI Visibility
ToolDescription
get_ai_visibility_dashboardThe market map — which companies the AI models recommend in your category, and whether you are one of them — with per-model breakdowns; optionally the models' raw answers
get_ai_visibility_historyPaginated history of AI Visibility checks
get_ai_visibility_check_detailFull detail for one check, and optionally what each model actually said — filterable by competitor, model, or prompt; an answers read comes without the summary unless you ask for it (includeSummary)
get_ai_visibility_trendHow the market the AI models draw has moved over a window — each company's reading now and at the start, and the difference; readable per AI model
AI Sources
ToolDescription
get_ai_sources_dashboardThe pages Perplexity and Google AI Overviews read when they answer the project's buying questions, per engine — which companies each named, which pages it retrieved, and the pages naming other companies and not you
get_ai_sources_historyPaginated history of AI Sources checks
get_ai_sources_check_detailFull detail for one AI Sources check, and optionally every answer and retrieved page — filterable by engine or question; an answers read comes without the summary unless you ask for it (includeSummary)
Positioning
ToolDescription
get_positioning_dashboardWhat each company says on its homepage as the page says it, what you say that nobody else does, what changed, and what pages say about you
get_positioning_historyOne row per positioning check with what it found changed, in full; filter by since
get_positioning_run_detailOne past positioning check in full, in the dashboard's shape
Pricing Intelligence
ToolDescription
get_pricing_dashboardWhat each company charges as its pricing page shows it, what typical setups cost cheapest first and where you stand, what changed, and what pages say about you
get_pricing_historyOne row per pricing check with what it found changed, in full; filter by since
get_pricing_run_detailOne past pricing check in full, in the dashboard's shape
Content Intelligence
ToolDescription
get_content_dashboardLatest sitemap analysis, content categorization, strategic URLs, gap analysis
get_content_historyPaginated history of monitoring runs
get_content_run_detailFull data for a specific content run
get_content_changelogDetected URL changes over time (added, removed) — filterable by competitor and category
Tech & Trust Profile
ToolDescription
get_tech_trust_dashboardLatest security headers, trust signals, tech stacks, DNS, and per-assistant AI access
get_tech_trust_historyPaginated history of monitoring runs
get_tech_trust_run_detailFull competitor-by-competitor data for a specific run
Strategic Briefing
ToolDescription
get_briefingCurrent state of the project's Strategic Briefing — what changed, what it means, and what the edition did on the board: the tickets it opened, the tickets already there it commented on, and the ones it matched instead of opening a second. Defaults to the hub digest; pass sections to open any of the 14 deep-<dimension> sections
get_briefing_historyPast briefing editions, newest first — publication date, status and headline verdict per edition
get_briefing_editionOne past briefing edition in full, by run ID
Strategic Tickets

The project's board — the work the team has decided to do, with an owner, a column and a thread. The same tickets the team sees in the app, in five fixed columns: triage, todo, in_progress, done, dismissed. Every move in a Strategic Briefing lands here — as a new ticket in triage, most important first, or on the ticket already there for that work — and a later edition comments on tickets already there when it measured something about them. Every tool that takes a ticket ID also takes the ticket's number as a person writes it, #14. A read key lists and reads tickets; the tools that write need a read_write key. A key reads everything its organization has and works its Strategic Tickets board on any plan and after one ends; the calls that fetch or scan a site on CompetLab's side need a plan (402 subscription_required otherwise).

ToolDescription
list_ticketsA project's Strategic Tickets, a page at a time — in board order, or by priority, due date or recent activity; filterable by column, owner, label, impact, effort, due date and the edition that opened them. Every page carries the total and the count per column
get_ticketOne ticket in full — description, labels, owner, due date, effort, impact and how long its thread is
create_ticketOpen a ticket on a project's board. Needs a read_write API key
update_ticketChange a ticket's title, description, labels, owner, due date, effort or impact. Needs a read_write API key
move_ticketMove a ticket to another column, or reorder it — to the top or the bottom, or between two named tickets; the answer says where it landed. Needs a read_write API key
delete_ticketDelete a ticket and its thread. Needs a read_write API key
list_ticket_commentsA ticket's comment thread, oldest first — each entry says whether a person, an API key or a Strategic Briefing wrote it
add_ticket_commentAdd a Markdown comment to a ticket's thread. Needs a read_write API key
list_ticket_labelsA project's ticket labels — each a name and a colour
list_ticket_assigneesWho a ticket can be assigned to — the organization's current members, by name and ID
Alerts & Schedules
ToolDescription
list_alertsCompetitive change alerts — filterable by dimension, severity, level, and competitor
list_schedulesMonitoring schedules for all 6 monitored dimensions, with status and intervals
Free Tools (no project setup required)

Run these against any public domain — no projectId needed. The sync tools return immediately; the async scans return a scanId you poll every 5–10 seconds.

ToolDescription
check_sitemapLive sitemap analysis — discovers URLs, categorizes them by section, and reports depth, freshness, and per-category counts
check_ai_crawlersLive check of which AI assistants (ChatGPT, Claude, Perplexity, Microsoft Copilot, Google AI Overviews, Gemini Apps) can fetch a site's pages, read from its robots.txt
start_tech_stack_scanStart async tech-stack detection (117 rules: tech / growth / engagement). Returns scanId
get_tech_stack_scanPoll a tech-stack scan by scanId — returns detected technologies with confidence scores when complete
start_trust_signals_scanStart async trust-signals analysis (34 signals across enterprise readiness, validation, social proof, authority, risk). Returns scanId
get_trust_signals_scanPoll a trust-signals scan by scanId — returns per-signal verdicts and tier verdict when complete
start_agent_adoption_scanStart async Agent Adoption Check (25 checks: discoverability, access, readability, agent endpoints). Returns scanId
get_agent_adoption_scanPoll an Agent Adoption Check by scanId — returns complete results when finished
fetch_urlFetch any URL with JS rendering and bot-protection handling. Returns body, headers, cleanStats. Optional cleanHtml strips noise for LLM token-cost savings. 60 req/min per API key

All paginated tools accept page and limit parameters. Check pagination.hasMore in the response to fetch more pages.

The AI Visibility and AI Sources dashboards and check details, the AI Visibility history, and the Tech & Trust dashboard answer in a compact view by default: the market map, the pages list and the brands list come one page at a time, with your own row — and, on the market map, every tracked competitor's — always on the page and a *Page object (offset, limit, total, hasMore) saying how many rows there are. Pass view=full for every row in one response. Every one of these responses opens with readingGuide, the reading rules for its fields.

Responses pass through from the CompetLab API unchanged, and the server's instructions tell your agent how to read them — above all, null means CompetLab did not measure a value, never zero or "no".

Example Prompts

Once connected, try asking your AI agent:

  • "Which companies do the AI models recommend in my category — and am I one of them?"
  • "Which pages do Perplexity and Google AI Overviews read for my buyers' questions that name my competitors but not me?"
  • "What changed on my competitors' pricing pages this week?"
  • "Show me the strategic briefing — what should I fix first?"
  • "Which tickets did the latest briefing open, and where do they stand on our board?"
  • "How has the AI market map moved over the last 3 months?"
  • "Compare content strategies across all my tracked competitors"
  • "What critical alerts fired in the last 7 days?"
  • "Which competitors have better security headers than us?"
  • "Run a tech-stack scan on stripe.com — what are they using?"
  • "Which AI assistants can reach openai.com, according to its robots.txt?"
  • "Fetch g2.com/some-listing with cleanHtml and summarize the page"

See examples/prompts.md for more prompts organized by use case.

Authentication

Getting an API key
  1. Sign up at app.competlab.com/register (free 14-day trial, no credit card)
  2. Go to Organization Settings > API Keys
  3. Create a new key — it starts with cl_live_
Two authentication methods
MethodWhen to useExample
CL-API-Key headerClaude Code, Cursor, VS Code, Windsurf, ClineCL-API-Key: cl_live_...
api_key query parameterClaude Desktop, Claude Web, clients without custom header support?api_key=cl_live_...

One API key covers your entire organization. Most tools are read-only; the three start_*_scan tools create scan records under your account (no edits to existing data), and the five Strategic Tickets write tools change the project's board — they need a read_write key, and a read key is refused on them. The fetch_url tool is rate-limited at 60 req/min per API key (tighter than the 1000/min default for other free tools).

Pricing

MCP access comes with every CompetLab plan and with the free 14-day trial.

Troubleshooting

IssueFix
Connection refused / timeoutVerify the URL is exactly https://mcp.competlab.com/mcp with no trailing slash
api_key_missing errorEnsure you're passing the key as CL-API-Key header (remote) or COMPETLAB_API_KEY env var (stdio)
api_key_invalid errorKeys must start with cl_live_ and be exactly 40 characters
Transport not supportedUse the remote HTTP server, or switch to the local stdio server

Support

License

MIT (covers documentation and configs in this repo) — see LICENSE

The CompetLab MCP server and platform are commercial software. See competlab.com/terms-and-conditions.


Built by the CompetLab team. Competitive intelligence for the AI era.

Questions fréquentes

Qu'est-ce que Competlab MCP Server ?

Competitive intelligence: monitor competitors' prices, content, positioning and tech stacks, and track how AI assistants rank your brand.

Comment installer Competlab MCP Server ?

Suivez les étapes d'installation de sa documentation, affichée sur cette page et dans son dépôt.

Competlab MCP Server est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Competlab MCP Server ?

Il est publié par competlab. AI.tn le référence sans le maintenir ni le recommander.

Issu des listes communautaires awesome-mcp-servers et du dépôt GitHub du projet. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.