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。
| Transport | Execution environment | Deployment | Users | Input | Auth |
|---|---|---|---|---|---|
stdio | Local | Cursor manages | Single user | Shell command | Manual |
SSE | Local / Remote | Deploy as server | Multiple users | SSE endpoint URL | OAuth |
Streamable HTTP | Local / Remote | Deploy as server | Multiple users | HTTP endpoint URL | OAuth |
選擇方式:
- 本機指令碼、開發工具:
stdio。 - 團隊共享服務:SSE 或 Streamable HTTP。
- 需要 OAuth 或多使用者訪問:remote server。
2. MCP capabilities
官方列出 Cursor 支援:
| Feature | 作用 |
|---|---|
| Tools | AI model 可執行的函式 |
| Prompts | 模板化訊息和 workflow |
| Resources | 可讀取和引用的結構化資料來源 |
| Roots | server 發起的 URI 或檔案系統邊界詢問 |
| Elicitation | server 向使用者請求額外資訊 |
| Apps | MCP tools 返回 interactive UI |
MCP Apps 支援 progressive enhancement:host 不能渲染 UI 時,工具仍可透過普通 MCP response 工作。
3. 配置位置
官方 Help Center 說明:
| 檔案 | 範圍 |
|---|---|
.cursor/mcp.json | project-specific,可提交給團隊 |
~/.cursor/mcp.json | global,個人所有專案可用 |
兩個檔案會合並;同名 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 個問題檢查自己是否真正理解:
stdio、SSE、Streamable HTTP三種 transport 適合什麼場景?.cursor/mcp.json和~/.cursor/mcp.json同名 server 誰優先?- 為什麼 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。