MCP Tools Reference: developerconnect.googleapis.com

工具:diff-repo-commit

取得 Git 存放區中兩項修訂版本之間的差異。如要擷取逐行修補程式區塊,請傳遞 path_filters (例如,['**'] 代表所有檔案)。

下列程式碼範例說明如何使用 curl 呼叫 diff-repo-commit MCP 工具。

Curl 要求
curl --location 'https://developerconnect.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "diff-repo-commit",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

輸入內容的結構定義

DiffGitRepositoryLinkCommit 的要求訊息。

DiffGitRepositoryLinkCommitRequest

JSON 表示法
{
  "name": string,
  "baseSha": string,
  "headSha": string,
  "pathFilters": [
    string
  ]
}
欄位
name

string

這是必要旗標,GitRepositoryLink 的資源名稱。

baseSha

string

這是必要旗標,基礎修訂版本 SHA 或參照。

headSha

string

這是必要旗標,頭部修訂版本 SHA 或參照。

pathFilters[]

string

選用。路徑模式或確切路徑,用於篩選傳回的檔案。指定 path_filters 時,系統會為所有相符檔案填入 FileDiff.patch (使用 ["**"] 可納入所有變更檔案的修補程式)。如果省略 path_filters 或留空,系統會傳回完整的 FileDiff 清單,不含修補程式差異 (FileDiff.patch 為空白)。

輸出內容的結構定義

DiffGitRepositoryLinkCommit 的回應訊息。

DiffGitRepositoryLinkCommitResponse

JSON 表示法
{
  "files": [
    {
      object (FileDiff)
    }
  ]
}
欄位
files[]

object (FileDiff)

從統一差異中擷取的檔案差異。

FileDiff

JSON 表示法
{
  "path": string,
  "status": string,
  "patch": string
}
欄位
path

string

存放區中檔案的相對路徑。

status

string

變更狀態:「ADDED」、「MODIFIED」、「REMOVED」、「RENAMED」。

patch

string

檔案的標準 unified diff 修補程式區塊。只有在要求中指定 path_filters 時,系統才會填入資料,否則會留空。

工具註解

工具註解會傳送至 MCP 用戶端,說明特定工具的基本風險。大多數用戶端會將這些提示視為不受信任,但可用於決定何時向使用者傳送確認提示。

除了標題字串外,下列布林值提示的定義如下:

  • readOnlyHint:如果設為 true,工具不會修改環境。預設值:false。
  • destructiveHint:如果為 true,工具可以執行破壞性動作。如果為 false,則工具只能執行附加動作。預設值:true。
  • idempotentHint:如果設為 true,則使用相同引數重複呼叫工具,不會對環境造成額外影響。預設值:false。
  • openWorldHint:如果設為 true,工具就能與外部實體的「開放世界」互動。如果設為 false,工具只能與內部實體互動。舉例來說,網頁搜尋工具是開放世界,而記憶工具則不是。

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌