Herramienta: fetch-repo-file-blame
Recupera información de blame para un archivo específico en un repositorio de Git.
En la siguiente muestra de código, se indica cómo usar curl para llamar a la herramienta de MCP fetch-repo-file-blame.
| Solicitud de curl |
|---|
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 }' |
Esquema de entrada
Mensaje de solicitud para FetchGitRepositoryLinkFileBlame.
FetchGitRepositoryLinkFileBlameRequest
| Representación JSON |
|---|
{ "name": string, "ref": string, "path": string, "firstLine": integer, "lastLine": integer } |
| Campos | |
|---|---|
name |
Obligatorio. Es el nombre del recurso de GitRepositoryLink en el formato |
ref |
Obligatorio. El SHA de confirmación de SCM o la revisión simbólica (por ejemplo, el nombre de la rama o la etiqueta) desde la que se recuperará la culpa. |
path |
Obligatorio. Es la ruta de acceso al archivo dentro del repositorio. |
firstLine |
Es opcional. Es el número de línea inicial con índice 1 del rango que se debe culpar (inclusive). Si no se especifica, la atribución comienza en la línea 1. |
lastLine |
Es opcional. Es el número de línea final con índice 1 del rango que se debe culpar (inclusive). Si no se especifica, la atribución se extiende hasta el final del archivo. |
Esquema de salida
Mensaje de respuesta para FetchGitRepositoryLinkFileBlame.
FetchGitRepositoryLinkFileBlameResponse
| Representación JSON |
|---|
{
"ranges": [
{
object ( |
| Campos | |
|---|---|
ranges[] |
Es la lista de rangos de culpa del archivo. |
BlameRange
| Representación JSON |
|---|
{
"firstLine": integer,
"lastLine": integer,
"commit": {
object ( |
| Campos | |
|---|---|
firstLine |
Es el número de línea inicial con índice 1 del rango (inclusive). |
lastLine |
Es el número de línea final del rango (inclusive) con índice basado en 1. |
commit |
Son los metadatos de confirmación para este rango de líneas. |
SCMCommit
| Representación JSON |
|---|
{ "sha": string, "message": string, "author": string, "authorEmail": string, "commitTime": string, "url": string } |
| Campos | |
|---|---|
sha |
SHA de confirmación de SCM completo de 40 caracteres. |
message |
Es el texto del mensaje de confirmación. |
author |
Es el nombre visible del autor. |
authorEmail |
Es la dirección de correo electrónico del autor. |
commitTime |
Es la marca de tiempo de cuando se creó la confirmación. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
url |
Es el vínculo de la URL HTML del proveedor de SCM para esta confirmación. |
Marca de tiempo
| Representación JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa los segundos del horario UTC desde el tiempo Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de nanosegundos de la duración, no una alternativa a los segundos. Los valores de segundos negativos con fracciones deben tener valores nanos no negativos que se cuentan hacia adelante en el tiempo. Deben ser valores de 0 a 999,999,999 inclusive. |
Anotaciones de herramientas
Las anotaciones de herramientas se envían a los clientes de MCP para describir el riesgo básico de una herramienta determinada. La mayoría de los clientes tratan estas sugerencias como no confiables, pero se pueden usar para decidir cuándo se puede enviar un mensaje de confirmación a un usuario.
Junto con la cadena de título, las siguientes sugerencias booleanas se definen de la siguiente manera:
readOnlyHint: Si es verdadero, la herramienta no modifica su entorno. Valor predeterminado: false.destructiveHint: Si es verdadero, la herramienta puede realizar acciones destructivas. Si es falso, la herramienta solo puede realizar acciones aditivas. Valor predeterminado: true.idempotentHint: Si es verdadero, llamar a la herramienta de forma repetida con los mismos argumentos no tendrá ningún efecto adicional en su entorno. Valor predeterminado: false.openWorldHint: Si es verdadero, la herramienta puede interactuar con un "mundo abierto" de entidades externas. Si es falso, la herramienta solo puede interactuar con entidades internas. Por ejemplo, una herramienta de búsqueda web sería de mundo abierto, mientras que una herramienta de memoria no lo sería.
Sugerencia de destructivo: ❌ | Sugerencia de idempotente: ✅ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌