什麼是 MCP?

Model Context Protocol(MCP) 讓 Cursor 能夠連接外部工具和資料來源。

為什麼要使用 MCP?

MCP 讓 Cursor 能連接外部系統與資料。與其反覆解釋專案結構,不如直接跟你的工具整合。 用任何能輸出到 stdout 或提供 HTTP 端點的語言撰寫 MCP 伺服器,例如 Python、JavaScript、Go 等。

運作方式

MCP 伺服器透過協定公開功能,讓 Cursor 能連接到外部工具或資料來源。 Cursor 支援三種傳輸方式:
傳輸方式執行環境部署方式使用者輸入驗證
stdio本機由 Cursor 管理單一使用者Shell 指令手動
SSE本機/遠端部署為伺服器多位使用者指向 SSE 端點的 URLOAuth
Streamable HTTP本機/遠端部署為伺服器多位使用者指向 HTTP 端點的 URLOAuth

協定支援

Cursor 支援以下 MCP 協定功能:
功能支援狀態說明
Tools支援供 AI 模型呼叫執行的函式
Prompts支援提供給使用者的樣板化訊息與工作流程
Resources支援可讀取並供參考的結構化資料來源
Roots支援由伺服器發起、針對 URI 或檔案系統邊界的探詢
Elicitation支援由伺服器發起、向使用者要求提供更多資訊

安裝 MCP 服務器

一鍵安裝

從我們的集合中安裝 MCP 伺服器,並用 OAuth 完成驗證。

使用 mcp.json

用 JSON 檔案設定自訂 MCP 伺服器:
{
  "mcpServers": {
    "server-name": {
      "command": "npx",
      "args": ["-y", "mcp-server"],
      "env": {
        "API_KEY": "value"
      }
    }
  }
}

STDIO 伺服器設定

對於 STDIO 伺服器(本機命令列伺服器),請在 mcp.json 中設定以下欄位:
欄位必填說明範例
type伺服器連線類型"stdio"
command用來啟動伺服器可執行檔的指令。必須能在系統路徑中找到,或包含其完整路徑。"npx", "node", "python", "docker"
args傳遞給指令的參數陣列["server.py", "--port", "3000"]
env伺服器的環境變數{"API_KEY": "${input:api-key}"}
envFile用於載入更多變數的環境檔路徑".env", "${workspaceFolder}/.env"

使用 Extension API

為了以程式化方式註冊 MCP 伺服器,Cursor 提供 Extension API,讓你在不修改 mcp.json 的情況下進行動態設定。這在企業環境與自動化設定流程中特別實用。

MCP Extension API Reference

了解如何使用 vscode.cursor.mcp.registerServer() 以程式化方式註冊 MCP 伺服器

設定位置

專案設定

在專案中建立 .cursor/mcp.json,用於專案專用的工具。

全域設定

在家目錄建立 ~/.cursor/mcp.json,讓工具在任何地方都能使用。

組態插值

可以在 mcp.json 的值中使用變數。Cursor 會在這些欄位解析變數:commandargsenvurlheaders 支援的語法:
  • ${env:NAME} 環境變數
  • ${userHome} 你的使用者家目錄路徑
  • ${workspaceFolder} 專案根目錄(包含 .cursor/mcp.json 的資料夾)
  • ${workspaceFolderBasename} 專案根目錄的名稱
  • ${pathSeparator}${/} 作業系統的路徑分隔符號
範例
{
  "mcpServers": {
    "local-server": {
      "command": "python",
      "args": ["${workspaceFolder}/tools/mcp_server.py"],
      "env": {
        "API_KEY": "${env:API_KEY}"
      }
    }
  }
}
{
  "mcpServers": {
    "remote-server": {
      "url": "https://api.example.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:MY_SERVICE_TOKEN}"
      }
    }
  }
}

驗證

MCP 伺服器透過環境變數進行驗證。請在 config 中傳入 API 金鑰和權杖。 對於需要 OAuth 的伺服器,Cursor 也有支援。

在聊天中使用 MCP

Composer Agent 會在需要時自動使用列在「Available Tools」下的 MCP 工具。可以直接用名稱指定特定工具,或描述你的需求。可以在設定中啟用或停用工具。

切換工具

可以直接在聊天介面啟用或停用 MCP 工具。點一下工具列表中的工具名稱即可切換。停用的工具不會載入到上下文,也不會提供給 Agent 使用。

工具核准

Agent 預設在使用 MCP 工具前會先請求核准。點擊工具名稱旁的箭頭可查看引數。

自動執行

啟用自動執行,讓 Agent 無需詢問就能使用 MCP 工具。運作方式類似終端機指令。想了解自動執行設定的更多資訊,請看這裡

工具回應

Cursor 會在聊天中顯示回應,並提供可展開檢視的參數與回應:

以圖片作為上下文

MCP 伺服器可以回傳圖片(螢幕截圖、示意圖等)。請將它們以 base64 編碼的字串回傳:
const RED_CIRCLE_BASE64 = "/9j/4AAQSkZJRgABAgEASABIAAD/2w...";
// ^ 為了易讀性,已將完整的 base64 內容截斷

server.tool("generate_image", async (params) => {
  return {
    content: [
      {
        type: "image",
        data: RED_CIRCLE_BASE64,
        mimeType: "image/jpeg",
      },
    ],
  };
});
想了解實作細節,請參考這個範例伺服器。Cursor 會把回傳的圖片附加到對話中。若模型支援圖片,就會加以分析。

安全性考量

安裝 MCP 伺服器時,請留意以下安全實務:
  • 驗證來源:僅從可信任的開發者與套件庫安裝 MCP 伺服器
  • 檢視權限:確認伺服器會存取哪些資料與 API
  • 限制 API 金鑰:使用權限最小化且受限的 API 金鑰
  • 稽核程式碼:對關鍵整合,審閱伺服器的原始碼
記住 MCP 伺服器可能會存取外部服務,並代表你執行程式碼。安裝前務必先了解伺服器的行為與功能。

真實案例

想看 MCP 的實際應用範例?快看看我們的 Web Development guide,示範如何把 Linear、Figma 與瀏覽器工具整合進你的開發流程。

常見問題

MCP 伺服器把 Cursor 連到像 Google Drive、Notion 等外部工具和服務,讓文件和需求直接進到你的開發流程。
查看 MCP 日誌:1. 在 Cursor 打開 Output 面板(Ctrl+Shift+U) 2. 從下拉選單選擇「MCP Logs」3. 檢查連線錯誤、驗證問題或伺服器當機 日誌會顯示伺服器初始化、工具呼叫與錯誤訊息。
可以!不用移除就能切換伺服器開/關:1. 打開 Settings( Ctrl+Shift+J)2. 前往 Features → Model Context Protocol 3. 點擊任一伺服器旁的切換鈕即可啟用/停用 被停用的伺服器不會載入或出現在聊天中。這對疑難排解或減少工具雜訊很有幫助。
如果 MCP 伺服器失敗:- Cursor 會在聊天中顯示錯誤訊息 - 該次工具呼叫會被標記為失敗 - 你可以重試或查看日誌以取得細節 - 其他 MCP 伺服器會照常運作 Cursor 會隔離伺服器故障,避免單一伺服器影響其他伺服器。
對於 npm 型伺服器:1. 從設定中移除該伺服器 2. 清除 npm 快取: npm cache clean --force 3. 重新加入該伺服器以取得最新版本 對於自訂伺服器,更新本機檔案並重新啟動 Cursor。
可以,但請遵循資安最佳實務:- 用環境變數管理機密,絕不要硬編碼 - 在本機以 stdio 傳輸執行含敏感資料的伺服器 - 將 API 金鑰權限降到最低必要 - 連接敏感系統前先審查伺服器程式碼 - 考慮在隔離環境中執行伺服器