mcp-google-drive
Parafin internal MCP server for Google Drive, Sheets, and Docs. Built with FastMCP and distributed via Claude Desktop (.mcpb) for accounting and Claude Code (CodeArtifact) for developers.
Auth
On first run, a browser window opens for Google OAuth. Sign in with your @parafin.com account. A token is saved to ~/.config/mcp-google-drive/token.json and silently refreshed on subsequent runs.
Prerequisites: Place credentials.json (obtain from #llm in Slack) at:
~/.config/mcp-google-drive/credentials.json
Setup (Developers)
# One-time install from CodeArtifact
export CODEARTIFACT_AUTH_TOKEN=$(aws codeartifact get-authorization-token \
--domain parafin --domain-owner <AWS_ACCOUNT_ID> \
--query authorizationToken --output text)
export UV_INDEX_URL="https://aws:${CODEARTIFACT_AUTH_TOKEN}@parafin-<AWS_ACCOUNT_ID>.d.codeartifact.us-east-1.amazonaws.com/pypi/parafin/simple/"
uvx --index-url "${UV_INDEX_URL}" mcp-google-drive
# Register with Claude Code
claude mcp add google-drive -- uvx mcp-google-drive
Local Development
claude mcp add google-drive -- uv run --directory /path/to/mcp-google-drive mcp-google-drive
Tools
Google Sheets — Read
| Tool | Description |
|---|---|
get_sheet_data |
Get cell values from a sheet, optionally including formatting metadata |
get_sheet_formulas |
Get raw formulas from a sheet |
list_sheets |
List all sheet tabs in a spreadsheet |
list_spreadsheets |
List spreadsheets in a Drive folder |
get_multiple_sheet_data |
Fetch data from multiple sheet ranges in one call |
get_multiple_spreadsheet_summary |
Summarize multiple spreadsheets (headers + first N rows) |
search_spreadsheets |
Search for spreadsheets by name or content |
find_in_spreadsheet |
Find cells containing a specific value across sheets |
Google Sheets — Write / Create
| Tool | Description |
|---|---|
update_cells |
Write values to a cell range |
batch_update_cells |
Write to multiple ranges in one call |
add_rows |
Insert rows into a sheet |
add_columns |
Insert columns into a sheet |
copy_sheet |
Copy a sheet tab between spreadsheets |
rename_sheet |
Rename a sheet tab |
create_spreadsheet |
Create a new Google Spreadsheet |
create_sheet |
Add a new tab to an existing spreadsheet |
share_spreadsheet |
Share a spreadsheet with users by email and role |
batch_update |
Execute raw Sheets API batchUpdate requests |
add_chart |
Add a column, bar, line, area, pie, or scatter chart to a sheet |
Google Drive — Read
| Tool | Description |
|---|---|
list_files |
List files, optionally filtered by folder and/or MIME type |
get_file_metadata |
Get metadata for a file (name, type, owners, modified date) |
search_files |
Search files using a full Drive query string |
list_folders |
List folders within a parent folder |
get_file_content |
Download raw text content of a file (CSV, TXT, etc.) |
Google Drive — Write / Create
| Tool | Description |
|---|---|
create_folder |
Create a new folder |
move_file |
Move a file to a different folder |
Google Docs — Read
| Tool | Description |
|---|---|
get_document |
Get the full plain text content of a Google Doc |
list_documents |
List Google Docs in Drive or a specific folder |
Google Docs — Write / Create
| Tool | Description |
|---|---|
create_document |
Create a new Google Doc |
update_document |
Apply raw Docs API batchUpdate requests to a document |
Permissions
Access control is enforced by Formal.ai at the proxy layer. The server exposes the full tool surface — Formal policies determine what each user can actually do. The GCP OAuth application is scoped to @parafin.com accounts only.
Credential Files
| File | Purpose | Source |
|---|---|---|
~/.config/mcp-google-drive/credentials.json |
OAuth client ID/secret | Shared via #llm or IT |
~/.config/mcp-google-drive/token.json |
User access/refresh token | Generated on first run |
Neither file should ever be committed to version control.
Metadata
Release files for mcp-google-drive 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mcp_google_drive-0.1.1.tar.gz | 69.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_google_drive-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 83.0 kB
Release files / mcp_google_drive-0.1.1.tar.gz
| Download URL | mcp_google_drive-0.1.1.tar.gz |
|---|---|
| Size | 69.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b1a05d7790cca75c415d5e668a834132fc9ac190f4d3e9a4c7e8c726e719941a
|
|
BLAKE2b-256 checksum How to use checksums |
2d5479e2bf7075678bd5433e0189f887ff0bae2cba49b74ba4f08ab4c1852cc1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / mcp_google_drive-0.1.1-py3-none-any.whl
| Download URL | mcp_google_drive-0.1.1-py3-none-any.whl |
|---|---|
| Size | 13.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b4ce7527302f6ecc7c5cfb3aa467dc1c9dcf37832f23a99e3bc5b4116e8bd191
|
|
BLAKE2b-256 checksum How to use checksums |
c9818f014e0ee7a916369f5976f1d3d5dc604136ea4bdd17fe1e2149776585fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for mcp-google-drive 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.