list_workspaces
List workspaces
List all your workspaces with competitor and monitor counts, needs_review_count, and the highest unreviewed severity. Start here to find a workspace_id. For one workspace's recent activity, use get_digest.
无需输入参数。

io.github.nyku由 GitHub 账号 nyku 发布v0.2.0更新于 Nov 3, 2026
Competitor monitoring for AI agents: track rival pricing, docs and changelog changes with evidence.
Competiflow MCP 服务器让助手跟踪竞争对手网站,读取经过解读的定价、文档和更新日志变化,进行分诊并获取工作区摘要。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
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.
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.
Add to ~/.cursor/mcp.json:
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Add to ~/.codeium/windsurf/mcp_config.json:
Every tool declares MCP annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint), so clients can ask before running the delete_* tools.
Without workspace_id, each prompt starts with list_workspaces.
list_workspaces or create_workspace (optional product_url improves competitive context on changes).add_competitor with a homepage URL.get_competitor until discovery_status is completed.refresh_workspace or check_monitor to pull fresh data.list_changes with since=7d and min_severity, or get_digest for a summary.get_change with include when you need evidence.update_change to acknowledge or dismiss items.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.
includeget_change and get_monitor accept an include array to attach the underlying capture in one call:
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_monitor, delete_competitor, and delete_workspace are permanent. They remove the record along with its check runs, snapshots, and changes. To stop checks while keeping intel history, call update_monitor, update_competitor, or update_workspace with status: paused instead.
delete_workspace returns 409 discovery_in_progress while a competitor in the workspace is still being discovered.
add_competitor, poll get_competitor until discovery_status is completed before reading changes. On 409, poll the active_competitor_id from the error.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.why_it_matters for competitive context. recommended_action was removed from the API.include to get_change or get_monitor when you need the underlying capture. It adds payload.status: paused when a user wants to stop a monitor. Reserve delete_* for permanent removal, since it drops history.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.
Sign up at competiflow.com and create a key under API keys.
npm test builds and runs a smoke test that starts the server without a key, the way directory scanners do, and checks the tools, annotations, prompts, and resources.
MIT
来源:README.md,提交 bbd520a
List workspaces
List all your workspaces with competitor and monitor counts, needs_review_count, and the highest unreviewed severity. Start here to find a workspace_id. For one workspace's recent activity, use get_digest.
无需输入参数。
Create workspace
Create a workspace for one product or market. Set product_url to your own product so why_it_matters explains each change relative to it. Returns 422 when your plan's workspace limit is reached. To rename or change an existing workspace, use update_workspace.
name必填product_urlUpdate workspace
Rename a workspace, set or clear its product_url, or pause/resume every monitor in it. Send only the fields to change; nothing is written if any field is invalid. Pausing keeps all history, so prefer it over delete_workspace. To pause one competitor, use update_competitor.
namestatusproduct_urlworkspace_id必填Delete workspace
Permanently delete a workspace with all its competitors, monitors, snapshots, and changes. Cannot be undone. Returns 409 discovery_in_progress while a competitor is still being discovered. To stop checks and keep history, use update_workspace with status paused.
workspace_id必填Add competitor
Add a competitor to a workspace by homepage URL and start discovering its pricing, docs, blog, and changelog pages. Discovery is async: poll get_competitor until discovery_status is completed. Re-adding the same URL returns the existing competitor. Returns 409 with active_competitor_id while another discovery runs in the workspace. To watch one specific page, use create_monitor.
url必填workspace_id必填monitor_typesList competitors
List the competitors in a workspace with discovery_status and their monitors, each with last_run. Use it for an overview of what is tracked. To list monitors alone or filter them by competitor, use list_monitors.
workspace_id必填Get competitor
Get one competitor with its monitors and discovery fields. Use it to poll discovery after add_competitor until discovery_status is completed or failed.
competitor_id必填Update competitor
Set the check cadence or pause/resume every monitor of one competitor. History is kept. To change a single monitor, use update_monitor; for a whole workspace, use update_workspace.
statuscadencecompetitor_id必填Delete competitor
Permanently delete a competitor with its monitors, snapshots, and changes. Cannot be undone. To stop checks and keep history, use update_competitor with status paused.
competitor_id必填List monitors
List the monitors in a workspace, optionally for one competitor, with URL, type, cadence, status, health, and last_run. Use it to find a monitor_id or spot failing monitors. For competitors with their monitors nested, use list_competitors.
workspace_id必填competitor_idGet monitor
Get one monitor's settings, health, and last run. Set include to also return the latest successful capture as structured data or markdown.
includemonitor_id必填Create monitor
Watch one specific page of an existing competitor, such as a pricing or docs URL that discovery missed. To add a new competitor and discover its pages automatically, use add_competitor.
url必填cadencemonitor_type必填competitor_id必填Update monitor
Change one monitor's URL, type, cadence, status, or min_severity. Use status paused to stop checks and keep history. To change every monitor of a competitor at once, use update_competitor.
urlstatuscadencemonitor_id必填min_severitymonitor_typeDelete monitor
Permanently delete one monitor with its snapshots and changes. Cannot be undone. To stop checks and keep history, use update_monitor with status paused.
monitor_id必填Check monitor now
Queue an immediate check of one monitor. Uses one of your monthly checks and returns 429 refresh_throttled if the monitor was checked too recently. Results arrive asynchronously: read them later with list_changes or get_monitor. To check every monitor in a workspace, use refresh_workspace.
monitor_id必填Refresh workspace
Queue immediate checks for every active monitor in a workspace, or for one competitor when competitor_id is set. Each monitor checked uses one monthly check; recently checked monitors are skipped and listed in skipped_ids. Returns 409 while discovery is running. For a single monitor, use check_monitor.
workspace_id必填competitor_idList changes
List detected competitor changes in a workspace, newest first, with summary, severity, why_it_matters, monitor_type, and review_status. meta.counts gives inbox totals; page with after set to next_cursor. For a summarized period, use get_digest; for evidence on one change, use get_change.
afterlimitsincemin_severitymonitor_typeworkspace_id必填competitor_idreview_statusGet change
Get one change with why_it_matters, field-level diffs, and related clusters. Set include to add the captured page or the raw diff as evidence.
includechange_id必填Triage change
Triage a change by setting its review_status: acknowledged when it is relevant, dismissed when it is noise, or unreviewed to put it back in the inbox.
change_id必填review_status必填Get workspace digest
Get a workspace summary for a period: changes needing review with why_it_matters, an activity map by competitor, and top opportunities. Use it for briefings; to page through individual changes, use list_changes.
periodworkspace_id必填已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
{ "mcpServers": { "competiflow": { "command": "npx", "args": ["-y", "@competiflow/mcp-server"], "env": { "COMPETIFLOW_API_KEY": "sk_live_your_key_here" } } }}{ "mcpServers": { "competiflow": { "command": "npx", "args": ["-y", "@competiflow/mcp-server"], "env": { "COMPETIFLOW_API_KEY": "sk_live_your_key_here" } } }}{ "mcpServers": { "competiflow": { "command": "npx", "args": ["-y", "@competiflow/mcp-server"], "env": { "COMPETIFLOW_API_KEY": "sk_live_your_key_here" } } }}AI Agent → MCP Tool Call → Competiflow API → Interpreted Change Feed → Structured Response → AI Agentnpm installnpm run buildCOMPETIFLOW_API_KEY=sk_live_... node dist/index.js