MCP, MCP server
Google Drive Mcp
Connect an MCP client to Google Drive, Docs, Sheets, Slides, and Calendar through one self-hosted server.
Compatibility: Not stated.
Grade C
One Medium finding. Read the findings before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
Rescanned at commit 9509fb8bba8a, unchanged since the check below.
INSTALL_LIFECYCLE_HOOK
Why this grade
- INSTALL_LIFECYCLE_HOOK Medium
A package install hook (preinstall, install, postinstall or prepare) runs a script.
package.json, line 55
prepare
Any High, or two or more Medium findings, give D. One Medium gives C. Low findings or a security Note give B. Each code names a finding behind the letter.
Grades are a hygiene check of the source at the commit shown, on the date checked, not a security audit or a guarantee. The free directory grades are automated. Before release, a PlugVet engineer reviews every paid report and any grade we hold back, including all F grades, against the source code and the evidence we quote.
What was checked
Plain notes from the hygiene checks.
Permissions
Concern
can delete files.
PERMISSION_DELETE_FILES
src/auth/accountStore.ts, line 289
await fs.unlink(legacyPath);
Install and update
Concern
runs a script at install time.
INSTALL_LIFECYCLE_HOOK
package.json, line 55
prepare
Network
Concern
can reach a host that is not written as a fixed address.
NETWORK_NO_FIXED_HOST
scripts/registry-metadata.js, line 49
response = await fetch(url, { ...options, signal });
src/auth/team/googleIdp.ts, line 67
await fetch(REVOKE_URL, {
CHANGELOG.md, line 42
Makes **concurrent Docs editing safe and Docs styling legible**, and tells clients which tools only read. Every Docs write tool now accepts an optional `ifRevisionId`, and every Do
Show more
CHANGELOG.md, line 48
- **docs:** two read-side style tools, so styling questions stop costing a full-document JSON fetch (~160k characters for a three-page document) - the reads that previously had no
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_DOTENV
src/auth/client.ts, line 51
const legacyPath = process.env.GOOGLE_CLIENT_SECRET_PATH || 'client_secret.json';
src/auth/client.ts, line 102
const envSecret = process.env.GOOGLE_DRIVE_MCP_CLIENT_SECRET;
src/auth/externalAuth.ts, line 16
return !!process.env.GOOGLE_APPLICATION_CREDENTIALS;
Show more
src/auth/externalAuth.ts, line 97
const keyFile = process.env.GOOGLE_APPLICATION_CREDENTIALS!;
src/auth/externalAuth.ts, line 240
return !!(process.env.GOOGLE_DRIVE_MCP_ACCESS_TOKEN || process.env.GOOGLE_DRIVE_MCP_REFRESH_TOKEN);
src/auth/externalAuth.ts, line 248
const accessToken = process.env.GOOGLE_DRIVE_MCP_ACCESS_TOKEN?.trim();
src/auth/externalAuth.ts, line 249
const refreshToken = process.env.GOOGLE_DRIVE_MCP_REFRESH_TOKEN?.trim();
src/auth/externalAuth.ts, line 264
const clientSecret = process.env.GOOGLE_DRIVE_MCP_CLIENT_SECRET?.trim();
.claude/settings.json, line 8
"Read(.env)",
.claude/settings.json, line 9
"Read(.env.local)",
.claude/settings.json, line 10
"Read(.env.development)",
.claude/settings.json, line 11
"Read(.env.production)",
.cursorignore, line 3
node_modules
.cursorignore, line 4
.env
.dockerignore, line 2
npm-debug.log
.dockerignore, line 4
!.env.example
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Note
a file was over the read cap and was not fully read.
OBFUSCATION_FILE_OVER_READ_CAP
src/tools/docs.ts, line 1
import { Readable } from 'stream';
Licence
Pass
A licence file is present (LICENSE).
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit 9509fb8bba8a. can delete files. runs a script at install time. can reach a host that is not written as a fixed address. reads a credential or environment file. a file was over the read cap and was not fully read.
Date and source
Date checked:
github.com
Commit graded: 9509fb8bba8ad15f7cdb79a54dbd850c13eb058b
This link goes to the original host. PlugVet does not host or check what you download from there, and installing it is your own decision and risk.