MCP server
The Competiflow MCP server exposes competitor monitoring to AI agents in Cursor, Claude Desktop, and other MCP clients. It wraps the v1 REST API with tool definitions and agent instructions.
Repository: github.com/nyku/competiflow-mcp
Install
npm install -g @competiflow/mcp-server
Or run from source:
git clone https://github.com/nyku/competiflow-mcp.git
cd competiflow-mcp && npm install && npm run build
Configure
Set one environment variable:
| Variable | Description |
|---|---|
COMPETIFLOW_API_KEY |
Your sk_live_... key (required) |
The server calls https://api.competiflow.com/v1/....
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"competiflow": {
"command": "npx",
"args": ["-y", "@competiflow/mcp-server"],
"env": {
"COMPETIFLOW_API_KEY": "sk_live_your_key_here"
}
}
}
}
Tools
| Tool | API equivalent | Description |
|---|---|---|
list_workspaces |
GET /v1/workspaces |
List workspaces with review counts |
create_workspace |
POST /v1/workspaces |
Create a workspace |
update_workspace |
PATCH /v1/workspaces/:id |
Rename, set product_url, or pause/resume all monitors |
delete_workspace |
DELETE /v1/workspaces/:id |
Remove workspace and history |
add_competitor |
POST /v1/workspaces/:id/competitors |
Add competitor (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 monitors |
delete_competitor |
DELETE /v1/competitors/:id |
Remove competitor and history |
list_monitors |
GET /v1/monitors |
List monitors in a workspace |
get_monitor |
GET /v1/monitors/:id |
Read one monitor, optional capture includes |
create_monitor |
POST /v1/monitors |
Add a manual monitor |
update_monitor |
PATCH /v1/monitors/:id |
Update cadence, status, or URL |
delete_monitor |
DELETE /v1/monitors/:id |
Remove monitor and history |
check_monitor |
POST /v1/monitors/:id/check |
On-demand check (async) |
refresh_workspace |
POST /v1/workspaces/:id/refresh |
Queue checks for active monitors |
list_changes |
GET /v1/changes |
Change feed with since, filters, and meta |
get_change |
GET /v1/changes/:id |
Full change with optional evidence includes |
update_change |
PATCH /v1/changes/:id |
Set review_status |
get_digest |
GET /v1/workspaces/:id/digest |
Workspace overview digest |
Every tool declares MCP annotations (read-only, destructive, idempotent), so clients can ask before running a delete_* tool.
Prompts and resources
| Name | Kind | What it does |
|---|---|---|
weekly_briefing |
Prompt | Summarizes competitor activity for a period, most important first |
triage_changes |
Prompt | Proposes acknowledge or dismiss for each unreviewed change, then asks before updating |
track_competitor |
Prompt | Adds a competitor, waits for discovery, and reports what is monitored |
competiflow://guide |
Resource | Agent guide for the tools |
competiflow://workspaces/{workspace_id}/digest |
Resource | 7-day digest of one workspace as JSON |
Typical agent flow
list_workspacesorcreate_workspaceadd_competitorwith a homepage URLget_competitoruntil discovery completeslist_changeswithsince=7dfor recent interpreted changesupdate_changeto triage, orget_digestfor synthesis
Async operations: add_competitor, check_monitor, and refresh_workspace return queued/discovering acknowledgements, not final results. Read outcomes via list_changes or get_digest.
Destructive deletes: delete_monitor, delete_competitor, and delete_workspace remove snapshots and changes. Use update_monitor, update_competitor, or update_workspace with status: paused to keep history.
Checks
Discovery and checks use the same monthly pool as direct API calls. See Billing.