DG

dylancaponi/gdrive-mcp-server

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

23 stars 1 forks Качество 61 Тренд 11NOASSERTION

Активно поддерживается вилка @modelcontextprotocol/server-gdrive с автоматическим исправлением токена OAuth и укреплением безопасности

Обзор

Активно поддерживаемая вилка архивированного @modelcontextprotocol/server-gdrive от Anthropic с критическим исправлением ошибок для автоматического обновления токена OAuth. Оригинальный сервер был заархивирован 29 мая 2025 года и больше не поддерживается. Он также имеет ошибку, которая заставляет токены доступа OAuth истекать через 1 час без автоматического обновления, требуя ручного вращения токена и перезапуска сервера. Оригинал создает новый google.auth.OAuth2() без прохождения client id и client secret, поэтому у google-auth-библиотеки нет возможности использовать обновление token для получения новых токенов доступа. Однострочный ремонт, но архивное репо не принимает пиар.

Обзор (машинный перевод)

Активно поддерживаемый форк архивированного Anthropic @modelcontextprotocol/server-gdrive, с критическим исправлением ошибок для автоматического обновления токена OAuth.

##Почему именно эта вилка?

Оригинальный сервер был заархивирован 29 мая 2025 года и больше не поддерживается. Он также имеет ошибку, которая заставляет токены доступа OAuth истекать через 1 час без автоматического обновления, требуя ручного вращения токена и перезапуска сервера.

** Баг:** В оригинале создается new google.auth.OAuth2() без прохождения client_id и client_secret, поэтому google-auth-library не имеет возможности использовать refresh_token для получения новых токенов доступа. Однострочный ремонт, но архивное репо не принимает пиар.

Что фиксируется

** Токены автоматического обновления **: клиент OAuth2 инициализируется с client_id и client_secret из файла ключей OAuth, что позволяет библиотеке Google auth автоматически обновлять просроченные токены доступа

  • Постоянство токенов: Обновленные токены записываются обратно в файл учетных данных, поэтому перезагрузки также собирают действительные токены. ** Проверка ввода**: Добавлена валидация для ресурсов URI, поисковых запросов и идентификаторов файлов ** Результаты поиска включают идентификаторы файлов**: Таким образом, вы можете использовать их с помощью инструмента загрузки или считывателя ресурсов

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

Google Drive MCP Server

An actively maintained fork of Anthropic’s archived @modelcontextprotocol/server-gdrive, with a critical bug fix for OAuth token auto-refresh.

Why this fork?

The original server was archived on May 29, 2025 and is no longer maintained. It also has a bug that causes OAuth access tokens to expire after 1 hour with no auto-refresh, requiring manual token rotation and server restarts.

The bug: The original creates new google.auth.OAuth2() without passing client_id and client_secret, so the google-auth-library has no way to use the refresh_token to get new access tokens. One-line fix, but the archived repo doesn’t accept PRs.

What’s fixed

  • Auto-refresh tokens: OAuth2 client is initialized with client_id and client_secret from your OAuth keys file, enabling the Google auth library to automatically refresh expired access tokens
  • Token persistence: Refreshed tokens are written back to the credentials file, so restarts also pick up valid tokens
  • Input validation: Added validation for resource URIs, search queries, and file IDs
  • Search results include file IDs: So you can actually use them with the download tool or resource reader
  • Read tool: Read file contents inline (Google Docs as Markdown, Sheets as CSV, etc.)
  • Download tool: Save files to a local directory instead of returning base64 blobs that overflow LLM context windows
  • Sheets read tool: Read Google Sheets with A1 range notation, returned as formatted markdown tables
  • Shared Drive support: Search and read files from Shared Drives (formerly Team Drives)
  • Folder listing: Browse Drive folders by ID
  • PDF export: Export Google Workspace files as PDF
  • File upload: Push local files to Drive (opt-in, requires drive scope)
  • Opt-in resources: MCP resource handlers are disabled by default to prevent hangs in clients that call resources/list on startup

Setup

1. Create Google Cloud OAuth credentials

  1. Go to the Google Cloud Console
  2. Create a project (or use an existing one)
  3. Enable the Google Drive API and Google Sheets API
  4. Create OAuth 2.0 credentials (Desktop application type)
  5. Download the JSON and save it as gcp-oauth.keys.json

Tip: If your OAuth consent screen is in “Testing” mode, refresh tokens expire after 7 days. Publish to “Production” for permanent refresh tokens.

2. Clone, build, and star

git clone https://github.com/dylancaponi/gdrive-mcp-server.git
cd gdrive-mcp-server
npm install && npm run build
gh api user/starred/dylancaponi/gdrive-mcp-server -X PUT

Per the LICENSE, starring this repository is required (Section 2).

3. Authenticate

Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

{ "mcpServers": { "gdrive": { "type": "stdio", "command": "node", "args": ["/path/to/gdrive-mcp-server/dist/index.js"], "env": { "GDRIVE_OAUTH_PATH": "/path/to/gcp-oauth.keys.json", "GDRIVE_CREDENTIALS_PATH": "/path/to/.gdrive-server-credentials.json" } } } }