工具:fetch-repo-commit
从 Git 代码库中提取特定提交的详细信息。如需在 FULL 视图中检索逐行补丁块,请传递 path_filters(例如,['**'] 表示所有文件)。
以下代码示例展示了如何使用 curl 调用 fetch-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": "fetch-repo-commit", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
输入架构
FetchGitRepositoryLinkCommit 的请求消息。
FetchGitRepositoryLinkCommitRequest
| JSON 表示法 |
|---|
{
"name": string,
"commitSha": string,
"view": enum ( |
| 字段 | |
|---|---|
name |
必需。GitRepositoryLink 的资源名称,格式为 |
commitSha |
必需。提交 SHA 或符号修订版本(例如分支名称、标记或 Git 引用)。 |
view |
可选。要在响应中返回的提交详情级别。如果未指定,则默认为 |
pathFilters[] |
可选。用于过滤返回的文件的路径模式或确切路径(仅适用于 |
CommitView
要在响应中返回的提交详情级别。
| 枚举 | |
|---|---|
COMMIT_VIEW_UNSPECIFIED |
未指定,默认为 BASIC。 |
BASIC |
基本视图,返回提交元数据,但不返回文件差异。 |
FULL |
完整视图,返回提交元数据和文件差异。 |
输出架构
FetchGitRepositoryLinkCommit 的响应消息。
FetchGitRepositoryLinkCommitResponse
| JSON 表示法 |
|---|
{ "commit": { object ( |
| 字段 | |
|---|---|
commit |
提交元数据。 |
files[] |
文件更改和补丁差异列表。当视图为 |
SCMCommit
| JSON 表示法 |
|---|
{ "sha": string, "message": string, "author": string, "authorEmail": string, "commitTime": string, "url": string } |
| 字段 | |
|---|---|
sha |
完整的 40 字符 SCM 提交 SHA。 |
message |
提交消息文本。 |
author |
作者的显示名称。 |
authorEmail |
作者的邮箱。 |
commitTime |
提交创建时的时间戳。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
url |
此提交的 SCM 提供商 HTML 网址链接。 |
时间戳
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 字段 | |
|---|---|
seconds |
表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值,对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z)。 |
nanos |
秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。 |
FileDiff
| JSON 表示法 |
|---|
{ "path": string, "status": string, "patch": string } |
| 字段 | |
|---|---|
path |
代码库中文件的相对路径。 |
status |
更改的状态:“ADDED”“MODIFIED”“REMOVED”“RENAMED”。 |
patch |
文件的标准统一差异补丁块。仅在请求中指定 |
工具注释
工具注解会发送到 MCP 客户端,用于描述给定工具的基本风险。大多数客户端会将这些提示视为不可信,但可用于决定何时向用户发送确认提示。
除了标题字符串之外,还定义了以下布尔值提示:
readOnlyHint:如果为 true,则该工具不会修改其环境。默认值:false。destructiveHint:如果为 true,则该工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。idempotentHint:如果为 true,则使用相同参数重复调用该工具不会对其环境产生额外影响。默认值:false。openWorldHint:如果为 true,则该工具可以与外部实体的“开放世界”进行交互。如果为 false,则该工具只能与内部实体交互。例如,网页搜索工具是开放世界,而记忆工具不是开放世界。
破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌