MCP Reference: dataform.googleapis.com

Dataform MCP 서버는 Dataform과 상호작용하는 도구를 제공합니다.

모델 컨텍스트 프로토콜 (MCP) 서버는 대규모 언어 모델 (LLM) 또는 AI 애플리케이션에 컨텍스트, 데이터 또는 기능을 제공하는 외부 서비스 간의 프록시 역할을 합니다. MCP 서버는 AI 애플리케이션을 데이터베이스 및 웹 서비스와 같은 외부 시스템에 연결하여 AI 애플리케이션이 이해할 수 있는 형식으로 응답을 변환합니다.

서버 설정

사용하기 전에 MCP 서버를 사용 설정하고 인증을 설정해야 합니다. Google 및 Google Cloud 원격 MCP 서버 사용에 대한 자세한 내용은 Google Cloud MCP 서버 개요를 참고하세요.

서버 엔드포인트

MCP 서비스 엔드포인트는 AI 애플리케이션 (MCP 클라이언트의 호스트)이 보안 표준 연결을 설정하는 데 사용하는 MCP 서버의 네트워크 주소 및 통신 인터페이스 (일반적으로 URL)입니다. LLM이 컨텍스트를 요청하거나, 도구를 호출하거나, 리소스에 액세스할 때 사용하는 연락처입니다. Google MCP 엔드포인트는 전역 또는 리전일 수 있습니다.

Dataform API MCP 서버에는 다음과 같은 전역 MCP 엔드포인트가 있습니다.

  • https://dataform.googleapis.com/mcp

MCP 도구

MCP 도구는 MCP 서버가 현실 세계에서 작업을 실행하기 위해 LLM 또는 AI 애플리케이션에 노출하는 함수 또는 실행 가능한 기능입니다.

도구

dataform.googleapis.com MCP 서버에는 다음과 같은 도구가 있습니다.

MCP 도구
list_repositories

특정 Google Cloud 프로젝트와 위치의 Dataform 저장소를 나열합니다.

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

create_repository

특정 Google Cloud 프로젝트와 위치에 새 Dataform 저장소를 만듭니다.

이 도구는 컴파일 결과, 워크플로 구성 등 다른 모든 변환 애셋에 필요한 루트 리소스를 설정합니다. 다른 Dataform MCP 도구를 사용하려면 먼저 저장소를 만들어야 합니다. 이 도구를 사용 설정하는 것이 Dataform 프로젝트를 설정하는 첫 번째 단계입니다.

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

repository_id 파라미터 값은 저장소에 사용할 ID입니다.

새 저장소에서 설정되지 않도록 하려면 strictActAsChecks 매개변수를 생략하세요. 새 프로젝트에는 기본적으로 엄격한 '다음으로 실행' 검사가 적용되므로 이 저장소에서 워크플로를 실행하려면 커스텀 서비스 계정이 필요합니다.

commit_repository_changes

Git 커밋을 적용하여 Dataform 저장소 내 파일의 상태를 기록합니다.

이 도구는 주로 저장소에 직접 있는 단일 파일 애셋(예: 노트북 또는 저장된 쿼리)을 관리하기 위한 것입니다. 이 도구는 워크스페이스가 필요한 일반적인 파이프라인 워크플로에서는 사용되지 않습니다.

원격 Git 호스트에 연결된 저장소에서는 이 도구를 사용하지 마세요. 확인하려면 get_repository 도구를 사용하세요. git_remote_settings 필드가 있으면 저장소가 원격 호스트에 연결되어 있으므로 대신 commit_workspace_changes와 같은 작업공간 기반 도구를 사용해야 합니다.

이 커밋 작업은 저장소의 내부 Git 기록에 영구 항목을 만듭니다.

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

read_repository_file

Dataform 저장소 내에 있는 파일의 콘텐츠를 반환합니다.

이 도구는 표준 파이프라인 개발용이 아닙니다. 일반적으로 노트북이나 저장된 쿼리와 같은 단일 파일 애셋을 관리하는 데 사용되는 직접 저장소 상호작용을 위한 것입니다.

원격 Git 호스트에 연결된 저장소에서는 이 도구를 사용하지 마세요. 확인하려면 get_repository 도구를 사용하세요. git_remote_settings 필드가 있으면 저장소가 원격 호스트에 연결되어 있으므로 read_file 도구를 사용하여 작업공간에서 파일을 읽어야 합니다.

name 파라미터 값은 저장소를 나타내며 projects/{project_id}/locations/{location}/repositories/{repository} 형식이어야 합니다.

path 파라미터 값은 저장소 루트를 기준으로 해야 합니다. ..와 같은 디렉터리 트래버설을 사용하지 마세요. query_repository_directory_contents 도구를 사용하여 유효한 파일 경로를 가져옵니다.

query_repository_directory_contents

지정된 Dataform 저장소 디렉터리의 콘텐츠를 반환합니다.

이 도구는 주로 저장소에서 단일 파일 애셋을 직접 나열하고 관리하는 데 사용됩니다.

원격 Git 호스트에 연결된 저장소에서는 이 도구를 사용하지 마세요. 확인하려면 get_repository 도구를 사용하세요. git_remote_settings 필드가 있으면 저장소가 원격 호스트에 연결되어 있으므로 query_directory_contents 도구를 사용하여 작업공간 디렉터리를 나열해야 합니다.

name 파라미터 값은 projects/{project_id}/locations/{location}/repositories/{repository} 형식의 저장소를 참조합니다.

path 파라미터 값은 저장소 루트를 기준으로 해야 합니다. ..와 같은 디렉터리 트래버설을 사용하지 마세요. 비워두면 저장소 루트가 사용됩니다.

list_workflow_configs

지정된 Dataform 저장소의 워크플로 구성을 나열합니다.

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

get_workflow_config

단일 Dataform 워크플로 구성을 가져옵니다.

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

create_workflow_config

지정된 Dataform 저장소에 새 워크플로 구성을 만듭니다.

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

workflow_config_id은 워크플로 구성의 ID입니다.

워크플로 구성은 ReleaseConfig를 일정 및 ID와 페어링합니다. ReleaseConfig는 컴파일되는 코드를 결정하고 이 도구는 해당 코드가 실행되는 시점과 코드를 실행하는 서비스 계정을 결정합니다.

사전 요구사항: 먼저 create_release_config 도구를 사용하여 ReleaseConfig을 만들어야 합니다. workflow_config.release_config 매개변수 값은 필수이며, 이 값이 없으면 요청이 실패합니다.

이 워크플로 구성에서 생성된 워크플로 호출은 커스텀 서비스 계정으로 실행됩니다. 이 서비스 계정을 지정하려면 invocationConfig.serviceAccount 매라미터 값을 설정합니다. 생략하면 호출이 저장소의 service_account 사용으로 대체됩니다. 서비스 계정은 기본 Dataform 서비스 에이전트일 수 없습니다. 서비스 계정에는 워크플로를 실행하는 데 필요한 권한이 있어야 하며 사용자에게는 선택한 계정으로 작업할 수 있는 권한이 있어야 합니다. 이 승인은 일반적으로 서비스 계정 자체 또는 서비스 계정이 포함된 프로젝트에 부여할 수 있는 서비스 계정 사용자 (roles/iam.serviceAccountUser) IAM 역할을 통해 부여됩니다.

update_workflow_config

실행 일정 (cron), 연결된 출시 구성, 호출 재정의와 같은 기존 Dataform 워크플로 구성의 속성을 업데이트합니다.

cron_schedule 수정사항은 향후 예약된 모든 실행에 즉시 적용됩니다.

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

workflow_config.release_config 매개변수 값은 모든 업데이트에 엄격하게 필요합니다. get_workflow_config 도구를 사용하여 현재 워크플로 구성을 읽고 업데이트 요청에 release_config 값을 포함합니다.

이 워크플로 구성에서 생성된 워크플로 호출은 커스텀 서비스 계정으로 실행됩니다. 이 서비스 계정을 지정하려면 invocationConfig.serviceAccount 매라미터 값을 설정합니다. 생략하면 호출이 저장소의 service_account 사용으로 대체됩니다. 서비스 계정은 기본 Dataform 서비스 에이전트일 수 없습니다. 서비스 계정에는 워크플로를 실행하는 데 필요한 권한이 있어야 하며 사용자에게는 선택한 서비스 계정으로 작업할 수 있는 권한이 있어야 합니다. 이 승인은 일반적으로 서비스 계정 자체 또는 서비스 계정이 포함된 프로젝트에 부여할 수 있는 서비스 계정 사용자 (roles/iam.serviceAccountUser) IAM 역할을 통해 부여됩니다.

list_release_configs

지정된 Dataform 저장소의 출시 구성을 나열합니다.

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

get_release_config

단일 Dataform 출시 구성을 가져옵니다.

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

create_release_config

특정 Dataform 저장소에 새 출시 구성을 만듭니다.

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

release_config_id은 출시 구성의 사용자 정의 ID입니다. 사용자가 ID를 지정하지 않으면 요청에 따라 소문자, 숫자, 하이픈을 사용하여 짧고 설명적인 ID를 생성합니다.

Google 호스팅 저장소의 경우 release_config.cron_schedule 매개변수 값을 생략합니다. 확인하려면 get_repository 도구를 사용하세요. git_remote_settings 필드가 누락된 경우 저장소는 Google 호스팅입니다. 파이프라인을 예약하려면 create_workflow_config 도구를 사용하여 일정을 설정합니다.

update_release_config

자동 코드 컴파일의 템플릿 역할을 하는 기존 Dataform 출시 구성을 업데이트합니다.

git_commitish와 같은 필드를 업데이트하면 향후 컴파일 결과가 생성되는 방식이 변경되지만 이러한 업데이트는 기존 CompilationResult 애셋을 소급하여 변경하지는 않습니다.

Google 호스팅 저장소를 업데이트할 때는 release_config.cron_schedule 매개변수 값을 생략합니다. 확인하려면 get_repository 도구를 사용하세요. git_remote_settings 필드가 누락된 경우 저장소는 Google 호스팅입니다. 파이프라인을 예약하려면 create_workflow_config 또는 update_workflow_config 도구를 사용하여 일정을 설정하거나 업데이트합니다.

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

create_compilation_result

특정 Google Cloud 프로젝트와 위치에 새 Dataform 컴파일 결과를 만듭니다.

이 도구는 .sqlx 파일을 실행 가능한 SQL로 컴파일합니다. 새 컴파일이 트리거되지 않는 한 후속 코드 변경사항이 이 결과에 반영되지 않는다는 점을 에이전트가 알아야 합니다.

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

에이전트는 CompilationResultAction 리소스를 검사하고 필요에 따라 BigQuery 도구를 사용하여 드라이 런을 실행하여 컴파일된 SQL을 검증할 수 있습니다.

create_workflow_invocation 도구를 사용하여 수동 워크플로 호출을 트리거하려면 유효한 컴파일 결과가 필요합니다.

필수사항: create_compilation_result 도구를 호출하기 전에 create_repository 도구를 사용하여 저장소를 만듭니다.

list_workflow_invocations

지정된 Dataform 저장소의 워크플로 호출을 나열합니다.

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

create_workflow_invocation

지정된 Dataform 저장소에서 새 워크플로 호출을 만듭니다.

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

compilation_result 또는 workflow_config 매개변수 값이 필요합니다.

  • compilation_result를 사용하는 경우 파라미터 값은 projects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result} 형식이어야 합니다.
  • workflow_config를 사용하는 경우 파라미터 값은 projects/{project_id}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config} 형식이어야 합니다.

기본 요건: 호출을 트리거하려면 먼저 create_compilation_result 도구를 사용하여 compilation_result를 만들거나 create_workflow_config 도구를 사용하여 workflow_config를 만들어야 합니다. 원시 저장소 코드에서 직접 호출을 트리거할 수는 없습니다.

워크플로 호출은 컴파일 소스에 따라 결정되는 서비스 계정으로 실행됩니다.

  • compilation_result를 사용하는 경우 invocationConfig.serviceAccount 파라미터 값을 설정합니다. 생략하면 저장소의 기본 service_account이 사용됩니다.
  • workflow_config를 사용하는 경우 invocationConfig 매개변수를 설정하지 마세요. 호출은 해당 워크플로 구성에 구성된 서비스 계정으로 자동 실행됩니다.

서비스 계정은 기본 Dataform 서비스 에이전트일 수 없습니다. 서비스 계정에는 워크플로를 실행하는 데 필요한 권한이 있어야 하며 사용자에게는 선택한 서비스 계정으로 작업할 수 있는 권한이 있어야 합니다. 이 승인은 일반적으로 서비스 계정 자체 또는 서비스 계정이 포함된 프로젝트에 부여할 수 있는 서비스 계정 사용자 역할 (roles/iam.serviceAccountUser)을 통해 부여됩니다.

cancel_workflow_invocation

실행 중인 Dataform 워크플로 호출의 정상 종료를 요청합니다.

이 도구는 실행 중인 워크플로에 취소 신호를 전송합니다. 하지만 이 워크플로의 일부로 이미 완료된 개별 BigQuery 작업, 테이블 생성 또는 어설션은 롤백되지 않습니다.

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

get_compilation_result

단일 Dataform 컴파일 결과를 가져옵니다.

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

query_compilation_actions

지정된 Dataform 컴파일 결과의 컴파일 결과 작업을 반환합니다.

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

query_workflow_invocation_actions

지정된 Dataform 워크플로 호출의 워크플로 호출 작업을 반환합니다.

이러한 작업은 워크플로를 구성하는 개별 BigQuery 작업, 테이블 생성 또는 어설션을 나타냅니다.

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

get_workflow_invocation

단일 Dataform 워크플로 호출을 가져옵니다.

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

list_workspaces

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

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

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

get_workspace

단일 Dataform 개발 작업공간을 가져옵니다.

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

정확한 워크스페이스 이름을 모르는 경우 list_workspaces 도구를 사용하여 찾습니다.

create_workspace

지정된 Dataform 저장소에 새 개발 작업공간을 만듭니다.

작업공간은 격리되고 수정 가능한 저장소 체크아웃입니다. 여러 파일에서 파이프라인 코드를 작성하거나 수정하고 커밋하기 전에 유효성을 검사해야 하는 경우 워크스페이스를 사용하세요. write_file 및 remove_file 도구를 사용하여 워크스페이스에서 파일을 수정하고, commit_workspace_changes 도구로 결과를 기록하고, push_git_commits 도구로 커밋된 변경사항을 저장소에 게시합니다.

표준 파이프라인 개발에는 commit_repository_changes 도구를 사용하지 마세요. 이 도구는 저장소에 직접 쓰며, 노트북이나 저장된 쿼리와 같은 단일 파일 애셋에만 사용해야 하고, 원격 Git 호스트에 연결된 저장소에서는 실패합니다.

필수사항: 상위 저장소가 있어야 합니다.

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

workspace_id 파라미터 값은 작업공간에 사용할 ID입니다.

workspace 파라미터 값은 생성할 작업공간을 보유합니다.

query_directory_contents

Dataform 작업공간 내의 지정된 디렉터리의 콘텐츠를 반환합니다.

이 도구를 사용하여 read_file 또는 write_file 도구를 호출하기 전에 유효한 파일 경로를 검색하세요.

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

path 파라미터 값은 작업공간 루트에서 디렉터리까지의 상대 경로입니다. ..와 같은 디렉터리 트래버설을 사용하지 마세요. 생략하면 워크스페이스 루트가 사용됩니다.

search_files

검색 필터와 일치하는 Dataform 작업공간의 파일 및 디렉터리를 찾습니다.

대규모 저장소에서 이름이나 확장자로 파일을 찾을 때는 query_directory_contents 도구로 디렉터리를 재귀적으로 나열하는 대신 이 도구를 사용하세요.

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

filter 파라미터 값은 결과를 제한합니다. 필터링은 path 필드 (예: path="*.sqlx" 또는 path="definitions/model.sqlx")에서만 지원됩니다.

read_file

커밋되지 않은 변경사항을 포함하여 Dataform 작업공간 내 파일의 콘텐츠를 반환합니다.

이 도구를 사용하여 기본 BigQuery 데이터 세트, 기본 위치, Dataform 핵심 버전과 같은 파이프라인의 컴파일 설정을 보유하는 작업공간의 workflow_settings.yaml 파일을 읽습니다. 이 파일은 파이프라인 디렉터리의 루트에 있습니다. 저장소는 하위 디렉터리에 여러 파이프라인을 포함할 수 있으므로 작업공간 루트가 아닐 수도 있습니다. search_files 도구를 사용하여 파일을 찾습니다.

작업공간 없이 저장소에서 커밋된 파일을 직접 읽으려면 대신 read_repository_file 도구를 사용하세요. read_repository_file는 원격 Git 호스트에 연결되지 않은 저장소에서만 작동합니다.

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

path 파라미터 값은 작업공간 루트에서 파일까지의 상대 경로입니다. ..와 같은 디렉터리 탐색을 사용하지 마세요. 유효한 경로는 query_directory_contents 또는 search_files 도구를 사용하여 가져올 수 있습니다.

revision 파라미터 값은 선택적으로 파일의 특정 Git 버전을 선택합니다. 생략하면 파일의 현재 커밋되지 않은 상태가 반환됩니다.

write_file

Dataform 워크스페이스 내에 파일의 콘텐츠를 작성합니다. 파일이 없으면 파일을 만듭니다.

제공된 contents 매개변수 값은 전체 파일을 대체하므로 부분적으로 수정하기 전에 read_file 도구로 현재 콘텐츠를 읽으세요. commit_workspace_changes 도구가 호출될 때까지 변경사항은 커밋되지 않은 상태로 유지됩니다.

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

path 파라미터 값은 작업공간 루트에서 파일까지의 상대 경로입니다. ..와 같은 디렉터리 트래버설을 사용하지 마세요.

contents 파라미터 값은 파일 콘텐츠가 포함된 base64로 인코딩된 문자열이어야 합니다.

remove_file

Dataform 작업공간 내에서 파일을 삭제합니다.

삭제는 commit_workspace_changes 도구가 호출될 때까지 커밋되지 않은 상태로 유지됩니다.

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

path 파라미터 값은 작업공간 루트에서 파일까지의 상대 경로입니다. ..와 같은 디렉터리 트래버설을 사용하지 마세요. 유효한 파일 경로는 query_directory_contents 또는 search_files 도구를 사용하여 가져올 수 있습니다.

make_directory

누락된 상위 디렉터리를 포함하여 Dataform 작업공간 내에 디렉터리를 만듭니다.

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

path 파라미터 값은 작업공간 루트에서 디렉터리까지의 상대 경로입니다. ..와 같은 디렉터리 트래버설을 사용하지 마세요.

commit_workspace_changes

Dataform 작업공간에서 커밋되지 않은 변경사항에 대한 Git 커밋을 기록합니다.

커밋은 push_git_commits 도구로 게시될 때까지 작업공간에 로컬로 유지됩니다.

기본적으로 커밋되지 않은 모든 변경사항이 커밋됩니다. 일부 파일만 커밋하려면 paths 파라미터 값을 제공하세요.

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

author 파라미터 값은 커밋에 기록된 Git 작성자를 식별합니다. author.name와 author.email_address가 모두 필요합니다. 커밋이 이루어진 사용자를 식별하는 값을 제공합니다. 자리표시자는 Git 기록에 작성되므로 사용하지 마세요.

commit_message 파라미터 값은 커밋의 메시지입니다.

push_git_commits

Dataform 작업공간의 커밋된 변경사항을 저장소의 Git 원격으로 푸시합니다.

기본 요건: 푸시하기 전에 commit_workspace_changes 도구를 사용하여 작업공간 수정사항을 커밋해야 합니다. 커밋되지 않은 수정사항은 로컬에 유지되며 푸시되지 않습니다.

create_release_config 도구를 사용하려면 먼저 커밋을 푸시해야 합니다. 출시 구성은 Git 원격 저장소에 대해 git_commitish를 확인하므로 로컬 작업공간에만 있는 브랜치나 커밋은 표시되지 않습니다.

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

remote_branch 매개변수 값은 푸시할 원격 브랜치입니다. 생략하면 브랜치 관리가 사용 설정된 작업공간은 현재 체크아웃된 브랜치로 푸시되고 다른 작업공간은 저장소의 구성된 기본 브랜치로 푸시됩니다.

get_repository

Git 원격 설정, 작업공간 컴파일 재정의, 기본 서비스 계정을 포함한 단일 Dataform 저장소를 가져옵니다.

이 도구를 사용하여 git_remote_settings 필드를 확인하여 저장소와 상호작용하는 방법을 확인합니다. git_remote_settings 필드가 있으면 저장소가 원격 Git 호스트에 연결된 것이므로 create_workspace 또는 commit_workspace_changes와 같은 작업공간 기반 도구를 파이프라인 개발에 사용해야 합니다. 필드가 누락된 경우 저장소는 Google 호스팅입니다. 이 경우에도 파이프라인 개발을 위해 작업공간을 사용할 수 있습니다. 단일 파일 애셋을 관리하는 경우가 아니라면 commit_repository_changes과 같은 직접 저장소 도구는 권장되지 않습니다.

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

정확한 저장소 이름을 모르는 경우 list_repositories 도구를 사용하여 찾습니다.

update_repository

Git 원격 설정, 작업공간 컴파일 재정의, 기본 서비스 계정과 같은 기존 Dataform 저장소의 속성을 업데이트합니다.

기본 요건: 업데이트하기 전에 get_repository 도구를 사용하여 현재 저장소 상태를 읽습니다.

update_mask 파라미터 값이 생략되면 변경 가능한 모든 필드가 repository 파라미터 값에 제공된 값으로 덮어쓰여집니다. 다른 필드를 지우지 않고 특정 필드만 수정하려면 update_mask에 해당 필드를 나열하세요.

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

create_folder

특정 Google Cloud 프로젝트와 위치에 새 Dataform 폴더를 만듭니다.

폴더는 Dataform 저장소를 계층 구조로 구성합니다. 폴더를 만들어도 저장소가 폴더로 이동되지는 않습니다. 폴더 내에 저장소를 배치하려면 create_repository 도구를 사용할 때 containing_folder 파라미터 값을 설정하세요.

update_repository 도구를 사용하여 기존 저장소를 폴더로 이동하려고 하지 마세요. 저장소를 만든 후에는 MCP 도구를 사용하여 containing_folder 필드를 수정할 수 없습니다.

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

folder.display_name 파라미터 값은 필수이며 폴더의 사용자 친화적인 이름을 지정합니다.

MCP 도구 사양 가져오기

MCP 서버의 모든 도구에 대한 MCP 도구 사양을 가져오려면 tools/list 메서드를 사용하세요. 다음 예시에서는 curl을 사용하여 MCP 서버 내에서 현재 사용할 수 있는 모든 도구와 사양을 나열하는 방법을 보여줍니다.

curl 요청
curl --location 'https://dataform.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'