MCP Tools Reference: developerconnect.googleapis.com

工具: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 (PullRequest)
  }
}
字段
name

string

必需。GitRepositoryLink 资源的名称,格式为 projects/*/locations/*/connections/*/gitRepositoryLinks/*。

pullRequest

object (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 (State),
  "mergeability": enum (Mergeability),
  "htmlUrl": string
}
字段
id

string

必需。PR 的 ID。

title

string

必需。PR 的标题。

body

string

可选。PR 的正文说明。

headRef

string

必需。头部分支的源提交 SHA。

baseRef

string

必需。基础分支的目标提交 SHA。

author

string

仅限输出。作者的用户名。

createTime

string (Timestamp format)

仅限输出。PR 的创建时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

updateTime

string (Timestamp format)

仅限输出。PR 的更新时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

mergeTime

string (Timestamp format)

仅限输出。PR 的合并时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

closeTime

string (Timestamp format)

仅限输出。PR 的关闭时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

declineTime

string (Timestamp format)

仅限输出。PR 被拒。仅针对支持拒绝拉取请求的 SCM 提供方设置。对于 GitHub、GitHub Enterprise、GitLab 或 GitLab Enterprise,此字段绝不会设置,因为在这些平台上,拉取请求在关闭时若未合并,则状态为 CLOSED。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

state

enum (State)

仅限输出。PR 的当前状态。

mergeability

enum (Mergeability)

仅限输出。拉取请求的可合并性状态。

htmlUrl

string

仅限输出。SCM 提供方上的拉取请求的 HTML 网址。

时间戳

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值,对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z)。

nanos

integer

秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 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 (State),
  "mergeability": enum (Mergeability),
  "htmlUrl": string
}
字段
id

string

必需。PR 的 ID。

title

string

必需。PR 的标题。

body

string

可选。PR 的正文说明。

headRef

string

必需。头部分支的源提交 SHA。

baseRef

string

必需。基础分支的目标提交 SHA。

author

string

仅限输出。作者的用户名。

createTime

string (Timestamp format)

仅限输出。PR 的创建时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

updateTime

string (Timestamp format)

仅限输出。PR 的更新时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

mergeTime

string (Timestamp format)

仅限输出。PR 的合并时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

closeTime

string (Timestamp format)

仅限输出。PR 的关闭时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

declineTime

string (Timestamp format)

仅限输出。PR 被拒。仅针对支持拒绝拉取请求的 SCM 提供方设置。对于 GitHub、GitHub Enterprise、GitLab 或 GitLab Enterprise,此字段绝不会设置,因为在这些平台上,拉取请求在关闭时若未合并,则状态为 CLOSED。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

state

enum (State)

仅限输出。PR 的当前状态。

mergeability

enum (Mergeability)

仅限输出。拉取请求的可合并性状态。

htmlUrl

string

仅限输出。SCM 提供方上的拉取请求的 HTML 网址。

时间戳

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值,对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z)。

nanos

integer

秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 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,则该工具只能与内部实体交互。例如,网页搜索工具是开放世界,而记忆工具不是开放世界。

破坏性提示:❌ | 幂等性提示:❌ | 只读提示:❌ | 开放世界提示:❌