Skip to main content
Installation

How Do I Install An MCP Server In Cursor?

Current Cursor MCP configuration, project vs global scopes, and what the agent approval model means.

Short answer

Cursor supports MCP through .cursor/mcp.json for project scope and ~/.cursor/mcp.json for global scope. The official docs also support one-click install links and programmatic registration through the extension API.

For most teams, plain JSON config is still the most transparent path because it is versionable, reviewable, and easy to diff.

Recommended path

  1. 01

    Choose project or global scope

    Put .cursor/mcp.json in a repository to share the config with a team, or use ~/.cursor/mcp.json for personal tools.

  2. 02

    Add the mcpServers entry

    Cursor’s config shape is the same basic pattern: command, args, env, and optional URL or headers for remote servers.

  3. 03

    Check Available Tools in chat

    Cursor surfaces MCP tools in the chat UI and asks for approval by default unless you deliberately enable auto-run.

Minimal local config

{
  "mcpServers": {
    "aescut": {
      "command": "npx",
      "args": ["-y", "@aeptus/aescut", "--skip-install"]
    }
  }
}

Cursor’s docs also support config interpolation such as ${env:NAME} or ${workspaceFolder}, which is helpful when a server needs workspace-relative paths or environment variables.

What Cursor does after install

The Composer Agent can automatically choose MCP tools when they are available, but approval remains an important control. Cursor documents tool approvals by default and an optional auto-run mode for users who want a more autonomous setup.

That means the real trust decision is still yours. Installation makes the tool available; it does not prove the tool deserves to run unattended.

Other install paths worth knowing about

Cursor documents two convenience surfaces that matter for websites like Aescut: a deeplink format for one-click installs and an extension API for programmatic registration. Those are useful for onboarding, but the underlying trust question is still the same as with a hand-written mcp.json.

Sources and further reading