도구: write_file
Dataform 워크스페이스 내에 파일의 콘텐츠를 작성합니다. 파일이 없으면 파일을 만듭니다.
제공된 contents 매개변수 값은 전체 파일을 대체하므로 부분적으로 수정하기 전에 read_file 도구로 현재 콘텐츠를 읽으세요. commit_workspace_changes 도구가 호출될 때까지 변경사항은 커밋되지 않은 상태로 유지됩니다.
workspace 매개변수 값은 projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace} 형식이어야 합니다.
path 파라미터 값은 작업공간 루트에서 파일까지의 상대 경로입니다. ..와 같은 디렉터리 트래버설을 사용하지 마세요.
contents 파라미터 값은 파일 콘텐츠가 포함된 base64로 인코딩된 문자열이어야 합니다.
다음 코드 샘플은 curl를 사용하여 write_file 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": "write_file", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
입력 스키마
WriteFile 요청 메시지입니다.
WriteFileRequest
| JSON 표현 |
|---|
{ "workspace": string, "path": string, "contents": string } |
| 필드 | |
|---|---|
workspace |
필수 항목입니다. 작업공간의 이름입니다. |
path |
필수 항목입니다. 파일입니다. |
contents |
필수 항목입니다. 파일의 콘텐츠입니다. base64 인코딩 문자열입니다. |
출력 스키마
WriteFile 응답 메시지입니다.
도구 주석
도구 주석은 특정 도구의 기본 위험을 설명하기 위해 MCP 클라이언트로 전송됩니다. 대부분의 클라이언트는 이러한 힌트를 신뢰할 수 없는 것으로 취급하지만, 사용자에게 확인 메시지를 전송할 시점을 결정하는 데 사용할 수 있습니다.
제목 문자열과 함께 다음 불리언 힌트가 다음과 같이 정의됩니다.
readOnlyHint: true인 경우 도구가 환경을 수정하지 않습니다. 기본값: false.destructiveHint: true인 경우 도구가 파괴적인 작업을 실행할 수 있습니다. false인 경우 도구는 추가 작업만 실행할 수 있습니다. 기본값은 true입니다.idempotentHint: true인 경우 동일한 인수로 도구를 반복적으로 호출해도 환경에 추가적인 영향을 미치지 않습니다. 기본값: false.openWorldHint: true인 경우 도구가 외부 엔티티의 '오픈 월드'와 상호작용할 수 있습니다. false인 경우 도구는 내부 항목과만 상호작용할 수 있습니다. 예를 들어 웹 검색 도구는 오픈 월드이지만 메모리 도구는 오픈 월드가 아닙니다.
파괴적 힌트: ✅ | 동일한 힌트: ✅ | 읽기 전용 힌트: ❌ | 오픈 월드 힌트: ❌