mcpField
C
Competiflow

Competiflow

Local
competiflow.comBusiness & Marketing0Updated 3d ago

About Competiflow

Competiflow is a competitor-monitoring service for teams and AI agents, with tools to manage competitors, review interpreted changes, and retrieve evidence and workspace digests. Its MCP server returns structured competitive intelligence through an AI client.

Key features

  1. 01Manage workspaces and competitors
  2. 02Configure and check monitors
  3. 03Filter and review change feeds
  4. 04Retrieve page captures and diffs
  5. 05Get weekly workspace digests

Use cases

  1. 01Discover competitors from homepage URLs
  2. 02Monitor pricing, docs, and changelogs
  3. 03Review recent changes by severity
  4. 04Inspect evidence behind a change

MCP support

The MCP server exposes Competiflow workspace, competitor, monitor, change, and digest operations as tools. It translates calls into Competiflow API requests and returns structured JSON.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"nyku-competiflow": {
"command": "npx",
"args": [
"-y",
"@competiflow/mcp-server"
],
"env": {
"COMPETIFLOW_API_KEY": "<COMPETIFLOW_API_KEY>"
}
}
}
}
Run commandnpx -y @competiflow/mcp-server
Environment variables to set
COMPETIFLOW_API_KEYSecretYour Competiflow API key (sk_live_...), created under API keys in the dashboard

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@competiflow/mcp-server0.2.0

Tools

18

Saved tool list · updated 2d ago

This tool takes no parameters.

Details

From the project README

Competiflow MCP Server

MCP (Model Context Protocol) server for Competiflow. Use competitor monitoring as tools in Cursor, Claude Desktop, Windsurf, and any MCP-compatible client.

Track competitors, run discovery, read the interpreted change feed, triage items, and pull workspace digests without leaving your AI client.

Setup

Create an API key in the Competiflow dashboard under API keys, then add the server to your client config. COMPETIFLOW_API_KEY is the only variable you need.

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "competiflow": {
      "command": "npx",
      "args": ["-y", "@competiflow/mcp-server"],
      "env": {
        "COMPETIFLOW_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}
Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "competiflow": {
      "command": "npx",
      "args": ["-y", "@competiflow/mcp-server"],
      "env": {
        "COMPETIFLOW_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}
Windsurf

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

{
  "mcpServers": {
    "competiflow": {
      "command": "npx",
      "args": ["-y", "@competiflow/mcp-server"],
      "env": {
        "COMPETIFLOW_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}

Available Tools

ToolAPIDescription
list_workspacesGET /v1/workspacesList workspaces with review counts
create_workspacePOST /v1/workspacesCreate a workspace (optional product_url)
add_competitorPOST /v1/workspaces/:id/competitorsAdd a competitor by homepage URL. Async discovery, idempotent on duplicate URL
list_competitorsGET /v1/workspaces/:id/competitorsList competitors with monitors and last_run
get_competitorGET /v1/competitors/:idRead one competitor
update_competitorPATCH /v1/competitors/:idSet cadence or status on all its monitors
delete_competitorDELETE /v1/competitors/:idRemove a competitor and all its history
list_monitorsGET /v1/monitorsList monitors with status, cadence, and last_run
get_monitorGET /v1/monitors/:idRead one monitor. Pass include for capture evidence
create_monitorPOST /v1/monitorsAdd a manual monitor on a specific URL
update_monitorPATCH /v1/monitors/:idUpdate URL, cadence, status, or min_severity
delete_monitorDELETE /v1/monitors/:idRemove a monitor and all its history
check_monitorPOST /v1/monitors/:id/checkQueue an on-demand check
refresh_workspacePOST /v1/workspaces/:id/refreshQueue checks for active monitors
list_changesGET /v1/changesChange feed with since, filters, and meta counts
get_changeGET /v1/changes/:idFull change. Pass include for capture or raw diff
update_changePATCH /v1/changes/:idSet review_status
get_digestGET /v1/workspaces/:id/digestWeekly workspace summary

Typical flow

  1. list_workspaces or create_workspace (optional product_url improves competitive context on changes).
  2. add_competitor with a homepage URL.
  3. get_competitor until discovery_status is completed.
  4. refresh_workspace or check_monitor to pull fresh data.
  5. list_changes with since=7d and min_severity, or get_digest for a summary.
  6. get_change with include when you need evidence.
  7. update_change to acknowledge or dismiss items.

Discovery and idempotency

add_competitor starts discovery in the background and returns an acknowledgement, not the finished result. Poll get_competitor until discovery_status is completed.

A workspace runs one discovery at a time. Posting the same homepage URL again returns the existing competitor without starting a second run. If a different competitor is still discovering, the call returns 409 discovery_in_progress with active_competitor_id so you know which one to poll.

Evidence with include

get_change and get_monitor accept an include array to attach the underlying capture in one call:

TokenAvailable onReturns
captureget_change, get_monitorExtracted fields from the snapshot
capture_markdownget_change, get_monitorPage markdown from the snapshot
raw_diffget_changeBefore and after diff for the change

For a change the capture is the post-change page. For a monitor it is the latest successful check, which is the current baseline.

Delete versus pause

delete_monitor and delete_competitor are permanent. They remove the monitor or competitor along with its check runs, snapshots, and changes. To stop checks while keeping intel history, call update_monitor or update_competitor with status: paused instead.

Agent guidelines (for AI clients)

  • Poll discovery, do not assume: after add_competitor, poll get_competitor until discovery_status is completed before reading changes. On 409, poll the active_competitor_id from the error.
  • Filter the feed: pass since (1d, 7d, 30d, or ISO8601), min_severity, monitor_type (homepage, blog, docs, changelog, pricing), and review_status to list_changes instead of pulling everything. Use meta.counts for inbox totals and next_cursor to page.
  • Interpretation fields: changes and digest items expose why_it_matters for competitive context. recommended_action was removed from the API.
  • Fetch evidence on demand: only add include to get_change or get_monitor when you need the underlying capture. It adds payload.
  • Prefer pause over delete: default to status: paused when a user wants to stop a monitor. Reserve delete_* for permanent removal, since it drops history.

How it works

The server translates each tool call into a Competiflow v1 API request and returns structured JSON. Your agent sees interpreted changes, severity, and why it matters instead of raw page scrapes.

AI Agent → MCP Tool Call → Competiflow API → Interpreted Change Feed → Structured Response → AI Agent

Environment variables

VariableRequiredDescription
COMPETIFLOW_API_KEYYesYour Competiflow API key (sk_live_...)

Get an API key

Sign up at competiflow.com and create a key under API keys.

Development

npm install
npm run build
COMPETIFLOW_API_KEY=sk_live_... node dist/index.js

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.