MCP Tools Reference: developerconnect.googleapis.com

도구: fetch-repo-file-blame

Git 저장소의 특정 파일에 대한 blame 정보를 가져옵니다.

다음 코드 샘플은 curl를 사용하여 fetch-repo-file-blame MCP 도구를 호출하는 방법을 보여줍니다.

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
}'

입력 스키마

FetchGitRepositoryLinkFileBlame 요청 메시지입니다.

FetchGitRepositoryLinkFileBlameRequest

JSON 표현
{
  "name": string,
  "ref": string,
  "path": string,
  "firstLine": integer,
  "lastLine": integer
}
필드
name

string

필수 입력란입니다. projects/*/locations/*/connections/*/gitRepositoryLinks/* 형식의 GitRepositoryLink 리소스 이름입니다.

ref

string

필수 입력란입니다. 블레임을 가져올 SCM 커밋 SHA 또는 기호 버전 (예: 브랜치 이름, 태그)입니다.

path

string

필수 입력란입니다. 저장소 내의 파일 경로입니다.

firstLine

integer

(선택사항) 블레임할 범위의 1 색인 생성 시작 줄 번호입니다 (포함). 지정하지 않으면 1행에서 blame이 시작됩니다.

lastLine

integer

(선택사항) 블레임할 범위의 1 색인 생성 종료 행 번호입니다 (포함). 지정하지 않으면 파일 끝까지 blame이 확장됩니다.

출력 스키마

FetchGitRepositoryLinkFileBlame의 응답 메시지입니다.

FetchGitRepositoryLinkFileBlameResponse

JSON 표현
{
  "ranges": [
    {
      object (BlameRange)
    }
  ]
}
필드
ranges[]

object (BlameRange)

파일의 blame 범위 목록입니다.

BlameRange

JSON 표현
{
  "firstLine": integer,
  "lastLine": integer,
  "commit": {
    object (SCMCommit)
  }
}
필드
firstLine

integer

범위의 1 색인 생성 시작 줄 번호입니다 (포함).

lastLine

integer

범위의 1 색인 생성 종료 줄 번호입니다 (포함).

commit

object (SCMCommit)

이 줄 범위의 커밋 메타데이터입니다.

SCMCommit

JSON 표현
{
  "sha": string,
  "message": string,
  "author": string,
  "authorEmail": string,
  "commitTime": string,
  "url": string
}
필드
sha

string

전체 40자(영문 기준) SCM 커밋 SHA입니다.

message

string

커밋 메시지 텍스트입니다.

author

string

작성자의 표시 이름입니다.

authorEmail

string

작성자의 이메일 주소입니다.

commitTime

string (Timestamp format)

커밋이 작성된 시점의 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

url

string

이 커밋의 SCM 제공업체 HTML URL 링크입니다.

타임스탬프

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

유닉스 시간 1970-01-01T00:00:00Z 이후 경과된 UTC 시간을 초 단위로 나타냅니다. -62135596800~253402300799(양 끝값 포함) 사이여야 합니다(0001-01-01T00:00:00Z~9999-12-31T23:59:59Z에 해당).

nanos

integer

나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초를 대체하지 않습니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다.

도구 주석

도구 주석은 MCP 클라이언트에 전송되어 특정 도구의 기본 위험을 설명합니다. 대부분의 클라이언트는 이러한 힌트를 신뢰할 수 없는 것으로 취급하지만, 확인 메시지가 사용자에게 전송될 수 있는 시점을 결정하는 데 사용할 수 있습니다.

제목 문자열과 함께 다음 불리언 힌트가 정의됩니다.

  • readOnlyHint: true인 경우 도구가 환경을 수정하지 않습니다. 기본값: false.
  • destructiveHint: true인 경우 도구에서 파괴적인 작업을 수행할 수 있습니다. false이면 도구는 추가 작업만 수행할 수 있습니다. 기본값은 true입니다.
  • idempotentHint: true인 경우 동일한 인수로 도구를 반복적으로 호출해도 환경에 추가적인 영향을 미치지 않습니다. 기본값: false.
  • openWorldHint: true인 경우 도구는 외부 항목의 '오픈 월드'와 상호작용할 수 있습니다. false이면 도구는 내부 항목과만 상호작용할 수 있습니다. 예를 들어 웹 검색 도구는 오픈 월드이지만 메모리 도구는 오픈 월드가 아닙니다.

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌