Competiflow MCP Server
Track competitors, run discovery, read the interpreted change feed, triage items, and pull workspace digests without leaving your AI client.
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
list_workspacesorcreate_workspace.add_competitorwith a homepage URL.get_competitoruntildiscovery_statusiscompleted.refresh_workspaceorcheck_monitorto pull fresh data.list_changeswithsince=7dandmin_severity, orget_digestfor a summary.get_changewithincludewhen you need evidence.update_changeto 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, pollget_competitoruntildiscovery_statusiscompletedbefore reading changes. On409, poll theactive_competitor_idfrom the error. - Filter the feed: pass
since(1d,7d,30d, or ISO8601),min_severity,monitor_type, andreview_statustolist_changesinstead of pulling everything. Usemeta.countsfor inbox totals andnext_cursorto page. - Fetch evidence on demand: only add
includetoget_changeorget_monitorwhen you need the underlying capture. It adds payload. - Prefer pause over delete: default to
status: pausedwhen a user wants to stop a monitor. Reservedelete_*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
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。