GitHub
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
Description from the maker (original English)
Competitor monitoring for AI agents: track rival pricing, docs and changelog changes with evidence.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
COMPETIFLOW_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"competiflow": {
"command": "npx",
"args": [
"-y",
"@competiflow/mcp-server"
],
"env": {
"COMPETIFLOW_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add competiflow --env COMPETIFLOW_API_KEY=your-value -- npx -y @competiflow/mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"competiflow": {
"command": "npx",
"args": [
"-y",
"@competiflow/mcp-server"
],
"env": {
"COMPETIFLOW_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"competiflow": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@competiflow/mcp-server"
],
"env": {
"COMPETIFLOW_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account nyku, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: COMPETIFLOW_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 10 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: GitHub, Desktop Commander, Cloudflare MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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:
{
"mcpServers": { "competiflow": { "command": "npx", "args": ["-y", "@competiflow/mcp-server"], "env": { "COMPETIFLOW_API_KEY": "sk_live_your_key_here" } } } }
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" } } } }
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" } } } }
| Tool | API | Description |
|---|---|---|
list_workspaces | GET /v1/workspaces | List workspaces with review counts |
create_workspace | POST /v1/workspaces | Create a workspace (optional product_url) |
update_workspace | PATCH /v1/workspaces/:id | Rename, set or clear product_url, or pause/resume every monitor |
delete_workspace | DELETE /v1/workspaces/:id | Remove a workspace and all its history |
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 |
Every tool declares MCP annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint), so clients can ask before running the delete_* tools.
| Prompt | Arguments | What it does |
|---|---|---|
weekly_briefing | workspace_id?, period? | Summarizes competitor activity for a period, most important first |
triage_changes | workspace_id?, min_severity? | Walks the unreviewed inbox and proposes acknowledge or dismiss, then asks before updating |
track_competitor | url, workspace_id? | Adds a competitor, waits for discovery, and reports what is monitored |
Without workspace_id, each prompt starts with list_workspaces.
| URI | Type | Contents |
|---|---|---|
competiflow://guide | text/markdown | Agent guide: the typical flow, discovery, evidence, and delete versus pause |
competiflow://workspaces/{workspace_id}/digest | application/json | 7-day digest of one workspace. Clients that list resources show one per workspace. |
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:
| 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_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.
AI Agent → MCP Tool Call → Competiflow API → Interpreted Change Feed → Structured Response → AI Agent
| Variable | Required | Description |
|---|---|---|
COMPETIFLOW_API_KEY | Yes | Your Competiflow API key (sk_live_...) |
Sign up at competiflow.com and create a key under API keys.
npm install
npm run build COMPETIFLOW_API_KEY=sk_live_... node dist/index.js
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