MCP Tools Reference: developerconnect.googleapis.com

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

string

Obrigatório. O nome do recurso do GitRepositoryLink no formato projects/*/locations/*/connections/*/gitRepositoryLinks/*.

ref

string

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

string

Obrigatório. O caminho do arquivo no repositório.

firstLine

integer

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

integer

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 (BlameRange)
    }
  ]
}
Campos
ranges[]

object (BlameRange)

A lista de intervalos de culpa do arquivo.

BlameRange

Representação JSON
{
  "firstLine": integer,
  "lastLine": integer,
  "commit": {
    object (SCMCommit)
  }
}
Campos
firstLine

integer

O número da linha inicial indexado em 1 do intervalo (inclusive).

lastLine

integer

O número da linha final indexado em 1 do intervalo (inclusive).

commit

object (SCMCommit)

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

string

SHA de commit do SCM completo de 40 caracteres.

message

string

Texto da mensagem de commit.

author

string

O nome de exibição do autor.

authorEmail

string

O endereço de e-mail do autor.

commitTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

url

string

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

string (int64 format)

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

integer

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: ❌