工具:open-repo-pull-request
在遠端 SCM 存放區中開啟提取要求。
下列程式碼範例說明如何使用 curl 呼叫 open-repo-pull-request 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": "open-repo-pull-request", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
輸入內容的結構定義
開啟 SCM 提取要求時顯示的訊息。
OpenGitRepositoryLinkPullRequestRequest
| JSON 表示法 |
|---|
{
"name": string,
"pullRequest": {
object ( |
| 欄位 | |
|---|---|
name |
這是必要旗標,GitRepositoryLink 資源名稱,格式為 |
pullRequest |
這是必要旗標,要開啟的提取要求詳細資料。使用的輸入欄位:title、body、head_ref、base_ref。 |
PullRequest
| JSON 表示法 |
|---|
{ "id": string, "title": string, "body": string, "headRef": string, "baseRef": string, "author": string, "createTime": string, "updateTime": string, "mergeTime": string, "closeTime": string, "declineTime": string, "state": enum ( |
| 欄位 | |
|---|---|
id |
這是必要旗標,PR 的 ID。 |
title |
這是必要旗標,PR 的標題。 |
body |
選用。PR 的內文說明。 |
headRef |
這是必要旗標,head 分支版本的來源修訂版本 SHA。 |
baseRef |
這是必要旗標,基礎分支版本目標修訂版本的 SHA。 |
author |
僅供輸出。作者的使用者名稱。 |
createTime |
僅供輸出。PR 的建立時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
updateTime |
僅供輸出。PR 的更新時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
mergeTime |
僅供輸出。合併 PR 的時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
closeTime |
僅供輸出。PR 關閉時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
declineTime |
僅供輸出。PR 遭拒時。僅適用於支援拒絕提取要求的 SCM 供應商。請勿為 GitHub、GitHub Enterprise、GitLab 或 GitLab Enterprise 設定,因為在這些平台中,未合併就關閉的提取要求為 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
state |
僅供輸出。PR 的目前狀態。 |
mergeability |
僅供輸出。提取要求的合併狀態。 |
htmlUrl |
僅供輸出。SCM 供應商提取要求的 HTML 網址。 |
時間戳記
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 欄位 | |
|---|---|
seconds |
代表自 Unix 紀元 1970-01-01T00:00:00Z 起算的世界標準時間秒數。必須介於 -62135596800 和 253402300799 (含) 之間 (對應 0001-01-01T00:00:00Z 至 9999-12-31T23:59:59Z)。 |
nanos |
以奈秒解析度表示的非負分數秒。這個欄位是時間長度的奈秒部分,而非秒數的替代值。含有分數的負秒值仍須有非負奈秒值,以向前計算時間。必須介於 0 至 999,999,999 之間 (含 0 和 999,999,999)。 |
狀態
PR 的狀態。
| 列舉 | |
|---|---|
STATE_UNSPECIFIED |
預設值。 |
OPEN |
PR 處於開啟狀態。 |
CLOSED |
PR 已關閉。 |
MERGED |
PR 已合併。 |
DECLINED |
PR 遭拒。僅適用於支援拒絕提取要求的 SCM 供應商。不適用於 GitHub、GitHub Enterprise、GitLab 或 GitLab Enterprise,因為在這些平台中,未合併就關閉的提取要求會是 CLOSED。 |
可合併性
提取要求的合併狀態。
| 列舉 | |
|---|---|
MERGEABILITY_UNSPECIFIED |
未指定可合併狀態。 |
MERGEABLE |
提取要求可以順利合併,不會發生 Git 衝突。 |
CONFLICTING |
提取要求有合併衝突,無法順利合併。 |
COMPUTING |
上游 SCM 供應商目前正在以非同步方式計算可合併狀態。 |
輸出內容的結構定義
代表 SCM 提取要求的訊息。
PullRequest
| JSON 表示法 |
|---|
{ "id": string, "title": string, "body": string, "headRef": string, "baseRef": string, "author": string, "createTime": string, "updateTime": string, "mergeTime": string, "closeTime": string, "declineTime": string, "state": enum ( |
| 欄位 | |
|---|---|
id |
這是必要旗標,PR 的 ID。 |
title |
這是必要旗標,PR 的標題。 |
body |
選用。PR 的內文說明。 |
headRef |
這是必要旗標,head 分支版本的來源修訂版本 SHA。 |
baseRef |
這是必要旗標,基礎分支版本目標修訂版本的 SHA。 |
author |
僅供輸出。作者的使用者名稱。 |
createTime |
僅供輸出。PR 的建立時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
updateTime |
僅供輸出。PR 的更新時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
mergeTime |
僅供輸出。合併 PR 的時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
closeTime |
僅供輸出。PR 關閉時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
declineTime |
僅供輸出。PR 遭拒時。僅適用於支援拒絕提取要求的 SCM 供應商。請勿為 GitHub、GitHub Enterprise、GitLab 或 GitLab Enterprise 設定,因為在這些平台中,未合併就關閉的提取要求為 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
state |
僅供輸出。PR 的目前狀態。 |
mergeability |
僅供輸出。提取要求的合併狀態。 |
htmlUrl |
僅供輸出。SCM 供應商提取要求的 HTML 網址。 |
時間戳記
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 欄位 | |
|---|---|
seconds |
代表自 Unix 紀元 1970-01-01T00:00:00Z 起算的世界標準時間秒數。必須介於 -62135596800 和 253402300799 (含) 之間 (對應 0001-01-01T00:00:00Z 至 9999-12-31T23:59:59Z)。 |
nanos |
以奈秒解析度表示的非負分數秒。這個欄位是時間長度的奈秒部分,而非秒數的替代值。含有分數的負秒值仍須有非負奈秒值,以向前計算時間。必須介於 0 至 999,999,999 之間 (含 0 和 999,999,999)。 |
狀態
PR 的狀態。
| 列舉 | |
|---|---|
STATE_UNSPECIFIED |
預設值。 |
OPEN |
PR 處於開啟狀態。 |
CLOSED |
PR 已關閉。 |
MERGED |
PR 已合併。 |
DECLINED |
PR 遭拒。僅適用於支援拒絕提取要求的 SCM 供應商。不適用於 GitHub、GitHub Enterprise、GitLab 或 GitLab Enterprise,因為在這些平台中,未合併就關閉的提取要求會是 CLOSED。 |
可合併性
提取要求的合併狀態。
| 列舉 | |
|---|---|
MERGEABILITY_UNSPECIFIED |
未指定可合併狀態。 |
MERGEABLE |
提取要求可以順利合併,不會發生 Git 衝突。 |
CONFLICTING |
提取要求有合併衝突,無法順利合併。 |
COMPUTING |
上游 SCM 供應商目前正在以非同步方式計算可合併狀態。 |
工具註解
工具註解會傳送至 MCP 用戶端,說明特定工具的基本風險。大多數用戶端會將這些提示視為不受信任,但可用於決定何時向使用者傳送確認提示。
除了標題字串外,下列布林值提示的定義如下:
readOnlyHint:如果設為 true,工具不會修改環境。預設值:false。destructiveHint:如果為 true,工具可以執行破壞性動作。如果為 false,則工具只能執行附加動作。預設值:true。idempotentHint:如果設為 true,則使用相同引數重複呼叫工具,不會對環境造成額外影響。預設值:false。openWorldHint:如果設為 true,工具就能與外部實體的「開放世界」互動。如果設為 false,工具只能與內部實體互動。舉例來說,網頁搜尋工具是開放世界,而記憶工具則不是。
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ❌