LABSCO SUMMARY
Your OAuth client, not someone else's.
The trade here is explicit: a Google Cloud project and a build from source in exchange for an integration where the client id, the secret and the token all live on your disk and the consent is granted to an app you registered. For anyone who would rather not hand Drive access to a hosted connector, that is the whole argument. It also means you own the upkeep — token refreshes and scope changes are yours to manage.
What it is
A local MCP server that bridges Claude Desktop to Google Drive. It uses OAuth credentials you create yourself in the Google Cloud Console, so the authorisation is between your Google account and an app you control — no third-party service sits in the middle.
What you get
Your Drive files and folders reachable from the assistant. Authorisation is a one-time browser flow: npm run tokenGenerator opens Google's consent screen and writes token.json into the project root, after which the built server reuses that token and the assistant works against your Drive without prompting again.
Requirements
A Google account and an OAuth client you create: in the Google Cloud Console, enable the Google Drive API and create OAuth 2.0 Client ID credentials of type Desktop app, with the redirect URI set to http://localhost:3000. Put CLIENT_ID, CLIENT_SECRET and REDIRECT_URI in a .env file in the project root. Then npm install, npm run tokenGenerator to authorise, and npm run build. The Claude Desktop entry runs node against the build output with the same three values in its env block. The npm package name is googledrivemcp (1.0.0) with a googleDrive binary pointing at ./build/index.js.
Setup effort
Build from source — get the source and build it, then point your client at the built build/index.js
USE CASES
01
Reaching Drive files without a hosted connector
Register your own OAuth client, authorise once in the browser, and work against your Drive from Claude Desktop with the token stored locally.
02
Keeping Drive access inside your own Google project
All access runs through credentials you created and can revoke in your own Cloud Console, rather than a third party's app.
BEFORE YOU INSTALL
What to know first
Requires
- node on PATH
- CLIENT_ID in your environment
- CLIENT_SECRET in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Get the source and build it, then point your client at the built build/index.js. This one is built from source rather than installed with a single command.
Server setup
Build from source
TERMINAL
git clone https://github.com/michaelpine25/googleDriveMCP
cd googleDriveMCPCreate OAuth 2.0 Client ID credentials (type: Desktop app) in Google Cloud Console with the Google Drive API enabled
Create a .env file with CLIENT_ID, CLIENT_SECRET and REDIRECT_URI=http://localhost:3000
TERMINAL
npm install
npm run tokenGenerator
npm run buildAdd the mcpServers config to claude_desktop_config.json, then restart Claude Desktop
node
TERMINAL
node <YOUR_PATH_TO_BUILD>/index.jsMCP Clients
Claude Desktop
CLAUDE DESKTOP · JSON
{
"mcpServers": {
"googleDrive": {
"command": "node",
"args": [
"<YOUR_PATH_TO_BUILD>/index.js"
],
"env": {
"CLIENT_ID": "<YOUR_CLIENT_ID>",
"CLIENT_SECRET": "<YOUR_CLIENT_SECRET>",
"REDIRECT_URI": "http://localhost:3000"
}
}
}
}