Product
Google Drive and Docs
Google Drive files, labels and activity, plus Docs, Sheets, Slides, Forms and Books.
Install
gdrive is one plugin in the google-services-mcps marketplace, and it runs one MCP server with the same name. Install it for Claude Code with the command below. For Codex, OpenCode or Antigravity, change --agent; the product id stays the same.
Install for Claude Code
npx google-services-mcps install --agent claude --plugin gdriveWhat it manages
The server carries 8 generated API bindings and 2 gateway APIs. Gateway APIs are reached through api_search, api_describe and api_call, which every product with gateway APIs lists.
| API | Version |
|---|---|
| books | v1 |
| docs | v1 |
| drive | v3 |
| driveactivity | v2 |
| drivelabels | v2 |
| forms | v1 |
| sheets | v4 |
| slides | v1 |
| API | Version |
|---|---|
| drive | v2 |
| drivelabels | v2beta |
Tools
The plugin's server registers 200 tools: 94 reads, 78 writes, 27 destructive actions and 1 dynamic tools. A read never asks. A write is listed only when Allow write tools is on, and asks before it runs. A destructive action asks twice. A dynamic tool decides per call.
Every tool name starts with mcp__plugin_gdrive_gdrive__, so a call traces back to this product. The table lists the tools this server registers, with the safety class from the plugin's tool map.
| Tool | Class | What it does |
|---|---|---|
| account_remove | write | Remove a signed-in account |
| account_set_default | write | Set the default account |
| accounts_list | read | Signed-in accounts |
| api_call | dynamic | Call an API method |
| api_describe | read | Describe an API method |
| api_methods | read | gdrive: API methods |
| api_search | read | Search API methods |
| auth_login | write | Sign in to Google |
| auth_setup_client | write | Save the Google OAuth client |
| auth_status | read | Sign-in status |
| books_bookshelves_add_volume | write | books.mylibrary.bookshelves.addVolume |
| books_bookshelves_clear_volumes | write | books.mylibrary.bookshelves.clearVolumes |
| books_bookshelves_get | read | books.bookshelves.get |
| books_bookshelves_list | read | books.bookshelves.list |
| books_bookshelves_move_volume | write | books.mylibrary.bookshelves.moveVolume |
| books_bookshelves_remove_volume | write | books.mylibrary.bookshelves.removeVolume |
| books_bookshelves_volumes_list | read | books.bookshelves.volumes.list |
| books_cloudloading_add_book | write | books.cloudloading.addBook |
| books_cloudloading_delete_book | write | books.cloudloading.deleteBook |
| books_cloudloading_update_book | write | books.cloudloading.updateBook |
| books_dictionary_list_offline_meta | read | books.dictionary.listOfflineMetadata |
| books_familysharing_get_family_info | read | books.familysharing.getFamilyInfo |
| books_familysharing_share | write | books.familysharing.share |
| books_familysharing_unshare | write | books.familysharing.unshare |
| books_layers_annotation_data_get | read | books.layers.annotationData.get |
| books_layers_annotation_data_list | read | books.layers.annotationData.list |
| books_layers_get | read | books.layers.get |
| books_layers_list | read | books.layers.list |
| books_layers_volume_annotations_get | read | books.layers.volumeAnnotations.get |
| books_layers_volume_annotations_list | read | books.layers.volumeAnnotations.list |
| books_list_category_volumes | read | books.onboarding.listCategoryVolumes |
| books_myconfig_get_user_settings | read | books.myconfig.getUserSettings |
| books_myconfig_request_access | write | books.myconfig.requestAccess |
| books_myconfig_sync_volume_licenses | write | books.myconfig.syncVolumeLicenses |
| books_myconfig_update_user_settings | write | books.myconfig.updateUserSettings |
| books_mylibrar_bookshelv_volumes_list | read | books.mylibrary.bookshelves.volumes.list |
| books_mylibrary_annotations_delete | destructive | books.mylibrary.annotations.delete |
| books_mylibrary_annotations_insert | write | books.mylibrary.annotations.insert |
| books_mylibrary_annotations_list | read | books.mylibrary.annotations.list |
| books_mylibrary_annotations_summary | write | books.mylibrary.annotations.summary |
| books_mylibrary_annotations_update | write | books.mylibrary.annotations.update |
| books_mylibrary_bookshelves_get | read | books.mylibrary.bookshelves.get |
| books_mylibrary_bookshelves_list | read | books.mylibrary.bookshelves.list |
| books_mylibrary_readingpositions_get | read | books.mylibrary.readingpositions.get |
| books_notification_get | read | books.notification.get |
| books_onboarding_list_categories | read | books.onboarding.listCategories |
| books_personalizedstream_get | read | books.personalizedstream.get |
| books_promooffer_accept | write | books.promooffer.accept |
| books_promooffer_dismiss | write | books.promooffer.dismiss |
| books_promooffer_get | read | books.promooffer.get |
| books_readingpositions_set_position | write | books.mylibrary.readingpositions.setPosition |
| books_release_download_access | write | books.myconfig.releaseDownloadAccess |
| books_series_get | read | books.series.get |
| books_series_membership_get | read | books.series.membership.get |
| books_volumes_associated_list | read | books.volumes.associated.list |
| books_volumes_get | read | books.volumes.get |
| books_volumes_list | read | books.volumes.list |
| books_volumes_mybooks_list | read | books.volumes.mybooks.list |
| books_volumes_recommended_list | read | books.volumes.recommended.list |
| books_volumes_recommended_rate | write | books.volumes.recommended.rate |
| books_volumes_useruploaded_list | read | books.volumes.useruploaded.list |
| docs_documents_batch_update | destructive | docs.documents.batchUpdate |
| docs_documents_create | write | docs.documents.create |
| docs_documents_get | read | docs.documents.get |
| dri_update_label_enabled_app_settings | write | drivelabels.labels.updateLabelEnabledAppSettings |
| drive_about_get | read | drive.about.get |
| drive_accessproposals_get | read | drive.accessproposals.get |
| drive_accessproposals_list | read | drive.accessproposals.list |
| drive_accessproposals_resolve | write | drive.accessproposals.resolve |
| drive_approvals_approve | write | drive.approvals.approve |
| drive_approvals_cancel | destructive | drive.approvals.cancel |
| drive_approvals_comment | write | drive.approvals.comment |
| drive_approvals_decline | write | drive.approvals.decline |
| drive_approvals_get | read | drive.approvals.get |
| drive_approvals_list | read | drive.approvals.list |
| drive_approvals_reassign | write | drive.approvals.reassign |
| drive_approvals_start | write | drive.approvals.start |
| drive_apps_get | read | drive.apps.get |
| drive_apps_list | read | drive.apps.list |
| drive_changes_get_start_page_token | read | drive.changes.getStartPageToken |
| drive_changes_list | read | drive.changes.list |
| drive_changes_watch | write | drive.changes.watch |
| drive_channels_stop | destructive | drive.channels.stop |
| drive_comments_create | write | drive.comments.create |
| drive_comments_delete | destructive | drive.comments.delete |
| drive_comments_get | read | drive.comments.get |
| drive_comments_list | read | drive.comments.list |
| drive_comments_update | write | drive.comments.update |
| drive_create_file | write | Create or upload Drive file |
| drive_create_folder | write | Create Drive folder |
| drive_create_text_file | write | Create Drive text file |
| drive_download | read | Download Drive file |
| drive_drives_create | write | drive.drives.create |
| drive_drives_delete | destructive | drive.drives.delete |
| drive_drives_get | read | drive.drives.get |
| drive_drives_hide | write | drive.drives.hide |
| drive_drives_list | read | drive.drives.list |
| drive_drives_unhide | write | drive.drives.unhide |
| drive_drives_update | write | drive.drives.update |
| drive_files_copy | write | drive.files.copy |
| drive_files_delete | destructive | drive.files.delete |
| drive_files_download | read | drive.files.download |
| drive_files_empty_trash | destructive | drive.files.emptyTrash |
| drive_files_export | read | drive.files.export |
| drive_files_generate_cse_token | write | drive.files.generateCseToken |
| drive_files_generate_ids | read | drive.files.generateIds |
| drive_files_get | read | drive.files.get |
| drive_files_list | read | drive.files.list |
| drive_files_list_labels | read | drive.files.listLabels |
| drive_files_modify_labels | write | drive.files.modifyLabels |
| drive_files_watch | write | drive.files.watch |
| drive_get_file | read | Get Drive file |
| drive_list_recent | read | List recent Drive files |
| drive_operations_get | read | drive.operations.get |
| drive_permissions_create | destructive | drive.permissions.create |
| drive_permissions_delete | destructive | drive.permissions.delete |
| drive_permissions_get | read | drive.permissions.get |
| drive_permissions_list | read | drive.permissions.list |
| drive_permissions_update | destructive | drive.permissions.update |
| drive_read_text | read | Read Drive file as text |
| drive_replies_create | write | drive.replies.create |
| drive_replies_delete | destructive | drive.replies.delete |
| drive_replies_get | read | drive.replies.get |
| drive_replies_list | read | drive.replies.list |
| drive_replies_update | write | drive.replies.update |
| drive_revisions_delete | destructive | drive.revisions.delete |
| drive_revisions_get | read | drive.revisions.get |
| drive_revisions_list | read | drive.revisions.list |
| drive_revisions_update | write | drive.revisions.update |
| drive_search | read | Search Drive |
| drive_teamdrives_create | write | drive.teamdrives.create |
| drive_teamdrives_delete | destructive | drive.teamdrives.delete |
| drive_teamdrives_get | read | drive.teamdrives.get |
| drive_teamdrives_list | read | drive.teamdrives.list |
| drive_teamdrives_update | write | drive.teamdrives.update |
| drive_trash_file | destructive | Trash Drive file |
| drive_untrash_file | write | Restore Drive file from trash |
| drive_update_file | write | Update Drive file metadata |
| driveactiv_activity_query | read | driveactivity.activity.query |
| drivelabe_labels_revisions_locks_list | read | drivelabels.labels.revisions.locks.list |
| drivelabel_labels_create | write | drivelabels.labels.create |
| drivelabel_labels_delete | destructive | drivelabels.labels.delete |
| drivelabel_labels_delta | write | drivelabels.labels.delta |
| drivelabel_labels_disable | destructive | drivelabels.labels.disable |
| drivelabel_labels_enable | write | drivelabels.labels.enable |
| drivelabel_labels_get | read | drivelabels.labels.get |
| drivelabel_labels_list | read | drivelabels.labels.list |
| drivelabel_labels_locks_list | read | drivelabels.labels.locks.list |
| drivelabel_labels_permissions_create | write | drivelabels.labels.permissions.create |
| drivelabel_labels_permissions_delete | destructive | drivelabels.labels.permissions.delete |
| drivelabel_labels_permissions_list | read | drivelabels.labels.permissions.list |
| drivelabel_labels_perms_batch_delete | destructive | drivelabels.labels.permissions.batchDelete |
| drivelabel_labels_perms_batch_update | write | drivelabels.labels.permissions.batchUpdate |
| drivelabel_labels_publish | write | drivelabels.labels.publish |
| drivelabel_labels_revs_perms_create | write | drivelabels.labels.revisions.permissions.create |
| drivelabel_labels_revs_perms_delete | destructive | drivelabels.labels.revisions.permissions.delete |
| drivelabel_labels_revs_perms_list | read | drivelabels.labels.revisions.permissions.list |
| drivelabel_labels_revs_update_perms | write | drivelabels.labels.revisions.updatePermissions |
| drivelabel_labels_update_permissions | write | drivelabels.labels.updatePermissions |
| drivelabel_limits_get_label | read | drivelabels.limits.getLabel |
| drivelabel_revs_perms_batch_delete | destructive | drivelabels.labels.revisions.permissions.batchDelete |
| drivelabel_revs_perms_batch_update | write | drivelabels.labels.revisions.permissions.batchUpdate |
| drivelabel_update_label_copy_mode | write | drivelabels.labels.updateLabelCopyMode |
| drivelabel_users_get_capabilities | read | drivelabels.users.getCapabilities |
| forms_forms_batch_update | write | forms.forms.batchUpdate |
| forms_forms_create | write | forms.forms.create |
| forms_forms_get | read | forms.forms.get |
| forms_forms_responses_get | read | forms.forms.responses.get |
| forms_forms_responses_list | read | forms.forms.responses.list |
| forms_forms_set_publish_settings | write | forms.forms.setPublishSettings |
| forms_forms_watches_create | write | forms.forms.watches.create |
| forms_forms_watches_delete | destructive | forms.forms.watches.delete |
| forms_forms_watches_list | read | forms.forms.watches.list |
| forms_forms_watches_renew | write | forms.forms.watches.renew |
| health | read | Server health |
| she_values_batch_clear_by_data_filter | destructive | sheets.spreadsheets.values.batchClearByDataFilter |
| sheet_values_batch_get_by_data_filter | read | sheets.spreadsheets.values.batchGetByDataFilter |
| sheets_batch_update_by_data_filter | write | sheets.spreadsheets.values.batchUpdateByDataFilter |
| sheets_get_by_data_filter | read | sheets.spreadsheets.getByDataFilter |
| sheets_get_values | read | Read spreadsheet values |
| sheets_insert_rows | write | Insert spreadsheet rows or columns |
| sheets_spreadsheets_batch_update | destructive | sheets.spreadsheets.batchUpdate |
| sheets_spreadsheets_create | write | sheets.spreadsheets.create |
| sheets_spreadsheets_get | read | sheets.spreadsheets.get |
| sheets_spreadsheets_meta_get | read | sheets.spreadsheets.developerMetadata.get |
| sheets_spreadsheets_meta_search | read | sheets.spreadsheets.developerMetadata.search |
| sheets_spreadsheets_sheets_copy_to | write | sheets.spreadsheets.sheets.copyTo |
| sheets_spreadsheets_values_append | write | sheets.spreadsheets.values.append |
| sheets_spreadsheets_values_batch_get | read | sheets.spreadsheets.values.batchGet |
| sheets_spreadsheets_values_clear | destructive | sheets.spreadsheets.values.clear |
| sheets_spreadsheets_values_get | read | sheets.spreadsheets.values.get |
| sheets_spreadsheets_values_update | write | sheets.spreadsheets.values.update |
| sheets_values_batch_clear | destructive | sheets.spreadsheets.values.batchClear |
| sheets_values_batch_update | write | sheets.spreadsheets.values.batchUpdate |
| sheets_write_values | write | Write spreadsheet values |
| slides_pages_get_thumbnail | read | slides.presentations.pages.getThumbnail |
| slides_presentations_batch_update | destructive | slides.presentations.batchUpdate |
| slides_presentations_create | write | slides.presentations.create |
| slides_presentations_get | read | slides.presentations.get |
| slides_presentations_pages_get | read | slides.presentations.pages.get |
The plugin option toolset can list fewer tools. google lists 19 tools that do the same jobs as Google's official MCP server for this product; curated lists the hand-written and gateway tools; all is the default.
Sign-in
gdrive belongs to the workspace-user login group. Log in once for the group: create a Desktop OAuth client in a Google Cloud project, save its file with npx google-services-mcps setup-client, then run npx google-services-mcps login workspace-user. Products in this group share the one login.
The plugin's scope file lists 26 OAuth scopes for 1 APIs. A login asks only for the scopes of its profile: readonly (the default), readwrite, full, or an exact list.
| API | Scope |
|---|---|
| gdrive | https://www.googleapis.com/auth/books |
| gdrive | https://www.googleapis.com/auth/documents |
| gdrive | https://www.googleapis.com/auth/documents.readonly |
| gdrive | https://www.googleapis.com/auth/drive |
| gdrive | https://www.googleapis.com/auth/drive.activity |
| gdrive | https://www.googleapis.com/auth/drive.activity.readonly |
| gdrive | https://www.googleapis.com/auth/drive.admin.labels |
| gdrive | https://www.googleapis.com/auth/drive.admin.labels.readonly |
| gdrive | https://www.googleapis.com/auth/drive.appdata |
| gdrive | https://www.googleapis.com/auth/drive.apps.readonly |
| gdrive | https://www.googleapis.com/auth/drive.file |
| gdrive | https://www.googleapis.com/auth/drive.labels |
| gdrive | https://www.googleapis.com/auth/drive.labels.readonly |
| gdrive | https://www.googleapis.com/auth/drive.meet.readonly |
| gdrive | https://www.googleapis.com/auth/drive.metadata |
| gdrive | https://www.googleapis.com/auth/drive.metadata.readonly |
| gdrive | https://www.googleapis.com/auth/drive.photos.readonly |
| gdrive | https://www.googleapis.com/auth/drive.readonly |
| gdrive | https://www.googleapis.com/auth/drive.scripts |
| gdrive | https://www.googleapis.com/auth/forms.body |
| gdrive | https://www.googleapis.com/auth/forms.body.readonly |
| gdrive | https://www.googleapis.com/auth/forms.responses.readonly |
| gdrive | https://www.googleapis.com/auth/presentations |
| gdrive | https://www.googleapis.com/auth/presentations.readonly |
| gdrive | https://www.googleapis.com/auth/spreadsheets |
| gdrive | https://www.googleapis.com/auth/spreadsheets.readonly |
Plugin details
- Plugin
- gdrive
- MCP server
- gdrive
- Display name
- Google Drive and Docs
- Version
- 2.17.0
- Marketplace
- google-services-mcps
- Login group
- workspace-user
- Marketplace category
- productivity
- Plugin options
- allow_writes, confirmation, token_dir, toolset
- Server kind
- curated+discovery