Verdent Docs
設定

MCP 整合

透過 Model Context Protocol 伺服器與外掛擴充 Verdent

什麼是 MCP(Model Context Protocol)?

Model Context Protocol(MCP)是一套整合系統,透過連接外部工具、資料來源與服務來擴充 Verdent 的能力。

核心概念: MCP 讓 Verdent 能與其內建工具集以外的系統互動,實現與下列項目的無縫整合:

  • 外部 API 與網路服務
  • 資料庫系統
  • 雲端平台(AWS、Azure、GCP)
  • 專案管理工具
  • CI/CD 流程
  • 自訂內部工具

架構: MCP 伺服器作為 Verdent 與外部系統之間的橋樑。每個 MCP 伺服器會公開特定能力,讓 Verdent 在編碼工作階段中呼叫,類似 file_readbash 等內建工具。

設定儲存: MCP 伺服器設定儲存於 ~/.verdent/mcp.json,並透過設定選單管理。


MCP 整合的優點

擴充能力

存取外部系統: 將 Verdent 連接到內建功能無法使用的工具與服務。查詢資料庫、與雲端服務互動,或整合專案特定的 API,全程無需離開你的編碼工作流程。

自訂工具開發: 針對專案的獨特需求打造客製化的 MCP 伺服器。為內部工具、專有 API 或特定領域的系統建立專屬整合。

互通性

運用生態系: 接入持續成長的 MCP 生態系。社群開發的 MCP 伺服器為熱門工具與服務提供現成的整合方案。

標準化協定: MCP 提供一致的工具整合介面,確保新能力能順暢地融入 Verdent 既有的工具系統。

工作流程自動化

無縫整合: MCP 伺服器會成為 Verdent 工具集的一部分。代理會在適當時機自動使用 MCP 工具,你也可以針對特定任務明確呼叫它們。

情境感知操作: MCP 整合能理解你的程式碼庫上下文,根據目前的開發狀態與外部系統進行智慧互動。


設定 MCP 伺服器

設定流程

存取 MCP 設定:

  1. 在 Verdent 中開啟設定選單
  2. 前往 MCP Servers 區段
  3. 檢視或修改 ~/.verdent/mcp.json 設定

設定檔: MCP 伺服器透過 ~/.verdent/mcp.json 檔案設定,該檔案定義伺服器連線、驗證與整合參數。完整結構請參閱下方的 MCP 設定 區段。

設定管理

新增伺服器:mcp.json 中加入包含連線細節與驗證憑證的項目,即可設定新的 MCP 伺服器。

多個伺服器: Verdent 支援多個並行的 MCP 伺服器,可同時整合數個外部系統。

測試連線: 驗證 MCP 伺服器設定,以確保在開發工作流程中使用前能成功連線。

伺服器狀態

在 MCP 設定面板中監控連線狀態:

狀態說明
Success伺服器已連線,工具可供使用
Failed連線錯誤(點擊以檢視詳情)
Loading伺服器初始化中

重新整理工具: 在設定變更或連線發生問題後,點擊重新整理按鈕以重新探索伺服器提供的可用工具。


MCP 設定

基本設定

位置: 專案根目錄中的 .mcp.json~/.verdent/mcp.json(全域)

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://localhost:5432/myapp_dev"
      ]
    }
  }
}
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://localhost:5432/myapp_dev"
      ]
    },
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
      }
    }
  }
}

設定鍵:

  • mcpServers - MCP 設定的必要頂層鍵
  • command - 要執行的可執行檔(Node.js 套件通常為 npx
  • args - 傳遞給命令的引數(套件名稱、連線字串等)
  • env - 用於驗證/設定的環境變數

深入了解 MCP:


MCP 外掛與擴充

可用的外掛

MCP 外掛為常見工具與服務提供現成的整合。請至 mcp.so/servers 的社群登錄處,或 官方 MCP 伺服器儲存庫 瀏覽目前可用的項目。

常見外掛類別:

  • 資料庫整合: PostgreSQL、MySQL、MongoDB 查詢工具
  • 雲端服務: AWS、Azure、GCP API 互動
  • 開發者工具: GitHub、GitLab、Jira、Linear 整合
  • CI/CD 平台: Jenkins、GitHub Actions、CircleCI
  • 監控服務: Datadog、New Relic、Sentry
  • 通訊: Slack、Discord、Microsoft Teams 通知

外掛安裝

安裝方式: 外掛透過 MCP 設定介面安裝與設定,通常需要:

  • 外掛識別碼或來源
  • 設定參數
  • 驗證憑證(如適用)

相依性管理: MCP 外掛可能相依於外部服務或函式庫。安裝程序會在可能時自動處理相依性解析。


自訂 MCP 伺服器開發

建立自訂伺服器

進階使用者可建立自訂 MCP 伺服器,以整合專有工具或特定領域的系統。

開發方式: 自訂 MCP 伺服器實作 MCP 協定規範,公開可供 Verdent 呼叫的工具能力。實作細節與 SDK 請參閱 Model Context Protocol 規範

自訂伺服器的使用情境:

  • 內部 API 整合: 連接到公司專屬的 API 與服務
  • 舊系統橋接: 讓 Verdent 能與舊有基礎架構互動
  • 專屬資料來源: 存取專有資料庫或資料倉儲
  • 工作流程自動化: 觸發自訂的建置、部署或測試流程

整合模式

工作區層級設定: MCP 伺服器可在工作區層級設定以供專案專屬整合,讓團隊能透過版本控制共用 MCP 設定。

工具互通性: MCP 提供的工具能與 Verdent 的內建工具(file_readbashspawn_subagent)無縫整合,實現結合多種工具類型的複雜工作流程。


Desktop 專屬的 MCP 功能

各專案個別設定

設定層級位置範圍
全域~/.verdent/mcp.json所有專案
專案專案根目錄中的 .mcp.json單一專案
Worktree繼承自專案繼承專案設定

多 Worktree MCP

MCP 伺服器可跨 worktree 運作:

  • 共用伺服器: 基礎工作區的 MCP 設定由所有 worktree 共用
  • 隔離操作: 每個 worktree 維護各自獨立的 MCP 工作階段狀態
  • 並行存取: 多個 worktree 可同時使用相同的 MCP 伺服器

專案切換

切換專案時:

  • 載入目前專案的 MCP 伺服器
  • 全域 MCP 伺服器仍可使用
  • 先前專案的 MCP 連線於背景中維持

MCP 工作流程範例

資料庫查詢整合

情境: 查詢正式環境資料庫以除錯資料問題。

MCP 做法:

User: "Check the orders table for customer ID 12345"
Verdent: [Uses MCP database server to execute safe read-only query]
        Results: 3 orders found for customer 12345
        [Displays formatted results]

MCP 資料庫伺服器會處理驗證、查詢驗證與結果格式化。

雲端服務互動

情境: 檢查 AWS Lambda 函式日誌以找出錯誤。

MCP 做法:

User: "Show me recent errors from the payment-processor Lambda function"
Verdent: [Invokes MCP AWS integration]
        [Retrieves CloudWatch logs for specified function]
        [Filters for ERROR level entries]
        [Presents formatted error summaries]

MCP AWS 伺服器負責管理驗證、API 呼叫與日誌解析。

CI/CD 流程監控

情境: 在部署變更前檢查建置狀態。

MCP 做法:

User: "Is the master branch build passing?"
Verdent: [Queries MCP CI/CD integration]
        Build #245: ✓ Passed (2 minutes ago)
        All tests passed, ready for deployment

MCP CI/CD 伺服器會追蹤流程狀態並提供即時回饋。


安全考量

驗證與授權

憑證管理: MCP 伺服器負責處理對外部服務的驗證。憑證會安全地儲存在 MCP 設定中,絕不會出現在對話記錄或程式碼裡。

權限範圍控管: 為 MCP 伺服器設定最低必要的權限。盡可能使用唯讀存取,並限制破壞性操作。

安全操作

命令審查: 涉及 MCP 工具的操作會顯示在對話記錄中,提供可見性與控制權。

稽核記錄: MCP 伺服器操作會出現在 Verdent 的對話記錄中,建立外部系統互動的稽核軌跡。


MCP 整合疑難排解

常見問題

連線失敗:

  • 確認與 MCP 伺服器的網路連線
  • 檢查 mcp.json 中的驗證憑證
  • 確保 MCP 伺服器正在執行且可存取
  • 驗證設定檔語法

權限錯誤:

  • 確認 API 金鑰或憑證具備所需權限
  • 檢查服務配額或速率限制
  • 確認防火牆規則允許 MCP 流量

工具呼叫問題:

  • 確保 MCP 伺服器正確公開預期的工具
  • 檢查工具參數格式是否符合伺服器預期
  • 查看 MCP 伺服器日誌以了解錯誤細節

取得協助

支援管道:

診斷資訊: 回報 MCP 問題時,請提供:

  • MCP 伺服器類型與版本
  • 設定細節(移除憑證後)
  • 對話記錄中的錯誤訊息
  • MCP 伺服器日誌(如可取得)

常見問題

MCP 伺服器會消耗點數嗎?

MCP 伺服器操作會根據處理結果的模型消耗點數。MCP 伺服器本身不會直接使用點數。

MCP 伺服器是專案專屬的嗎?

不是。MCP 伺服器是在使用者層級設定,而非各專案。所有已設定的伺服器都可在你的所有專案中使用。

我的憑證放在 mcp.json 中安全嗎?

mcp.json 中的憑證會儲存在你本機的電腦上,絕不會傳送到 Verdent 伺服器。敏感值請使用環境變數(${VAR_NAME})。

MCP 伺服器會持續執行嗎?

MCP 伺服器會在需要時啟動,並在你的工作階段期間執行。Verdent 關閉時不會消耗資源。

MCP 伺服器可以修改我的檔案嗎?

MCP 伺服器擁有你所設定的權限。請盡可能使用唯讀存取,並限制破壞性操作。

我要如何知道我的 MCP 伺服器是否正常運作?

請 Verdent 使用 MCP 伺服器提供的某個工具。若成功回應,即表示連線正常運作。若發生問題,請參閱疑難排解區段。