AI 编程教程中文版
官方教程中文版上下文与定制

MCP

基于 Cursor 官方 MCP 文档解释 transports、mcp.json、OAuth、config interpolation、tool approval 和 Cloud Agents。

MCP(Model Context Protocol,模型上下文协议——Anthropic 主导的开放协议,让 LLM agent 通过统一接口访问外部工具和数据源)让 Cursor 连接外部工具和数据源,例如数据库、API、GitHub、Linear、Notion。官方文档说明,MCP server 通过协议把 tools、resources、prompts、apps 等能力暴露给 Cursor Agent。

这不是“多接几个插件”。MCP 可能读取生产数据,也可能执行外部写操作,必须按任务最小授权。

阅读目标:读完本章,你应该能看懂 .cursor/mcp.json~/.cursor/mcp.json,并知道 MCP tool 默认需要 approval。

1. Cursor 支持的 transport

官方 MCP 文档列出三种 transport。

TransportExecution environmentDeploymentUsersInputAuth
stdioLocalCursor managesSingle userShell commandManual
SSELocal / RemoteDeploy as serverMultiple usersSSE endpoint URLOAuth
Streamable HTTPLocal / RemoteDeploy as serverMultiple usersHTTP endpoint URLOAuth

选择方式:

  • 本机脚本、开发工具:stdio
  • 团队共享服务:SSE 或 Streamable HTTP。
  • 需要 OAuth 或多用户访问:remote server。

2. MCP capabilities

官方列出 Cursor 支持:

Feature作用
ToolsAI model 可执行的函数
Prompts模板化消息和 workflow
Resources可读取和引用的结构化数据源
Rootsserver 发起的 URI 或文件系统边界询问
Elicitationserver 向用户请求额外信息
AppsMCP tools 返回 interactive UI

MCP Apps 支持 progressive enhancement:host 不能渲染 UI 时,工具仍可通过普通 MCP response 工作。

3. 配置位置

官方 Help Center 说明:

文件范围
.cursor/mcp.jsonproject-specific,可提交给团队
~/.cursor/mcp.jsonglobal,个人所有项目可用

两个文件会合并;同名 server 同时出现时,project-level config 优先。

flowchart TD
  Need["需要外部工具"] --> Scope{"项目共享还是个人"}
  Scope -->|项目共享| Project[".cursor/mcp.json"]
  Scope -->|个人| Global["~/.cursor/mcp.json"]
  Project --> Approval["Tool approval by default"]
  Global --> Approval
  Approval --> Agent["Agent uses tools when relevant"]

4. mcp.json 基本写法

本地 stdio server:

{
  "mcpServers": {
    "server-name": {
      "command": "npx",
      "args": ["-y", "mcp-server"],
      "env": {
        "API_KEY": "${env:API_KEY}"
      }
    }
  }
}

remote server:

{
  "mcpServers": {
    "my-service": {
      "url": "https://mcp.example.com/sse",
      "headers": {
        "Authorization": "Bearer ${env:MY_SERVICE_TOKEN}"
      }
    }
  }
}

官方支持 config interpolation:

  • ${env:NAME}
  • ${userHome}
  • ${workspaceFolder}
  • ${workspaceFolderBasename}
  • ${pathSeparator} / ${/}

不要把 API key、bearer token、OAuth client secret 硬编码进仓库。用环境变量或团队凭据机制。

5. Tool approval 与 auto-run

官方文档说明,Agent 默认在使用 MCP tools 前请求 approval。可以点开 tool name 旁边箭头查看 arguments。

Auto-run 可以让 Agent 不询问直接使用 MCP tools,行为类似 terminal commands。若要预配置哪些 MCP tools 可自动运行,可写入 ~/.cursor/permissions.json

建议:

  • 只读查询类 tools 可考虑 allow。
  • 写 issue、改数据库、发消息、部署、付款相关 tools 默认保持 approval。
  • 团队共享 MCP server 必须写清 tool 风险。
深读:MCP 为什么要先从只读能力开始

MCP 把 Cursor Agent 接进外部系统。一次错误调用可能不只是改错代码,而是创建错误 issue、查询敏感数据、触发远端动作或改变团队工作流。

因此第一阶段只接 resources 或只读 tools,验证 server、认证、日志和返回格式稳定后,再考虑开放写操作,并保留 approval。

6. Cloud Agents 和团队 MCP

官方 Help Center 说明 Cloud Agents 支持 MCP servers,可在 Cloud Agents dashboard 配置;Team plan 也可以在 Settings > Integrations 下配置 shared MCP servers。

这意味着团队要区分:

  • 本地开发 MCP。
  • 项目共享 MCP。
  • Cloud Agent MCP。
  • 组织级共享 MCP。

不同范围要有不同权限和审计。

本章自检

完成本章后,用这 3 个问题检查自己是否真正理解:

  1. stdioSSEStreamable HTTP 三种 transport 适合什么场景?
  2. .cursor/mcp.json~/.cursor/mcp.json 同名 server 谁优先?
  3. 为什么 MCP 写操作默认不应该 auto-run?

通过标准:你能审查一个 MCP 配置,判断它是否应该项目共享、是否安全使用环境变量、是否需要保留 tool approval。

官方来源

  • Cursor MCP —— 官方说明 MCP transports、capabilities、mcp.json、OAuth、interpolation、tool approval 和 auto-run。
  • Cursor MCP Help —— Help Center 说明安装、配置位置、工具开关、日志和 Cloud Agents MCP。

接下来去哪

本页目录