MCP Tools Reference: developerconnect.googleapis.com

Tool: diff-repo-commit

Get the diff between two commits in a Git repository. To retrieve line-by-line patch hunks, pass path_filters (for example, ['**'] for all files).

The following code sample shows how to use curl to call the diff-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": "diff-repo-commit",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Input Schema

Request message for DiffGitRepositoryLinkCommit.

DiffGitRepositoryLinkCommitRequest

JSON representation
{
  "name": string,
  "baseSha": string,
  "headSha": string,
  "pathFilters": [
    string
  ]
}
Fields
name

string

Required. The resource name of the GitRepositoryLink.

baseSha

string

Required. The base commit SHA or ref.

headSha

string

Required. The head commit SHA or ref.

pathFilters[]

string

Optional. Path patterns or exact paths to filter returned files. When path_filters is specified, FileDiff.patch is populated for all matching files (use ["**"] to include patches for all changed files). When path_filters is omitted or empty, the full list of FileDiff is returned without patch diffs (FileDiff.patch is empty).

Output Schema

Response message for DiffGitRepositoryLinkCommit.

DiffGitRepositoryLinkCommitResponse

JSON representation
{
  "files": [
    {
      object (FileDiff)
    }
  ]
}
Fields
files[]

object (FileDiff)

The file diff extracted from the unified diff.

FileDiff

JSON representation
{
  "path": string,
  "status": string,
  "patch": string
}
Fields
path

string

Relative path to the file in the repository.

status

string

Status of change: "ADDED", "MODIFIED", "REMOVED", "RENAMED".

patch

string

Standard unified diff patch hunk for the file. Only populated when path_filters is specified in the request; otherwise empty.

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: ❌