ツール: 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 = trueowner = '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 |
検索クエリ。 |
共用体フィールド
|
|
pageToken |
ページ設定に使用するページトークン。 |
共用体フィールド
|
|
pageSize |
各ページで返されるファイルの最大数。 |
共用体フィールド
|
|
excludeContentSnippets |
true の場合、コンテンツ スニペットはレスポンスから除外されます。 |
出力スキーマ
ファイルを検索するレスポンス。
SearchFilesResponse
| JSON 表現 |
|---|
{
"files": [
{
object ( |
| フィールド | |
|---|---|
files[] |
出力専用。ファイルのリスト。 |
共用体フィールド
|
|
nextPageToken |
次のページトークン。 |
ファイル
| 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 |
取得されたファイルの ID。 |
title |
ファイルのタイトル。 |
parentId |
(省略可)ファイルの親の ID。 |
共用体フィールド
|
|
mimeType |
ファイルの MIME タイプ。 |
共用体フィールド
|
|
fileSize |
ファイルのサイズ(バイト単位)。 |
共用体フィールド
|
|
description |
ファイルの説明。 |
共用体フィールド
|
|
fileExtension |
ファイルの元の拡張子。これは、コンテンツがドライブに保存されているファイルに対してのみ入力されます。 |
共用体フィールド
|
|
contentSnippet |
ファイルの内容に関する生成されたスニペット。 |
共用体フィールド
|
|
viewUrl |
ファイルを表示するための URL。 |
共用体フィールド
|
|
sharedWithMeTime |
ファイルがリクエスト元と共有された時刻。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
共用体フィールド
|
|
createdTime |
ファイルが作成された日時。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
共用体フィールド
|
|
modifiedTime |
ファイルが最後に変更された時刻。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
共用体フィールド
|
|
viewedByMeTime |
リクエスト元がファイルを最後に閲覧した日時。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
共用体フィールド
|
|
owner |
ファイルのオーナーのメールアドレス。 |
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
ツールのアノテーション
破壊的ヒント: ❌ | べき等ヒント: ✅ | 読み取り専用ヒント: ✅ | オープン ワールド ヒント: ❌