ツール: 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 の場合、ツールは内部エンティティとのみやり取りできます。たとえば、ウェブ検索ツールはオープン ワールドですが、メモリツールはオープン ワールドではありません。
破壊的ヒント: ✅ | べき等ヒント: ✅ | 読み取り専用ヒント: ❌ | オープン ワールド ヒント: ❌