工具: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 |
這是必要旗標,GitRepositoryLink 的資源名稱。 |
baseSha |
這是必要旗標,基礎修訂版本 SHA 或參照。 |
headSha |
這是必要旗標,頭部修訂版本 SHA 或參照。 |
pathFilters[] |
選用。路徑模式或確切路徑,用於篩選傳回的檔案。指定 |
輸出內容的結構定義
DiffGitRepositoryLinkCommit 的回應訊息。
DiffGitRepositoryLinkCommitResponse
| JSON 表示法 |
|---|
{
"files": [
{
object ( |
| 欄位 | |
|---|---|
files[] |
從統一差異中擷取的檔案差異。 |
FileDiff
| JSON 表示法 |
|---|
{ "path": string, "status": string, "patch": string } |
| 欄位 | |
|---|---|
path |
存放區中檔案的相對路徑。 |
status |
變更狀態:「ADDED」、「MODIFIED」、「REMOVED」、「RENAMED」。 |
patch |
檔案的標準 unified diff 修補程式區塊。只有在要求中指定 |
工具註解
工具註解會傳送至 MCP 用戶端,說明特定工具的基本風險。大多數用戶端會將這些提示視為不受信任,但可用於決定何時向使用者傳送確認提示。
除了標題字串外,下列布林值提示的定義如下:
readOnlyHint:如果設為 true,工具不會修改環境。預設值:false。destructiveHint:如果為 true,工具可以執行破壞性動作。如果為 false,則工具只能執行附加動作。預設值:true。idempotentHint:如果設為 true,則使用相同引數重複呼叫工具,不會對環境造成額外影響。預設值:false。openWorldHint:如果設為 true,工具就能與外部實體的「開放世界」互動。如果設為 false,工具只能與內部實體互動。舉例來說,網頁搜尋工具是開放世界,而記憶工具則不是。
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌