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 ( |
| Felder | |
|---|---|
name |
Pflichtangabe. Der Ressourcenname des GitRepositoryLink im Format |
commitSha |
Pflichtangabe. Der Commit-SHA oder die symbolische Überarbeitung (z. B. Branch-Name, Tag oder Git-Referenz). |
view |
Optional. Die Ebene der Commit-Details, die in der Antwort zurückgegeben werden sollen. Wenn kein Wert angegeben wird, gilt der Standardwert |
pathFilters[] |
Optional. Pfadmuster oder genaue Pfade zum Filtern zurückgegebener Dateien (nur in der Ansicht |
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 ( |
| Felder | |
|---|---|
commit |
Die Commit-Metadaten. |
files[] |
Liste der Dateiänderungen und Patch-Diffs. Wird weggelassen, wenn die Ansicht |
SCMCommit
| JSON-Darstellung |
|---|
{ "sha": string, "message": string, "author": string, "authorEmail": string, "commitTime": string, "url": string } |
| Felder | |
|---|---|
sha |
Vollständiger 40-stelliger SCM-Commit-SHA. |
message |
Text der Commit-Nachricht. |
author |
Der Anzeigename des Autors. |
authorEmail |
Die E-Mail-Adresse des Autors. |
commitTime |
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: |
url |
Der HTML-URL-Link des SCM-Anbieters für diesen Commit. |
Zeitstempel
| JSON-Darstellung |
|---|
{ "seconds": string, "nanos": integer } |
| Felder | |
|---|---|
seconds |
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 |
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 |
Relativer Pfad zur Datei im Repository. |
status |
Status der Änderung: „ADDED“, „MODIFIED“, „REMOVED“, „RENAMED“. |
patch |
Standardmäßiger einheitlicher Diff-Patch-Hunk für die Datei. Wird nur ausgefüllt, wenn |
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: ❌