Tool: fetch-repo-file-blame
Ruft Blame-Informationen für eine bestimmte Datei in einem Git-Repository ab.
Das folgende Codebeispiel zeigt, wie Sie mit curl das MCP-Tool fetch-repo-file-blame 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-file-blame", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Eingabeschema
Anfragenachricht für FetchGitRepositoryLinkFileBlame.
FetchGitRepositoryLinkFileBlameRequest
| JSON-Darstellung |
|---|
{ "name": string, "ref": string, "path": string, "firstLine": integer, "lastLine": integer } |
| Felder | |
|---|---|
name |
Pflichtangabe. Der Ressourcenname des GitRepositoryLink im Format |
ref |
Pflichtangabe. Der SCM-Commit-SHA oder die symbolische Überarbeitung (z. B. Zweigname, Tag), von der die Zuordnung abgerufen werden soll. |
path |
Pflichtangabe. Der Dateipfad im Repository. |
firstLine |
Optional. Die 1-indexierte Startzeilennummer des Bereichs, der für den Fehler verantwortlich ist (einschließlich). Wenn nichts angegeben ist, beginnt die Zuordnung in Zeile 1. |
lastLine |
Optional. Die 1-indexierte Endzeilennummer des Bereichs, der für den Fehler verantwortlich ist (einschließlich). Wenn nicht angegeben, wird die Zuordnung bis zum Ende der Datei vorgenommen. |
Ausgabeschema
Antwortnachricht für FetchGitRepositoryLinkFileBlame.
FetchGitRepositoryLinkFileBlameResponse
| JSON-Darstellung |
|---|
{
"ranges": [
{
object ( |
| Felder | |
|---|---|
ranges[] |
Die Liste der Blame-Bereiche für die Datei. |
BlameRange
| JSON-Darstellung |
|---|
{
"firstLine": integer,
"lastLine": integer,
"commit": {
object ( |
| Felder | |
|---|---|
firstLine |
Die 1-indexierte Startzeilennummer des Bereichs (einschließlich). |
lastLine |
Die 1-indexierte Endzeilennummer des Bereichs (einschließlich). |
commit |
Die Commit-Metadaten für diesen Zeilenbereich. |
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. |
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: ❌