MCP Tools Reference: developerconnect.googleapis.com

도구: diff-repo-commit

Git 저장소에서 두 커밋 간의 차이를 가져옵니다. 줄별 패치 헌크를 가져오려면 path_filters를 전달합니다 (예: 모든 파일의 경우 ['**']).

다음 코드 샘플은 curl를 사용하여 diff-repo-commit 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": "diff-repo-commit",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

입력 스키마

DiffGitRepositoryLinkCommit 요청 메시지입니다.

DiffGitRepositoryLinkCommitRequest

JSON 표현
{
  "name": string,
  "baseSha": string,
  "headSha": string,
  "pathFilters": [
    string
  ]
}
필드
name

string

필수 입력란입니다. GitRepositoryLink의 리소스 이름입니다.

baseSha

string

필수 입력란입니다. 기본 커밋 SHA 또는 참조입니다.

headSha

string

필수 입력란입니다. 헤드 커밋 SHA 또는 참조입니다.

pathFilters[]

string

(선택사항) 반환된 파일을 필터링할 경로 패턴 또는 정확한 경로입니다. path_filters를 지정하면 일치하는 모든 파일에 FileDiff.patch가 채워집니다 (변경된 모든 파일의 패치를 포함하려면 ["**"] 사용). path_filters가 생략되거나 비어 있으면 패치 차이 없이 FileDiff의 전체 목록이 반환됩니다 (FileDiff.patch가 비어 있음).

출력 스키마

DiffGitRepositoryLinkCommit의 응답 메시지입니다.

DiffGitRepositoryLinkCommitResponse

JSON 표현
{
  "files": [
    {
      object (FileDiff)
    }
  ]
}
필드
files[]

object (FileDiff)

통합 diff에서 추출된 파일 diff입니다.

FileDiff

JSON 표현
{
  "path": string,
  "status": string,
  "patch": string
}
필드
path

string

저장소에 있는 파일의 상대 경로입니다.

status

string

변경 상태: 'ADDED', 'MODIFIED', 'REMOVED', 'RENAMED'

patch

string

파일의 표준 통합 diff 패치 헌크입니다. 요청에 path_filters가 지정된 경우에만 채워집니다. 그렇지 않으면 비어 있습니다.

도구 주석

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

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

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

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