MCP Tools Reference: drivemcp.googleapis.com

ツール: create_file

このツールを呼び出して、Google ドライブにファイルを作成またはアップロードします。

コンテンツをアップロードする場合は、テキスト コンテンツに「text_content」を使用します。UTF8 以外のコンテンツの場合は、「base64_content」フィールドを使用し、データを base64 でエンコードしてそのフィールドに設定します。

作成が成功すると、単一の File オブジェクトを返します。

次の Google ドライブのファーストパーティ MIME タイプは、コンテンツを指定せずに作成できます。

  • application/vnd.google-apps.document
  • application/vnd.google-apps.spreadsheet
  • application/vnd.google-apps.presentation

デフォルトでは、次の MIME タイプに対して次の変換が行われます。

  • text/plain から application/vnd.google-apps.document
  • text/csv から application/vnd.google-apps.spreadsheet

ファーストパーティの MIME タイプの変換を無効にするには、disable_conversion_to_google_type を true に設定します。

フォルダは、MIME タイプを application/vnd.google-apps.folder に設定することで作成できます。

コンテンツをアップロードする際は、content_mime_type フィールドが必須であり、アップロードするコンテンツのタイプと一致している必要があります。

次のサンプルは、curl を使用して create_file MCP ツールを呼び出す方法を示しています。

Curl リクエスト
curl --location 'https://drivemcp.googleapis.com/mcp/v1' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "create_file",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

入力スキーマ

ファイルをアップロードするリクエスト。

CreateFileRequest

JSON 表現
{
  "title": string,
  "mimeType": string,
  "contentMimeType": string,
  "content": string,
  "base64Content": string,
  "textContent": string,
  "parentId": string,
  "disableConversionToGoogleType": boolean
}
フィールド
title

string

ファイルのタイトル。

mimeType

string

非推奨。使用しないでください。代わりに content_mime_type を設定します。

contentMimeType

string

アップロードされるコンテンツの MIME タイプ。コンテンツ タイプが指定されている場合は必須です。

content

string

Base64 でエンコードされたファイルの内容。ファイルの MIME タイプに関係なく、content フィールドは常に Base64 でエンコードする必要があります。非推奨。代わりに base64_content または text_content を使用してください。

base64Content

string

省略可。アップロードする base64 エンコードされたコンテンツ。これを text_content と一緒に設定するとエラーになります。

textContent

string

省略可。アップロードする(UTF-8)テキスト コンテンツ。これを base64_content とともに設定するとエラーになります。

parentId

string

ファイルの親 ID。

disableConversionToGoogleType

boolean

渡されたコンテンツ MIME タイプを保持し、Google タイプに変換しない場合は true に設定します。たとえば、この設定がないと、text/plain コンテンツの MIME タイプが application/vnd.google-apps.document に変換されます。Google に同等の型がない型には影響しません。

出力スキーマ

ファイル リソース。

ファイル

JSON 表現
{
  "id": string,
  "title": string,
  "parentId": string,

  "mimeType": string

  "fileSize": string

  "description": string

  "fileExtension": string

  "contentSnippet": string

  "viewUrl": string

  "sharedWithMeTime": string

  "createdTime": string

  "modifiedTime": string

  "viewedByMeTime": string

  "owner": string

  "canAddChildren": boolean
}
フィールド
id

string

取得されたファイルの ID。

title

string

ファイルのタイトル。

parentId

string

(省略可)ファイルの親の ID。

共用体フィールド _mime_type

_mime_type は次のいずれかになります。

mimeType

string

ファイルの MIME タイプ。

共用体フィールド _file_size

_file_size は次のいずれかになります。

fileSize

string (int64 format)

ファイルのサイズ(バイト単位)。

共用体フィールド _description

_description は次のいずれかになります。

description

string

ファイルの説明。

共用体フィールド _file_extension

_file_extension は次のいずれかになります。

fileExtension

string

ファイルの元の拡張子。これは、コンテンツがドライブに保存されているファイルに対してのみ入力されます。

共用体フィールド _content_snippet

_content_snippet は次のいずれかになります。

contentSnippet

string

ファイルの内容に関する生成されたスニペット。

共用体フィールド _view_url

_view_url は次のいずれかになります。

viewUrl

string

ファイルを表示するための URL。

共用体フィールド _shared_with_me_time

_shared_with_me_time は次のいずれかになります。

sharedWithMeTime

string (Timestamp format)

ファイルがリクエスト元と共有された時刻。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

共用体フィールド _created_time

_created_time は次のいずれかになります。

createdTime

string (Timestamp format)

ファイルが作成された日時。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

共用体フィールド _modified_time

_modified_time は次のいずれかになります。

modifiedTime

string (Timestamp format)

ファイルが最後に変更された時刻。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

共用体フィールド _viewed_by_me_time

_viewed_by_me_time は次のいずれかになります。

viewedByMeTime

string (Timestamp format)

リクエスト元がファイルを最後に閲覧した日時。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

共用体フィールド _owner

_owner は次のいずれかになります。

owner

string

ファイルのオーナーのメールアドレス。

共用体フィールド _can_add_children

_can_add_children は次のいずれかになります。

canAddChildren

boolean

リクエスト元がこのフォルダに子フォルダを追加できるかどうか。フォルダ以外のタイプの場合、これは常に false です。

タイムスタンプ

JSON 表現
{
  "seconds": string,
  "nanos": integer
}
フィールド
seconds

string (int64 format)

UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。

nanos

integer

ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。

ツールのアノテーション

破壊的ヒント: ❌ | べき等ヒント: ❌ | 読み取り専用ヒント: ❌ | オープン ワールド ヒント: ✅