Skip to main content
Glama

google-drive-mcp

Локальный MCP-сервер, предоставляющий Claude Code полный доступ к Google Drive — поиск, чтение, загрузка, переименование, перемещение и изменение прав доступа, в том числе к файлам, которые уже есть на вашем Диске (а не только к тем, что созданы этим приложением).

Он намеренно запрашивает широкую область видимости https://www.googleapis.com/auth/drive, потому что задачи, для которых он создан (переименование, перемещение и изменение прав доступа к существующим учебным файлам), невозможны с более узкой областью drive.file.


Одноразовая настройка

Вы делаете это один раз. После этого каждая сессия Claude Code сможет использовать инструменты google-drive.

Шаг 1 — Создайте проект Google Cloud (пропустите, если у вас уже есть)

  1. Перейдите на https://console.cloud.google.com/.

  2. Верхняя панель → выпадающее меню проектов → New Project.

  3. Назовите его, например, app-integrationsCreate. Подождите несколько секунд, затем убедитесь, что этот проект выбран в верхней панели.

Шаг 2 — Включите Google Drive API

  1. Перейдите на https://console.cloud.google.com/apis/library/drive.googleapis.com.

  2. Подтвердите, что выбран ваш проект → нажмите Enable.

Шаг 3 — Настройте экран согласия OAuth

  1. Перейдите на https://console.cloud.google.com/auth/overview (APIs & Services → OAuth consent screen).

  2. При появлении запроса выберите User Type: ExternalCreate. (External подходит для личного аккаунта Google; вы просто будете «тестовым пользователем».)

  3. Заполните обязательные поля:

    • App name: google-drive-mcp (подойдет любое)

    • User support email: ваш email

    • Developer contact email: ваш email

    • Сохраните и продолжите.

  4. Страница Scopes: здесь не нужно добавлять области видимости — сервер запросит их при авторизации. Сохраните и продолжите.

  5. Страница Test users: нажмите + Add users и добавьте свой собственный email Google (свою учетную запись Google). Это необходимо, пока приложение находится в статусе «Testing». Сохраните и продолжите.

Вам не нужно публиковать приложение или проходить проверку Google. Приложение в статусе «Testing» работает бессрочно для указанных вами тестовых пользователей; токен обновления для приложения в статусе «Testing» может истечь через 7 дней бездействия — если инструменты Drive когда-либо начнут выдавать ошибку авторизации, просто повторно выполните npm run auth (Шаг 6).

Шаг 4 — Создайте OAuth-клиент (Desktop app)

  1. Перейдите на https://console.cloud.google.com/auth/clients (APIs & Services → Credentials).

  2. + Create CredentialsOAuth client ID.

  3. Application type: Desktop app. Назовите его desktop-mcpCreate.

  4. В диалоговом окне нажмите Download JSON.

Шаг 5 — Поместите файл клиента туда, где его ожидает сервер

Сохраните загруженный JSON по следующему пути/имени:

~/.config/google-drive-mcp/gcp-oauth.keys.json

Например, если он загрузился в ~/Downloads/client_secret_XXXX.json:

mkdir -p ~/.config/google-drive-mcp
mv ~/Downloads/client_secret_*.json ~/.config/google-drive-mcp/gcp-oauth.keys.json

Шаг 6 — Авторизуйтесь (один раз)

cd ~/mcp-servers/google-drive-mcp
npm run auth

Будет выведен URL и открыт ваш браузер. Войдите в учетную запись Google, чей Диск вы хотите использовать. Вы увидите предупреждение «Google hasn't verified this app» (ожидаемо, так как приложение в статусе «Testing») → AdvancedGo to google-drive-mcp (unsafe)Continue → разрешите доступ к Диску.

В случае успеха будет создан файл ~/.config/google-drive-mcp/.gdrive-credentials.json (ваш токен обновления — храните его в секрете; ему уже установлены права chmod 600).

Шаг 7 — Используйте

Сервер уже зарегистрирован в ~/.claude.json под именем google-drive. Запустите новую сессию Claude Code, и инструменты gdrive_* станут доступны. (MCP-серверы загружаются при запуске сессии, поэтому сессия, начатая до регистрации, их не увидит.)

Быстрая ручная проверка (необязательно):

cd ~/mcp-servers/google-drive-mcp && npm start
# prints "google-drive-mcp: connected over stdio", then waits. Ctrl-C to quit.

Инструменты

Инструмент

Что делает

gdrive_search

Поиск с помощью запроса Drive q (например, name contains 'syllabus')

gdrive_list_recent

Список недавно измененных файлов

gdrive_list_children

Список прямых дочерних элементов папки (удаленные элементы по умолчанию исключены)

gdrive_get_metadata

Метаданные + ссылки для одного файла

gdrive_get_links

Получить ссылки для открытия в новой вкладке и iframe .../preview для встраивания

gdrive_create_folder

Создать папку (опционально вложенную)

gdrive_upload_file

Загрузить локальный файл по пути (потоковая передача — хорошо для больших PDF)

gdrive_create_text_file

Создать текстовый файл из встроенного содержимого

gdrive_copy

Копировать файл (не папки — Drive API не может скопировать папку за один вызов)

gdrive_create_shortcut

Создать ярлык на существующий файл/папку, чтобы один элемент мог находиться в нескольких местах

gdrive_rename

Переименовать файл/папку

gdrive_move

Переместить с помощью добавления/удаления родительских элементов

gdrive_trash

Переместить в корзину — обратимо, Диск хранит 30 дней

gdrive_untrash

Восстановить из корзины

gdrive_delete

Окончательное удаление, без корзины, безвозвратно — с защитой (см. ниже)

gdrive_list_permissions

Список прав доступа (email + роли)

gdrive_share

Добавить разрешение — {type:'anyone',role:'reader'} = просмотр по ссылке; {type:'user',role:'writer',emailAddress:...} = редактор

gdrive_unshare

Удалить разрешение по id

Удаление

gdrive_trash — это то, что нужно использовать. Это обратимо, Диск хранит удаленные элементы в корзине 30 дней, а gdrive_untrash возвращает их на место.

gdrive_delete — это окончательное и безвозвратное удаление — ничего не попадает в корзину. Оно требует confirmName, который точно соответствует текущему имени элемента, что заставляет прочитать метаданные перед уничтожением, поэтому устаревший или неправильно введенный ID файла приведет к ошибке, а не к удалению не того файла. Удаление папки удаляет все ее содержимое.

Регистрация

Зарегистрирован в обоих конфигах — они читаются независимо, поэтому регистрация в одном не делает сервер доступным в другом:

  • ~/.claude.json (Claude Code)

  • ~/Library/Application Support/Claude/claude_desktop_config.json (Desktop / Cowork)

Одинаковая запись в каждом:

"google-drive": {
  "command": "/opt/homebrew/bin/node",
  "args": ["/ABSOLUTE/PATH/TO/mcp-servers/google-drive-mcp/index.js"]
}

Абсолютный путь к node обязателен, это не стилистический выбор. Приложение, запущенное из Finder или при входе в систему, наследует минимальный PATH от launchd (/usr/bin:/bin:/usr/sbin:/sbin), в котором Homebrew /opt/homebrew/bin/node полностью невидим. Простой "node" работает каждый раз, когда вы тестируете из терминала, и не работает каждое утро. ~/mcp-servers/trello-mcp/doctor.py проверяет каждый сервер в обоих конфигах на это.

Если вы установите CLI claude позже, эквивалентная команда будет:

claude mcp add --scope user google-drive -- /opt/homebrew/bin/node ~/mcp-servers/google-drive-mcp/index.js

Файлы

  • index.js — MCP-сервер (определения инструментов)

  • auth.js — одноразовый npm run auth цикл OAuth с обратной связью

  • lib-auth.js — общие вспомогательные функции OAuth/конфигурации

  • ~/.config/google-drive-mcp/gcp-oauth.keys.jsonпредоставляете вы (Шаг 5)

  • ~/.config/google-drive-mcp/.gdrive-credentials.json — создается командой npm run auth


Для резюме / портфолио

Здесь сохранено, чтобы будущая сессия резюме имела честную версию, а не реконструировала ее.

Зачем это нужно, если коннектор Drive уже существует. Он расширяет встроенный коннектор, а не заменяет его. Пробел — в массовой работе: переименование сотни файлов после изменения соглашения об именовании в середине проекта утомительно вручную, тривиально для скрипта и стоит решить один раз, а не каждый раз. Это и было мотивирующим случаем.

Что я на самом деле сделал: поставил цель и ограничение — бесплатное решение, которое экономит то же время в каждом будущем проекте, а не одноразовый скрипт для одной папки.

Известное эксплуатационное предостережение: статус публикации OAuth-приложения определяет, как долго действуют токены обновления. В статусе «Testing» они истекают примерно еженедельно (invalid_grant); публикация приложения снимает это ограничение для всех интеграций, использующих этот Cloud-проект.

Пункт для портфолио: см. общую версию в ~/mcp-servers/trello-mcp/README.md — эти три лучше всего описывать вместе.

Полное описание проекта: https://zeno-blade-creator.github.io/projects/personal-integrations.html

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

  • Augments MCP Server - A comprehensive framework documentation provider for Claude Code

  • An MCP server that gives your AI access to the source code and docs of all public github repos

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zeno-blade-creator/google-drive-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server