Tool: fetch-repo-commit
Fetch details of a specific commit from a Git repository. To retrieve line-by-line patch hunks in FULL view, pass path_filters (for example, ['**'] for all files).
The following code sample shows how to use curl to call the fetch-repo-commit MCP tool.
| Curl Request |
|---|
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 }' |
Input Schema
Request message for FetchGitRepositoryLinkCommit.
FetchGitRepositoryLinkCommitRequest
| JSON representation |
|---|
{
"name": string,
"commitSha": string,
"view": enum ( |
| Fields | |
|---|---|
name |
Required. The resource name of the GitRepositoryLink in the format |
commitSha |
Required. The commit SHA, or symbolic revision (for example, branch name, tag, or Git reference). |
view |
Optional. The level of commit details to return in the response. Defaults to |
pathFilters[] |
Optional. Path patterns or exact paths to filter returned files (only applicable in |
CommitView
The level of commit details to return in the response.
| Enums | |
|---|---|
COMMIT_VIEW_UNSPECIFIED |
Unspecified, defaults to BASIC. |
BASIC |
Basic view, returns commit metadata but no file diffs. |
FULL |
Full view, returns commit metadata and file diffs. |
Output Schema
Response message for FetchGitRepositoryLinkCommit.
FetchGitRepositoryLinkCommitResponse
| JSON representation |
|---|
{ "commit": { object ( |
| Fields | |
|---|---|
commit |
The commit metadata. |
files[] |
List of file changes and patch diffs. Omitted when view is |
SCMCommit
| JSON representation |
|---|
{ "sha": string, "message": string, "author": string, "authorEmail": string, "commitTime": string, "url": string } |
| Fields | |
|---|---|
sha |
Full 40-character SCM commit SHA. |
message |
Commit message text. |
author |
The author's display name. |
authorEmail |
The author's email address. |
commitTime |
Timestamp when the commit was authored. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
url |
The SCM provider's HTML URL link for this commit. |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos |
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
FileDiff
| JSON representation |
|---|
{ "path": string, "status": string, "patch": string } |
| Fields | |
|---|---|
path |
Relative path to the file in the repository. |
status |
Status of change: "ADDED", "MODIFIED", "REMOVED", "RENAMED". |
patch |
Standard unified diff patch hunk for the file. Only populated when |
Tool Annotations
Tool annotations are sent to MCP clients to describe the basic risk of a given tool. Most clients treat these hints as untrusted, but they can be used to decide when a confirmation prompt might be sent to a user.
Along with the title string, the following boolean hints are defined as follows:
readOnlyHint: If true, the tool doesn't modify its environment. Default: false.destructiveHint: If true, then the tool can perform destructive actions. If false, then the tool can only perform additive actions. Default: true.idempotentHint: If true, then calling the tool repeatedly with the same arguments will have no additional effect on its environment. Default: false.openWorldHint: If true, then the tool can interact with an 'open world' of external entities. If false, then the tool can only interact with internal entities. For example, a web search tool would be open world, while a memory tool would not be open world.
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌