Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Cursor's agent (cursor-agent CLI) through MCP: any model your plan offers, resumable sessions.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
CURSOR_MAX_CONCURRENCY, CURSOR_ALLOW_YOLO, CURSOR_SANDBOX, CURSOR_KILL_GRACE_MSDu brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"cursor": {
"command": "npx",
"args": [
"-y",
"@qmediat.io/cursor-mcp"
],
"env": {
"CURSOR_MAX_CONCURRENCY": "your-value",
"CURSOR_ALLOW_YOLO": "your-value",
"CURSOR_SANDBOX": "your-value",
"CURSOR_KILL_GRACE_MS": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add cursor --env CURSOR_MAX_CONCURRENCY=your-value --env CURSOR_ALLOW_YOLO=your-value --env CURSOR_SANDBOX=your-value --env CURSOR_KILL_GRACE_MS=your-value -- npx -y @qmediat.io/cursor-mcpTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"cursor": {
"command": "npx",
"args": [
"-y",
"@qmediat.io/cursor-mcp"
],
"env": {
"CURSOR_MAX_CONCURRENCY": "your-value",
"CURSOR_ALLOW_YOLO": "your-value",
"CURSOR_SANDBOX": "your-value",
"CURSOR_KILL_GRACE_MS": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"cursor": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@qmediat.io/cursor-mcp"
],
"env": {
"CURSOR_MAX_CONCURRENCY": "your-value",
"CURSOR_ALLOW_YOLO": "your-value",
"CURSOR_SANDBOX": "your-value",
"CURSOR_KILL_GRACE_MS": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
CURSOR_MAX_CONCURRENCY envCURSOR_ALLOW_YOLO envCURSOR_SANDBOX envCURSOR_KILL_GRACE_MS envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto qmediat bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (1.2.0) kam vor 31 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Tools MCP
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Web production tools for AI agents: contrast, JP text, WebP, JSON-LD, slugs, dates and 40+ more
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
MCP server for the Cursor CLI (cursor-agent): run Cursor's agent with any model id your plan offers — the Composer, Claude, GPT, Gemini and Grok families — through the Model Context Protocol.
model id is passed to cursor-agent --model as given; cursor_models lists what your CLI offers (Composer, Claude, GPT, Gemini, Grok families on your plan)spawn without a shell, auto-approve only through the operator's environment (never a tool parameter), the client's cancellation and the timeout kill the child and its process group (SIGTERM, SIGKILL 5 s later; on Windows cursor-agent itself only)@modelcontextprotocol/sdk + zodnpm run lint's Babel 8 — needs 22.18 or 24.11)# Install the Cursor CLI (installs `agent`; `cursor-agent` stays as a legacy alias — the one this server resolves)
curl https://cursor.com/install -fsS | bash
agent login
Requires Node.js 22 or newer.
claude mcp add --scope user cursor-cli -- npx -y @qmediat.io/cursor-mcp
or by hand (below). npm install -g @qmediat.io/cursor-mcp installs the cursor-mcp command, which can replace the npx line in any config.
~/.claude.json){
"mcpServers": { "cursor-cli": { "type": "stdio", "command": "npx", "args": ["-y", "@qmediat.io/cursor-mcp"] } } }
claude_desktop_config.json){
"mcpServers": { "cursor-cli": { "command": "npx", "args": ["-y", "@qmediat.io/cursor-mcp"] } } }
{
"mcpServers": { "cursor-cli": { "type": "stdio", "command": "node", "args": ["/path/to/cursor-mcp/dist/index.js"] } } }
| Variable | Required | Default | Description |
|---|---|---|---|
CURSOR_MAX_CONCURRENCY | No | 3 | Maximum concurrent cursor-agent processes — an integer from 1 to 64; anything else is the default |
CURSOR_ALLOW_YOLO | No | false | true runs cursor_agent and cursor_reply with --force (auto-approve every tool call). Without it cursor-agent in headless mode only proposes file changes and applies none (Cursor's headless docs). DANGEROUS — only for trusted environments, best with CURSOR_SANDBOX=enabled |
CURSOR_SANDBOX | No | the CLI's default | enabled or disabled, passed as --sandbox : the sandbox confines what an auto-approved agent may run; any other value ends the server at startup |
CURSOR_KILL_GRACE_MS | No | 5000 | After SIGTERM (timeout or cancellation), a child still alive this long is sent SIGKILL — an integer of milliseconds from 1 to 2147483647 (what a timer can wait); anything else is the default |
| Tool | Description | Key Parameters |
|---|---|---|
cursor_agent | Execute a prompt using Cursor's AI agent | prompt (≤ 100 000 chars), model, mode, workspace, timeout_seconds (10–3600, default 600) |
cursor_reply | Continue an existing agent session | prompt, session_id, model, timeout_seconds |
cursor_models | List the model ids the installed CLI offers | — |
cursor_sessions | List agent sessions (this server instance) | — |
cursor_health | Check installation, auth, and config | — |
Both agent tools run cursor-agent with --output-format stream-json: the answer, its session_id, request_id, the model cursor-agent reported, the duration, the number of tool calls and the files changed (write/edit targets, each once) come back as text and as structuredContent (outputSchema published). A client that sends a progress token on the request gets one notifications/progress per event (model, tool call, assistant message), so a ten-minute run never looks dead.
model is passed to cursor-agent --model as given, so every id the installed CLI accepts works — the current list and prices are on cursor.com/docs/models-and-pricing, and cursor_models returns what your CLI reports (cursor-agent models). auto (the default) lets Cursor choose. This README names no ids on purpose: Cursor adds and retires models faster than this package releases, and a list here was what made 1.0.x reject every current model.
| Mode | Description |
|---|---|
agent | Tools, terminal, search (default). In headless mode file changes are proposed in the answer, not applied, unless the operator set CURSOR_ALLOW_YOLO=true (--force) |
plan | Read-only planning — analyses and proposes a plan, makes no edits (in headless mode a clarifying question cannot be answered) |
ask | Read-only exploration — no file modifications |
Run multiple models simultaneously by making parallel tool calls:
# In Claude Code, spawn 3 Agent subprocesses:
Agent 1: cursor_agent with model= → "Review this code" Agent 2: cursor_agent with model= → "Review this code" Agent 3: cursor_agent with model= → "Review this code"
The built-in semaphore (default: 3) queues excess requests to prevent rate limit errors.
child_process.spawn with argument arrays; the prompt follows a -- separator and the session id must be one word, so neither can read as a cursor-agent option (a prompt or session id of -f cannot turn into --force)CURSOR_KILL_GRACE_MS (5 s); the call and its concurrency slot are released only once the child itself has exited; the server's own shutdown ends every running group the same way, so no agent outlives it--force requires explicit CURSOR_ALLOW_YOLO=true env var, never controllable by LLMs; without it the agent only proposes changes; CURSOR_SANDBOX=enabled confines an auto-approved agent; it applies to cursor_agent and cursor_reply alikecursor-agent --trust on the given workspace (the server's cwd by default), so the agent is not prompted about the directory: point workspace only at directories you intend it to operate inSee SECURITY.md for full details.
Optional Claude Code skill that lets Claude Code act as a supervisor while any Cursor model does the coding.
How it works: Claude Code analyzes the task, sends precise instructions to Cursor via cursor_agent, reviews the output by reading actual files from disk, and iterates with cursor_reply until satisfied (max 3 rounds).
Prerequisite: The
cursor-cliMCP server (this package) must be installed and configured in Claude Code first.
/cursor-code <task> # default: auto (Cursor chooses)
/cursor-code --model # any id cursor_models lists
Run cursor_models to list the ids your CLI offers.
mkdir -p ~/.claude/skills/cursor-code
Create ~/.claude/skills/cursor-code/SKILL.md with the following content:
SKILL.md (click to expand)
---
name: cursor-code description: Delegate coding to any Cursor model while Claude Code supervises. Use when user says "cursor-code", "delegate to cursor", "cursor code this", or "/cursor-code". Works with any model id cursor_models lists (the Composer, Claude, GPT, Gemini and Grok families on your Cursor plan). metadata: version: 1.1.0
You are the supervisor (Claude Code). A Cursor model is the coder. You give precise instructions, the coder writes code, you review and iterate.
Extract from user input:
--model -> model to use (default: auto, Cursor chooses)If user says a model name naturally (e.g. "use composer", "with gemini", "z grok"), extract it and map to an id from cursor_models.
Call cursor_agent with:
model: extracted model or autoworkspace: current working directoryprompt: precise instruction with file paths, function names, constraintssession_id from the response for use in Step 4Output before calling: [cursor-cli -> ]
After the coder returns:
git diff --name-only to discover ALL files the coder modifiedIf issues found:
cursor_reply with the same session_idSummarize to the user:
Nur der Anfang wird gezeigt; den Rest findest du im Repo