Ferramenta: fetch-repo-file-blame
Busca informações de blame para um arquivo específico em um repositório Git.
O exemplo de código abaixo mostra como usar curl para chamar a ferramenta MCP fetch-repo-file-blame.
| Solicitação 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
Mensagem de solicitação para FetchGitRepositoryLinkFileBlame.
FetchGitRepositoryLinkFileBlameRequest
| Representação JSON |
|---|
{ "name": string, "ref": string, "path": string, "firstLine": integer, "lastLine": integer } |
| Campos | |
|---|---|
name |
Obrigatório. O nome do recurso do GitRepositoryLink no formato |
ref |
Obrigatório. O SHA de commit do SCM ou a revisão simbólica (por exemplo, nome da ramificação, tag) de onde buscar a culpa. |
path |
Obrigatório. O caminho do arquivo no repositório. |
firstLine |
Opcional. O número da linha inicial indexado em 1 do intervalo a ser culpado (inclusive). Se não for especificado, a atribuição vai começar na linha 1. |
lastLine |
Opcional. O número da linha final indexado em 1 do intervalo a ser culpado (inclusive). Se não for especificado, a culpa se estende até o final do arquivo. |
Esquema de saída
Mensagem de resposta para FetchGitRepositoryLinkFileBlame.
FetchGitRepositoryLinkFileBlameResponse
| Representação JSON |
|---|
{
"ranges": [
{
object ( |
| Campos | |
|---|---|
ranges[] |
A lista de intervalos de culpa do arquivo. |
BlameRange
| Representação JSON |
|---|
{
"firstLine": integer,
"lastLine": integer,
"commit": {
object ( |
| Campos | |
|---|---|
firstLine |
O número da linha inicial indexado em 1 do intervalo (inclusive). |
lastLine |
O número da linha final indexado em 1 do intervalo (inclusive). |
commit |
Os metadados de commit para esse intervalo de linhas. |
SCMCommit
| Representação JSON |
|---|
{ "sha": string, "message": string, "author": string, "authorEmail": string, "commitTime": string, "url": string } |
| Campos | |
|---|---|
sha |
SHA de commit do SCM completo de 40 caracteres. |
message |
Texto da mensagem de commit. |
author |
O nome de exibição do autor. |
authorEmail |
O endereço de e-mail do autor. |
commitTime |
Carimbo de data/hora em que o commit foi criado. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: |
url |
O link do URL HTML do provedor de SCM para este commit. |
Carimbo de data/hora
| Representação JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa os segundos do horário UTC desde a época Unix 1970-01-01T00:00:00Z. Precisa estar entre -62135596800 e 253402300799, inclusive (o que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Frações não negativas de um segundo com resolução de nanossegundos. Esse campo é a parte de nanossegundos da duração, não uma alternativa aos segundos. Os valores de segundos negativos com frações ainda precisam ter valores em nanossegundos não negativos que representam períodos posteriores. O valor precisa ser de 0 a 999.999.999. |
Anotações de ferramentas
As anotações de ferramentas são enviadas aos clientes do MCP para descrever o risco básico de uma determinada ferramenta. A maioria dos clientes trata essas dicas como não confiáveis, mas elas podem ser usadas para decidir quando um pedido de confirmação pode ser enviado a um usuário.
Além da string de título, as seguintes dicas booleanas são definidas:
readOnlyHint: se for verdadeiro, a ferramenta não modifica o ambiente. Padrão: false.destructiveHint: se for verdadeiro, a ferramenta poderá realizar ações destrutivas. Se for falso, a ferramenta só poderá realizar ações aditivas. Padrão: verdadeiro.idempotentHint: se for verdadeiro, chamar a ferramenta repetidamente com os mesmos argumentos não terá efeito adicional no ambiente. Padrão: false.openWorldHint: se for verdadeiro, a ferramenta poderá interagir com um "mundo aberto" de entidades externas. Se for falso, a ferramenta só poderá interagir com entidades internas. Por exemplo, uma ferramenta de pesquisa na Web seria de mundo aberto, enquanto uma ferramenta de memória não seria.
Dica destrutiva: ❌ | Dica idempotente: ✅ | Dica somente leitura: ✅ | Dica de jogos de mundo aberto: ❌