Google Drive MCP Server
Integrates with Google Drive to enable listing, searching, and reading files, plus reading and writing to Google Sheets.
isaacphi
README
Google Drive server
This MCP server integrates with Google Drive to allow listing, reading, and searching files, as well as the ability to read and write to Google Sheets.
This project includes code originally developed by Anthropic, PBC, licensed under the MIT License from this repo.
Components
Tools
-
gdrive_search
- Description: Search for files in Google Drive.
- Input:
query
(string): Search query.pageToken
(string, optional): Token for the next page of results.pageSize
(number, optional): Number of results per page (max 100).
- Output: Returns file names and MIME types of matching files.
-
gdrive_read_file
- Description: Read contents of a file from Google Drive.
- Input:
fileId
(string): ID of the file to read.
- Output: Returns the contents of the specified file.
-
gsheets_read
- Description: Read data from a Google Spreadsheet with flexible options for ranges and formatting.
- Input:
spreadsheetId
(string): The ID of the spreadsheet to read.ranges
(array of strings, optional): Optional array of A1 notation ranges (e.g.,['Sheet1!A1:B10']
). If not provided, reads the entire sheet.sheetId
(number, optional): Specific sheet ID to read. If not provided with ranges, reads the first sheet.
- Output: Returns the specified data from the spreadsheet.
-
gsheets_update_cell
- Description: Update a cell value in a Google Spreadsheet.
- Input:
fileId
(string): ID of the spreadsheet.range
(string): Cell range in A1 notation (e.g.,'Sheet1!A1'
).value
(string): New cell value.
- Output: Confirms the updated value in the specified cell.
Resources
The server provides access to Google Drive files:
- Files (
gdrive:///<file_id>
)- Supports all file types
- Google Workspace files are automatically exported:
- Docs → Markdown
- Sheets → CSV
- Presentations → Plain text
- Drawings → PNG
- Other files are provided in their native format
Getting started
- Create a new Google Cloud project
- Enable the Google Drive API
- Configure an OAuth consent screen ("internal" is fine for testing)
- Add OAuth scopes
https://www.googleapis.com/auth/drive.readonly
,https://www.googleapis.com/auth/spreadsheets
- In order to allow interaction with sheets and docs you will also need to enable the Google Sheets API and Google Docs API in your workspaces Enabled API and Services section.
- Create an OAuth Client ID for application type "Desktop App"
- Download the JSON file of your client's OAuth keys
- Rename the key file to
gcp-oauth.keys.json
and place into the path you specify withGDRIVE_CREDS_DIR
(i.e./Users/username/.config/mcp-gdrive
) - Note your OAuth Client ID and Client Secret. They must be provided as environment variables along with your configuration directory.
- You will also need to setup a .env file within the project with the following fields. You can find the Client ID and Client Secret in the Credentials section of the Google Cloud Console.
GDRIVE_CREDS_DIR=/path/to/config/directory
CLIENT_ID=<CLIENT_ID>
CLIENT_SECRET=<CLIENT_SECRET>
Make sure to build the server with either npm run build
or npm run watch
.
Authentication
Next you will need to run node ./dist/index.js
to trigger the authentication step
You will be prompted to authenticate with your browser. You must authenticate with an account in the same organization as your Google Cloud project.
Your OAuth token is saved in the directory specified by the GDRIVE_CREDS_DIR
environment variable.
Usage with Desktop App
To integrate this server with the desktop app, add the following to your app's server configuration:
{
"mcpServers": {
"gdrive": {
"command": "npx",
"args": ["-y", "@isaacphi/mcp-gdrive"],
"env": {
"CLIENT_ID": "<CLIENT_ID>",
"CLIENT_SECRET": "<CLIENT_SECRET>",
"GDRIVE_CREDS_DIR": "/path/to/config/directory"
}
}
}
}
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Recommended Servers
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Excel MCP Server
A Model Context Protocol server that enables AI assistants to read from and write to Microsoft Excel files, supporting formats like xlsx, xlsm, xltx, and xltm.
Playwright MCP Server
Provides a server utilizing Model Context Protocol to enable human-like browser automation with Playwright, allowing control over browser actions such as navigation, element interaction, and scrolling.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
Apple MCP Server
Enables interaction with Apple apps like Messages, Notes, and Contacts through the MCP protocol to send messages, search, and open app content using natural language.
contentful-mcp
Update, create, delete content, content-models and assets in your Contentful Space
serper-search-scrape-mcp-server
This Serper MCP Server supports search and webpage scraping, and all the most recent parameters introduced by the Serper API, like location.
The Verge News MCP Server
Provides tools to fetch and search news from The Verge's RSS feed, allowing users to get today's news, retrieve random articles from the past week, and search for specific keywords in recent Verge content.
MCP Server Trello
Facilitates interaction with Trello boards via the Trello API, offering features like rate limiting, type safety, input validation, and error handling for seamless management of cards, lists, and board activities.