MCP Tools Reference: developerconnect.googleapis.com

Tool: fetch-repo-commit

Details eines bestimmten Commits aus einem Git-Repository abrufen. Wenn Sie zeilenweise Patch-Hunks in der Ansicht FULL abrufen möchten, übergeben Sie path_filters (z. B. ['**'] für alle Dateien).

Das folgende Codebeispiel zeigt, wie Sie mit curl das MCP-Tool fetch-repo-commit aufrufen.

Curl-Anfrage
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
}'

Eingabeschema

Anfragenachricht für FetchGitRepositoryLinkCommit.

FetchGitRepositoryLinkCommitRequest

JSON-Darstellung
{
  "name": string,
  "commitSha": string,
  "view": enum (CommitView),
  "pathFilters": [
    string
  ]
}
Felder
name

string

Pflichtangabe. Der Ressourcenname des GitRepositoryLink im Format projects/*/locations/*/connections/*/gitRepositoryLinks/*.

commitSha

string

Pflichtangabe. Der Commit-SHA oder die symbolische Überarbeitung (z. B. Branch-Name, Tag oder Git-Referenz).

view

enum (CommitView)

Optional. Die Ebene der Commit-Details, die in der Antwort zurückgegeben werden sollen. Wenn kein Wert angegeben wird, gilt der Standardwert FULL. In der Ansicht FULL werden files-Metadaten (Pfade und Status) zurückgegeben. path_filters muss ebenfalls angegeben werden, um Zeilen-Patch-Hunks zu füllen.

pathFilters[]

string

Optional. Pfadmuster oder genaue Pfade zum Filtern zurückgegebener Dateien (nur in der Ansicht FULL anwendbar). Wenn path_filters angegeben ist, wird FileDiff.patch für alle übereinstimmenden Dateien ausgefüllt. Verwenden Sie ["**"], um Patches für alle geänderten Dateien einzuschließen. Wenn path_filters weggelassen wird oder leer ist, wird die vollständige Liste der FileDiff ohne Patch-Diffs zurückgegeben (FileDiff.patch ist leer).

CommitView

Die Ebene der Commit-Details, die in der Antwort zurückgegeben werden sollen.

Enums
COMMIT_VIEW_UNSPECIFIED Nicht angegeben, Standardwert ist BASIC.
BASIC Einfache Ansicht, gibt Commit-Metadaten, aber keine Dateiunterschiede zurück.
FULL Vollständige Ansicht, gibt Commit-Metadaten und Dateiunterschiede zurück.

Ausgabeschema

Antwortnachricht für FetchGitRepositoryLinkCommit.

FetchGitRepositoryLinkCommitResponse

JSON-Darstellung
{
  "commit": {
    object (SCMCommit)
  },
  "files": [
    {
      object (FileDiff)
    }
  ]
}
Felder
commit

object (SCMCommit)

Die Commit-Metadaten.

files[]

object (FileDiff)

Liste der Dateiänderungen und Patch-Diffs. Wird weggelassen, wenn die Ansicht BASIC ist. Patch-Diffs (FileDiff.patch) werden nur ausgefüllt, wenn path_filters in der Anfrage angegeben ist.

SCMCommit

JSON-Darstellung
{
  "sha": string,
  "message": string,
  "author": string,
  "authorEmail": string,
  "commitTime": string,
  "url": string
}
Felder
sha

string

Vollständiger 40-stelliger SCM-Commit-SHA.

message

string

Text der Commit-Nachricht.

author

string

Der Anzeigename des Autors.

authorEmail

string

Die E-Mail-Adresse des Autors.

commitTime

string (Timestamp format)

Zeitstempel, zu dem der Commit erstellt wurde.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

url

string

Der HTML-URL-Link des SCM-Anbieters für diesen Commit.

Zeitstempel

JSON-Darstellung
{
  "seconds": string,
  "nanos": integer
}
Felder
seconds

string (int64 format)

Stellt Sekunden der UTC-Zeit seit Unix-Epoche 1970-01-01T00:00:00Z dar. Muss zwischen -62135596800 und 253402300799 (einschließlich) liegen (entspricht 0001-01-01T00:00:00Z bis 9999-12-31T23:59:59Z).

nanos

integer

Nicht negative Sekundenbruchteile Nanosekunden-Auflösung. Dieses Feld ist der Nanosekunden-Teil der Dauer, keine Alternative zu Sekunden. Negative Sekundenwerte mit Bruchteilen müssen weiterhin nicht negative Nano-Werte haben, die zeitlich vorwärts gezählt werden. Muss zwischen 0 und 999.999.999 (einschließlich) liegen.

FileDiff

JSON-Darstellung
{
  "path": string,
  "status": string,
  "patch": string
}
Felder
path

string

Relativer Pfad zur Datei im Repository.

status

string

Status der Änderung: „ADDED“, „MODIFIED“, „REMOVED“, „RENAMED“.

patch

string

Standardmäßiger einheitlicher Diff-Patch-Hunk für die Datei. Wird nur ausgefüllt, wenn path_filters in der Anfrage angegeben ist, andernfalls leer.

Tool-Annotationen

Tool-Anmerkungen werden an MCP-Clients gesendet, um das grundlegende Risiko eines bestimmten Tools zu beschreiben. Die meisten Clients behandeln diese Hinweise als nicht vertrauenswürdig, sie können aber verwendet werden, um zu entscheiden, wann eine Bestätigungsaufforderung an einen Nutzer gesendet werden soll.

Zusätzlich zum Titelstring werden die folgenden booleschen Hinweise definiert:

  • readOnlyHint: Wenn „true“, ändert das Tool seine Umgebung nicht. Standardeinstellung: false.
  • destructiveHint: Wenn „true“, kann das Tool destruktive Aktionen ausführen. Wenn „false“, kann das Tool nur additive Aktionen ausführen. Standardeinstellung: true.
  • idempotentHint: Wenn „true“, hat das wiederholte Aufrufen des Tools mit denselben Argumenten keine zusätzlichen Auswirkungen auf die Umgebung. Standardeinstellung: false.
  • openWorldHint: Wenn „true“, kann das Tool mit einer „offenen Welt“ externer Entitäten interagieren. Wenn „false“, kann das Tool nur mit internen Entitäten interagieren. Ein Tool für die Websuche wäre beispielsweise ein Open-World-Tool, ein Tool für gemerkte Informationen dagegen nicht.

Destruktiver Hinweis: ❌ | Idempotenter Hinweis: ✅ | Lesezugriff-Hinweis: ✅ | Open-World-Hinweis: ❌