Competiflow MCP Server

Competiflow MCP Server

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

Category
访问服务器

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

Tool API Description
list_workspaces GET /v1/workspaces List workspaces with review counts
create_workspace POST /v1/workspaces Create a workspace
add_competitor POST /v1/workspaces/:id/competitors Add a competitor by homepage URL. Async discovery, idempotent on duplicate URL
list_competitors GET /v1/workspaces/:id/competitors List competitors with monitors and last_run
get_competitor GET /v1/competitors/:id Read one competitor
update_competitor PATCH /v1/competitors/:id Set cadence or status on all its monitors
delete_competitor DELETE /v1/competitors/:id Remove a competitor and all its history
list_monitors GET /v1/monitors List monitors with status, cadence, and last_run
get_monitor GET /v1/monitors/:id Read one monitor. Pass include for capture evidence
create_monitor POST /v1/monitors Add a manual monitor on a specific URL
update_monitor PATCH /v1/monitors/:id Update URL, cadence, status, or min_severity
delete_monitor DELETE /v1/monitors/:id Remove a monitor and all its history
check_monitor POST /v1/monitors/:id/check Queue an on-demand check
refresh_workspace POST /v1/workspaces/:id/refresh Queue checks for active monitors
list_changes GET /v1/changes Change feed with since, filters, and meta counts
get_change GET /v1/changes/:id Full change. Pass include for capture or raw diff
update_change PATCH /v1/changes/:id Set review_status
get_digest GET /v1/workspaces/:id/digest Weekly workspace summary

Typical flow

  1. list_workspaces or create_workspace.
  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:

Token Available on Returns
capture get_change, get_monitor Extracted fields from the snapshot
capture_markdown get_change, get_monitor Page markdown from the snapshot
raw_diff get_change Before 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, and review_status to list_changes instead of pulling everything. Use meta.counts for inbox totals and next_cursor to page.
  • 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 recommended actions instead of raw page scrapes.

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

Environment variables

Variable Required Description
COMPETIFLOW_API_KEY Yes Your 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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选