Google Drive MCP

io.github.piotr-agierPublished by GitHub account piotr-agierv2.12.0Updated Oct 24, 2026

Secure access to Google Drive, Docs, Sheets, Slides, and Calendar through MCP.

Overview

AI-generated overview

A self-hosted MCP server that gives an assistant access to Google Drive, Docs, Sheets, Slides and Calendar through your own Google OAuth credentials.

What you can do
Search, organize and manage Drive files, Shared Drives, permissions and revisions, and read files through an optional resource interface (gdrive:///). Create and edit Google Docs, including formatting and comments. Build and format Google Sheets and author Google Slides presentations. Create and manage Calendar events, including Meet links and Drive attachments. Check and switch the active Google account, with per-tool account selection.
When to use it
Use it when you want an assistant to work inside Google Drive and the Workspace editors on your own Google identity: finding and tidying files, drafting documents, sheets and slide decks, or preparing meetings. It suits personal desktop clients and self-hosted team setups rather than broad coverage of every Workspace API.
Requirements
Runs locally over stdio via npx (Node.js). Needs a Google Cloud project with the Drive, Docs, Sheets, Slides and Calendar APIs enabled, an OAuth client of type Desktop app, and the credentials JSON path in GOOGLE_DRIVE_OAUTH_CREDENTIALS. A one-time browser consent flow stores tokens locally; service accounts and external tokens are also supported.
Before you install
It holds Google OAuth credentials and refresh tokens, so protect the credentials file and the stored tokens file and never commit them. Use the narrowest OAuth scopes possible. Tools can create, edit, move, share and delete Drive content and change Calendar events, so review write actions. Team mode stores members' refresh tokens in a file that must be treated as a secret.

Installation

In SourceWeft

  1. Open Google Drive MCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Google Drive MCP Server

[MCP Toplist]

Connect an MCP client to Google Drive, Docs, Sheets, Slides, and Calendar through one self-hosted server. Search and organize files, create and edit Workspace content, manage sharing, and automate multi-step workflows while keeping control of the Google identity and credentials used for every call.

Why this server

  • Drive-first workflows: 130 tools cover file management, Shared Drives, permissions, revisions, rich Docs editing, Sheets formatting, Slides authoring, and Calendar events.
  • Local or hosted: use stdio for a personal desktop client, Streamable HTTP for a hosted integration, or OAuth-protected team mode for a shared service.
  • Identity control: local OAuth supports multiple Google accounts and per-tool account selection; service accounts and externally managed OAuth tokens are also supported.
  • Agent-friendly access: tools expose targeted operations, while the optional gdrive:/// resource interface supports direct reading and discovery.
  • Open and self-hosted: credentials and tokens stay in the environment you operate.

This project remains focused on deep Drive and editor workflows rather than attempting to expose every Google Workspace API.

Client compatibility

Compatibility is determined by the transport and authentication flow a client supports.

Client typeTransportRecommended mode
Claude DesktopstdioLocal OAuth
Other local MCP clients, including Gemini CLIstdioLocal OAuth
claude.ai custom connectorsStreamable HTTPTeam mode
Other remote MCP clientsStreamable HTTPSingle identity behind access control, or team mode with OAuth 2.1

See Client configuration for configuration examples and transport requirements.

Quick start

1. Create Google OAuth credentials

In a Google Cloud project:

  1. Enable the Drive, Docs, Sheets, Slides, and Calendar APIs.
  2. Configure the OAuth consent screen and add your Google account as a test user when the app is in testing.
  3. Create an OAuth client with application type Desktop app.
  4. Download the JSON file and save it as:
text
~/.config/google-drive-mcp/gcp-oauth.keys.json

The setup guide has the complete Google Cloud walkthrough and alternative credential locations.

2. Authenticate

bash
npx -y @piotr-agier/google-drive-mcp auth

Complete the Google consent flow in the browser. Tokens are stored by default at ~/.config/google-drive-mcp/tokens.json.

3. Add the server to your MCP client

For clients that use the common mcpServers configuration shape:

json
{  "mcpServers": {    "google-drive": {      "command": "npx",      "args": ["-y", "@piotr-agier/google-drive-mcp"]    }  }}

Restart the client after saving its configuration. Claude Desktop paths and HTTP examples are documented in Client configuration.

4. Make a first tool call

Ask your client:

text
Run authGetStatus and tell me which Google account is active.

Then try a read-only Drive request:

text
Search my Google Drive for files modified in the last seven days.

If the identity is wrong or search returns no files, use the troubleshooting guide.

What you can do

Organize Drive

text
Find PDF files in /Reports, create an Archive folder there, and move files olderthan one year into it.

Build a report

text
Create a Google Sheet for monthly results, summarize it in a Google Doc, andcreate a short Google Slides presentation from the summary.

Edit a document

text
Find the "Project Plan" document, replace the old launch date, format the newdate in bold, and add a comment describing the change.

Prepare a meeting

text
Create a Calendar event with a Google Meet link and attach the project brieffrom Drive.

Documentation

Every section that used to live in this README is now in one of these guides.

GuideContents
SetupRequirements, Google Cloud APIs, OAuth credentials, and installation
Client configurationSupported transports and client configuration
AuthenticationLocal OAuth, multi-account, service accounts, external tokens, and scopes
ConfigurationCLI flags, environment variables, defaults, and precedence
DeploymentDocker, Streamable HTTP, team mode, and reverse-proxy security
Tool referenceAll Drive, Docs, Sheets, Slides, Calendar, and account tools
TroubleshootingAuthentication, API, identity, Docker, and rate-limit problems
DevelopmentRepository structure, build commands, tests, and contributions

Security

  • Never commit OAuth credentials, service-account keys, access tokens, refresh tokens, or tokens.json.
  • Use the narrowest OAuth scopes that support the tools you need.
  • Keep the default HTTP bind address on 127.0.0.1 unless the server is protected by TLS and access control.
  • Use team mode for shared deployments so every request is authenticated as its caller.
  • Treat team-store.json as a secret because it contains members' Google refresh tokens.

See Authentication and Deployment for the complete security and identity model.

Development and support

See the development guide to build and test the project.

  • Report defects and request features in GitHub Issues.
  • Review released changes in the changelog.
  • Contributions are welcome through pull requests.

License

MIT

Acknowledgments

Source: README.md at commit 26f9b83

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

3
  1. v2.12.0LatestSep 25, 2026
  2. v2.11.0Sep 19, 2026
  3. v2.10.0Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts