MCP Tools Reference: dataform.googleapis.com

도구: list_workspaces

지정된 Dataform 저장소의 개발 작업공간을 나열합니다.

이 도구를 사용하여 파일 작업을 실행하거나 (read_file 또는 write_file과 같은 도구 사용) 코드를 커밋하기 전에 (commit_workspace_changes과 같은 도구 사용) 기존 작업공간을 검색합니다.

parent 매개변수 값은 projects/{project_id}/locations/{location}/repositories/{repository} 형식이어야 합니다.

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

curl 요청
curl --location 'https://dataform.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "list_workspaces",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

입력 스키마

ListWorkspaces 요청 메시지입니다.

ListWorkspacesRequest

JSON 표현
{
  "parent": string,
  "pageSize": integer,
  "pageToken": string,
  "orderBy": string,
  "filter": string
}
필드
parent

string

필수 항목입니다. 작업공간을 나열할 저장소입니다. projects/*/locations/*/repositories/* 형식이어야 합니다.

pageSize

integer

(선택사항) 반환할 최대 워크스페이스 수입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다.

pageToken

string

(선택사항) 이전 ListWorkspaces 호출에서 받은 페이지 토큰입니다. 후속 페이지를 검색하려면 이를 입력합니다.

페이지로 나누는 경우 page_size을 제외하고 ListWorkspaces에 제공된 다른 모든 매개변수가 페이지 토큰을 제공한 호출과 일치해야 합니다.

orderBy

string

(선택사항) 이 필드는 name에 의한 정렬만 지원합니다. 지정하지 않으면 서버에서 순서를 선택합니다. 지정된 경우 name 필드의 기본 순서는 오름차순입니다.

filter

string

(선택사항) 반환된 목록을 필터링합니다.

출력 스키마

ListWorkspaces 응답 메시지입니다.

ListWorkspacesResponse

JSON 표현
{
  "workspaces": [
    {
      object (Workspace)
    }
  ],
  "nextPageToken": string,
  "unreachable": [
    string
  ]
}
필드
workspaces[]

object (Workspace)

작업공간 목록입니다.

nextPageToken

string

다음 페이지를 검색하기 위해 page_token으로 전송할 수 있는 토큰입니다. 이 필드를 생략하면 후속 페이지가 표시되지 않습니다.

unreachable[]

string

도달할 수 없는 위치입니다.

작업공간

JSON 표현
{
  "name": string,
  "createTime": string,
  "dataEncryptionState": {
    object (DataEncryptionState)
  },
  "privateResourceMetadata": {
    object (PrivateResourceMetadata)
  },
  "depth": integer,

  // Union field _internal_metadata can be only one of the following:
  "internalMetadata": string
  // End of list of possible types for union field _internal_metadata.

  // Union field _disable_moves can be only one of the following:
  "disableMoves": boolean
  // End of list of possible types for union field _disable_moves.

  // Union field _original_branch can be only one of the following:
  "originalBranch": string
  // End of list of possible types for union field _original_branch.

  // Union field _enable_branch_management can be only one of the following:
  "enableBranchManagement": boolean
  // End of list of possible types for union field _enable_branch_management.

  // Union field _shallow can be only one of the following:
  "shallow": boolean
  // End of list of possible types for union field _shallow.
}
필드
name

string

식별자. 작업공간의 이름입니다.

createTime

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"입니다.

dataEncryptionState

object (DataEncryptionState)

출력 전용입니다. 이 워크스페이스가 KMS 키로 보호되는 경우 Git 저장소의 데이터 암호화 상태입니다.

privateResourceMetadata

object (PrivateResourceMetadata)

출력 전용입니다. 이 리소스가 사용자 범위인지 여부를 나타내는 메타데이터입니다. Workspace 리소스의 경우 user_scoped 필드는 항상 true입니다.

depth

integer

(선택사항) 입력 전용입니다. 변경할 수 없습니다. 이 작업공간에 대해 체크아웃할 Git 저장소의 최대 깊이입니다. 정의되고 0보다 큰 경우 Git 저장소가 지정된 깊이로 얕은 복제로 생성되고, 그렇지 않으면 전체 클론이 실행됩니다. 이 필드는 브랜치 관리가 사용 설정된 GitHub, GitLab, 퍼스트 파티 저장소에만 사용할 수 있습니다.

통합 필드 _internal_metadata.

_internal_metadata는 다음 중 하나여야 합니다.

internalMetadata

string

출력 전용입니다. 리소스를 제공하기 위해 내부적으로 사용되는 모든 메타데이터 정보입니다. 예: 타임스탬프, 플래그, 상태 필드 등 이 필드의 형식은 JSON 문자열입니다.

통합 필드 _disable_moves.

_disable_moves는 다음 중 하나여야 합니다.

disableMoves

boolean

(선택사항) true로 설정하면 연결된 저장소가 이동되더라도 워크스페이스가 이동되지 않습니다. 대신 삭제됩니다.

통합 필드 _original_branch.

_original_branch는 다음 중 하나여야 합니다.

originalBranch

string

(선택사항) 입력 전용입니다. 변경할 수 없습니다. 이 작업공간의 원격 저장소에서 모든 풀/푸시 작업에 사용되는 기본 업스트림 브랜치의 이름입니다. 비어 있으면 저장소의 HEAD 브랜치가 사용됩니다.

통합 필드 _enable_branch_management.

_enable_branch_management는 다음 중 하나여야 합니다.

enableBranchManagement

boolean

변경할 수 없습니다. 작업공간의 브랜치 체크아웃 사용 설정을 제어합니다.

True로 설정하면 워크스페이스에서 브랜치를 체크아웃할 수 있습니다.

통합 필드 _shallow.

_shallow는 다음 중 하나여야 합니다.

shallow

boolean

출력 전용입니다. true로 설정하면 작업공간이 얕은 복제로 생성됩니다. 깊이 필드가 0보다 큰 값으로 설정된 경우 true로 설정되고, 그렇지 않으면 false로 설정됩니다.

타임스탬프

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

string (int64 format)

Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z) 사이여야 합니다.

nanos

integer

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

DataEncryptionState

JSON 표현
{
  "kmsKeyVersionName": string
}
필드
kmsKeyVersionName

string

필수 항목입니다. 리소스의 데이터가 암호화되는 KMS 키 버전 이름입니다.

PrivateResourceMetadata

JSON 표현
{
  "userScoped": boolean
}
필드
userScoped

boolean

출력 전용입니다. true인 경우 이 리소스는 사용자 범위입니다. 즉, 작업공간이거나 작업공간에서 가져온 것입니다.

도구 주석

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

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

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

파괴적 힌트: ❌ | 멱등성 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌