MCP Tools Reference: drivemcp.googleapis.com

ツール: search_files

このツールを呼び出して、構造化されたクエリに基づいてドライブ ファイルを検索します。

query フィールドでは、クエリ検索演算子を使用する必要があります。

クエリ文字列には、次の 3 つの部分が含まれます。query_term operator values(ここで、

  • query_term は、検索するクエリ語句またはフィールドです。
  • operator は、クエリ用語の条件を指定します。
  • values は、検索結果をフィルタリングするために使用する特定の値です。

クエリ語句

次の表に、有効なクエリ用語とその説明を示します。

クエリ語句 有効な演算子 用途
title contains=!= ファイルのタイトル。単一引用符(')で囲みます。クエリ内の単一引用符は \' を使ってエスケープします(例: 'Valentine\'s Day')。
fullText contains ファイルのコンテンツ内の title またはテキストが一致するかどうか。単一引用符(')で囲みます。クエリ内の単一引用符は \' を使ってエスケープします(例: 'Valentine\'s Day')。
mimeType contains=!= ファイルの MIME タイプ。単一引用符(')で囲みます。クエリ内の単一引用符は \' を使ってエスケープします(例: 'Valentine\'s Day')。
modifiedTime <=<=!=>>= ファイルの最終更新日。RFC 3339 形式。デフォルトのタイムゾーンは UTC(例: 2012-06-04T12:00:00-08:00)。date 型のフィールドは比較できません。
viewedByMeTime <=<=!=>>= ユーザーが最後にファイルを閲覧した日付。RFC 3339 形式。デフォルトのタイムゾーンは UTC(例: 2012-06-04T12:00:00-08:00)。date 型のフィールドは比較できません。
parentId =!= 親が指定された ID と等しいかどうか。root を使用して、ユーザーのプライマリ階層として機能する [マイドライブ] を指定できます。
owner =!= ファイルのオーナー。me を使用して、リクエストを行っているユーザーを指定できます。
sharedWithMe =!= ユーザーの [共有アイテム] コレクションにあるファイル。すべてのファイル ユーザーがファイルのアクセス制御リスト(ACL)に含まれています。true または false のいずれかになります。
createdTime <=<=!=>>= ファイルが作成された日付。RFC 3339 形式を使用します。デフォルトのタイムゾーンは UTC です(例: 2012-06-04T12:00:00-08:00)。

クエリ演算子

次の表に、有効なクエリ演算子を示します。

Operator 用途
contains 一方の文字列の内容が他方の文字列に含まれている。
= 文字列またはブール値の内容が他方と等しい。
!= 文字列またはブール値のコンテンツが等しくない。
< 値が別の値より小さい。
<= ある値が別の値以下である。
> ある値が別の値より大きい。
>= 値がもう一方の値以上である。
in 要素はコレクション内に含まれます。
and 両方のクエリに一致するアイテムを返します。
or いずれかのクエリに一致するアイテムを返します。
not 検索クエリを否定します。
has コレクションにパラメータに一致する要素が含まれている。

クエリの例を次に示します。

  • title contains 'hello' and title contains 'goodbye'
  • modifiedTime > '2024-01-01T00:00:00Z' and (mimeType contains 'image/' or mimeType contains 'video/')
  • parentId = '1234567'
  • fullText contains 'hello'
  • owner = 'test@example.org'
  • sharedWithMe = true
  • owner = 'me'(ユーザーがオーナーのファイルの場合)

next_page_token を使用して結果をページ分けします。空のレスポンスは、結果がないか、返される結果がないことを示します。

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

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

入力スキーマ

ファイルを検索するリクエスト。

SearchFilesRequest

JSON 表現
{
  "query": string,

  "pageToken": string

  "pageSize": integer

  "excludeContentSnippets": boolean
}
フィールド
query

string

検索クエリ。

共用体フィールド _page_token

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

pageToken

string

ページ設定に使用するページトークン。

共用体フィールド _page_size

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

pageSize

integer

各ページで返されるファイルの最大数。

共用体フィールド _exclude_content_snippets

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

excludeContentSnippets

boolean

true の場合、コンテンツ スニペットはレスポンスから除外されます。

出力スキーマ

ファイルを検索するレスポンス。

SearchFilesResponse

JSON 表現
{
  "files": [
    {
      object (File)
    }
  ],

  "nextPageToken": string
}
フィールド
files[]

object (File)

出力専用。ファイルのリスト。

共用体フィールド _next_page_token

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

nextPageToken

string

次のページトークン。

ファイル

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
}
フィールド
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

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

タイムスタンプ

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 にする必要があります(両端を含む)。

ツールのアノテーション

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