ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Cursor MCP

โดย qmediatรุ่น 1.2.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.qmediat/cursor-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Cursor's agent (cursor-agent CLI) through MCP: any model your plan offers, resumable sessions.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: อื่น ๆ

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "cursor": {
      "command": "npx",
      "args": [
        "-y",
        "@qmediat.io/cursor-mcp"
      ],
      "env": {
        "CURSOR_MAX_CONCURRENCY": "ใส่ค่าของคุณ",
        "CURSOR_ALLOW_YOLO": "ใส่ค่าของคุณ",
        "CURSOR_SANDBOX": "ใส่ค่าของคุณ",
        "CURSOR_KILL_GRACE_MS": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add cursor --env CURSOR_MAX_CONCURRENCY='ใส่ค่าของคุณ' --env CURSOR_ALLOW_YOLO='ใส่ค่าของคุณ' --env CURSOR_SANDBOX='ใส่ค่าของคุณ' --env CURSOR_KILL_GRACE_MS='ใส่ค่าของคุณ' -- npx -y @qmediat.io/cursor-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "cursor": {
      "command": "npx",
      "args": [
        "-y",
        "@qmediat.io/cursor-mcp"
      ],
      "env": {
        "CURSOR_MAX_CONCURRENCY": "ใส่ค่าของคุณ",
        "CURSOR_ALLOW_YOLO": "ใส่ค่าของคุณ",
        "CURSOR_SANDBOX": "ใส่ค่าของคุณ",
        "CURSOR_KILL_GRACE_MS": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "cursor": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@qmediat.io/cursor-mcp"
      ],
      "env": {
        "CURSOR_MAX_CONCURRENCY": "ใส่ค่าของคุณ",
        "CURSOR_ALLOW_YOLO": "ใส่ค่าของคุณ",
        "CURSOR_SANDBOX": "ใส่ค่าของคุณ",
        "CURSOR_KILL_GRACE_MS": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • CURSOR_MAX_CONCURRENCY env
    Maximum concurrent cursor-agent processes: a positive integer; anything else is the default 3.
  • CURSOR_ALLOW_YOLO env
    Set to `true` to run cursor-agent with --force (auto-approve every tool call) in cursor_agent and cursor_reply. DANGEROUS — trusted environments only. Never exposed as a tool parameter.
  • CURSOR_SANDBOX env
    `enabled` or `disabled`, passed to cursor-agent as --sandbox : confines what an auto-approved agent may run. Unset leaves the CLI's default; any other value ends the server at startup.
  • CURSOR_KILL_GRACE_MS env
    After SIGTERM (timeout or cancellation), a child still alive this long is sent SIGKILL. A positive integer of milliseconds; default 5000.

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub qmediat ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32545 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 56% ของอีก 32545 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32545 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Cursor MCP ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.2.0) เข้า registry 31 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Python MCP

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

รันบนคลาวด์★ 211อัปเดต เมื่อวาน
ติดตั้ง

Python MCP

โดย Files-com

Local-only Python MCP server for the Files.com API.

รันบนเครื่องอัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

@qmediat.io/cursor-mcp

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.

Why this server?

  • Any Cursor model — the 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)
  • 5 tools — agent execution, session continuation, model listing, session listing, health check
  • Parallel execution — run multiple models simultaneously with built-in concurrency control (semaphore)
  • Guarded execution — 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)
  • Minimal dependencies — only @modelcontextprotocol/sdk + zod
  • Session management — resume conversations across calls

Quick Start

Prerequisites
  1. Node.js >= 22.0.0 (developing it — npm run lint's Babel 8 — needs 22.18 or 24.11)
  2. Cursor CLI installed and authenticated:
# 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

Authenticate (a Cursor account whose plan includes agent usage — see cursor.com/docs/models-and-pricing)

agent login

Requires Node.js 22 or newer.

Install
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.

Configuration

Claude Code (~/.claude.json)
{

"mcpServers": { "cursor-cli": { "type": "stdio", "command": "npx", "args": ["-y", "@qmediat.io/cursor-mcp"] } } }

Claude Desktop (claude_desktop_config.json)
{

"mcpServers": { "cursor-cli": { "command": "npx", "args": ["-y", "@qmediat.io/cursor-mcp"] } } }

Local development
{

"mcpServers": { "cursor-cli": { "type": "stdio", "command": "node", "args": ["/path/to/cursor-mcp/dist/index.js"] } } }

Environment Variables

VariableRequiredDefaultDescription
CURSOR_MAX_CONCURRENCYNo3Maximum concurrent cursor-agent processes — an integer from 1 to 64; anything else is the default
CURSOR_ALLOW_YOLONofalsetrue 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_SANDBOXNothe CLI's defaultenabled 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_MSNo5000After 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

Available Tools

ToolDescriptionKey Parameters
cursor_agentExecute a prompt using Cursor's AI agentprompt (≤ 100 000 chars), model, mode, workspace, timeout_seconds (10–3600, default 600)
cursor_replyContinue an existing agent sessionprompt, session_id, model, timeout_seconds
cursor_modelsList the model ids the installed CLI offers—
cursor_sessionsList agent sessions (this server instance)—
cursor_healthCheck 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.

Models

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.

Modes
ModeDescription
agentTools, terminal, search (default). In headless mode file changes are proposed in the answer, not applied, unless the operator set CURSOR_ALLOW_YOLO=true (--force)
planRead-only planning — analyses and proposes a plan, makes no edits (in headless mode a clarifying question cannot be answered)
askRead-only exploration — no file modifications

Parallel Execution

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.

Security

  • No shell execution — 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)
  • No credentials stored — cursor-agent handles its own OAuth
  • No HTTP requests — pure CLI wrapper, no network access beyond cursor-agent
  • Process cleanup — the client's cancellation (the MCP request signal) and the timeout kill the child and the helpers in its process group (POSIX; on Windows there is no group and only cursor-agent itself is signalled): SIGTERM, then SIGKILL after 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
  • Auto-approve gated — --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 alike
  • Trusted workspace — every call runs cursor-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 in
  • Concurrency limited — semaphore prevents resource exhaustion

See SECURITY.md for full details.

Supervised Coding Skill

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-cli MCP server (this package) must be installed and configured in Claude Code first.

Usage
/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.

Install the skill
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


Supervised Coding: Claude Code (Supervisor) -> Cursor (Coder)

You are the supervisor (Claude Code). A Cursor model is the coder. You give precise instructions, the coder writes code, you review and iterate.

Parsing

Extract from user input:

  • --model -> model to use (default: auto, Cursor chooses)
  • Everything else -> the task description

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.

Workflow

Step 1: Analyze
  • Read the relevant files to understand current state
  • Break the user's task into a single, focused coding instruction
  • Identify: target files, constraints, acceptance criteria
Step 2: Instruct

Call cursor_agent with:

  • model: extracted model or auto
  • workspace: current working directory
  • prompt: precise instruction with file paths, function names, constraints
  • Keep prompt focused -- one task per call, not an entire feature
  • Extract and store the session_id from the response for use in Step 4

Output before calling: [cursor-cli -> ]

Step 3: Verify

After the coder returns:

  • Run git diff --name-only to discover ALL files the coder modified
  • Read EVERY modified file from disk (use Read tool) -- not just the ones from your prompt
  • Diff against expectations
  • Check: correctness, edge cases, security, type safety
Step 4: Iterate (max 3 rounds)

If issues found:

  • Call cursor_reply with the same session_id
  • Give specific fix instructions (file:line, what's wrong, what to do)
  • Re-verify after each round
  • If the coder is fundamentally off-track (wrong approach, not just small bugs), abandon the session early and start fresh with a more explicit prompt
Step 5: Report

Summarize to the user:

  • Model used (confirm from response, not just request)
  • What was done
  • Files changed
  • Rounds needed (1 = clean, 2-3 = corrections applied)
  • Any manual fixes Claude Code applied directly

Rules

  • ONE task per cursor_agent call -- don't batch entire features
  • ALWAYS read files from disk after coder finishes
  • NEVER trust cached file contents -- Cursor writes directly to disk
  • Set timeout_seconds appropriately (30-120s for typical tasks)
  • If the task is trivial (< 5 lines

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx