## Tool: `get_file_metadata`

> [!WARNING]
> **Developer Preview:** Available as part of the [Google Workspace Developer Preview Program](https://developers.google.com/workspace/preview), which grants early access to certain features.

Call this tool to find general metadata about a user's Drive file.

If the file is not found, try using other tools like `search_files` to find the file the user is requesting.

The following sample demonstrate how to use `curl` to invoke the `get_file_metadata` MCP tool.

| Curl Request |
|---|
| ```bash curl --location 'https://drivemcp.googleapis.com/mcp/v1' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_file_metadata", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' ``` |

## Input Schema

Request to get the file.

### GetFileRequest

| JSON representation |
|---|
| ``` { "fileId": string, "excludeContentSnippets": boolean } ``` |

| Fields ||
|---|---|
| `fileId` | `string` Required. The ID of the file to retrieve. |
| Union field `_exclude_content_snippets`. `_exclude_content_snippets` can be only one of the following: ||
| `excludeContentSnippets` | `boolean` If true, the content snippet will be excluded from the response. |

## Output Schema

A file resource.

### File

| JSON representation |
|---|
| ``` { "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 } ``` |

| Fields ||
|---|---|
| `id` | `string` The id of the file that was fetched. |
| `title` | `string` The title of the file. |
| `parentId` | `string` The (optional) id of the parent of the file. |
| Union field `_mime_type`. `_mime_type` can be only one of the following: ||
| `mimeType` | `string` The mime type of the file. |
| Union field `_file_size`. `_file_size` can be only one of the following: ||
| `fileSize` | `string (https://developers.google.com/discovery/v1/type-format format)` The size in bytes of the file. |
| Union field `_description`. `_description` can be only one of the following: ||
| `description` | `string` The description of the file. |
| Union field `_file_extension`. `_file_extension` can be only one of the following: ||
| `fileExtension` | `string` The original file extension of the file, this is only populated for files with content stored in Drive. |
| Union field `_content_snippet`. `_content_snippet` can be only one of the following: ||
| `contentSnippet` | `string` Generated snippet about the content of the file. |
| Union field `_view_url`. `_view_url` can be only one of the following: ||
| `viewUrl` | `string` The URL to view the file. |
| Union field `_shared_with_me_time`. `_shared_with_me_time` can be only one of the following: ||
| `sharedWithMeTime` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` The time that the file was shared with the requester. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. |
| Union field `_created_time`. `_created_time` can be only one of the following: ||
| `createdTime` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` The time that the file was created. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. |
| Union field `_modified_time`. `_modified_time` can be only one of the following: ||
| `modifiedTime` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` The most recent time at which the file was modified. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. |
| Union field `_viewed_by_me_time`. `_viewed_by_me_time` can be only one of the following: ||
| `viewedByMeTime` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` The most recent time at which the file was viewed by requester. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. |
| Union field `_owner`. `_owner` can be only one of the following: ||
| `owner` | `string` The email address of the owner of the file. |
| Union field `_can_add_children`. `_can_add_children` can be only one of the following: ||
| `canAddChildren` | `boolean` Whether the requester can add children to this folder. This is always false for non-folder types. |

### Timestamp

| JSON representation |
|---|
| ``` { "seconds": string, "nanos": integer } ``` |

| Fields ||
|---|---|
| `seconds` | `string (https://developers.google.com/discovery/v1/type-format format)` Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
| `nanos` | `integer` Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |

### Tool Annotations

Destructive Hint: ❌ \| Idempotent Hint: ✅ \| Read Only Hint: ✅ \| Open World Hint: ❌

## Authorization Scopes

Requires one of the following OAuth scopes:

- `https://www.googleapis.com/auth/drive`
- `https://www.googleapis.com/auth/drive.appdata`
- `https://www.googleapis.com/auth/drive.file`
- `https://www.googleapis.com/auth/drive.meet.readonly`
- `https://www.googleapis.com/auth/drive.metadata`
- `https://www.googleapis.com/auth/drive.metadata.readonly`
- `https://www.googleapis.com/auth/drive.photos.readonly`
- `https://www.googleapis.com/auth/drive.readonly`