honest-drive-mcp
Local Google Drive MCP server with full permission management — the piece missing from the official connector.
Companion project to honest-gmail-mcp and honest-calendar-mcp.
Why
The official Anthropic Drive connector is competent for read + create, but has one big gap: it cannot set or modify sharing permissions. If you build a workflow like "create a folder for my accountant and share it with her", you hit a dead end — you have to jump into the Drive UI to do the sharing part manually.
This MCP fixes that. Same trust model as the rest of the honest-* family: data flows only between your machine and Google.
Features
Eight tools exposed over MCP:
list_files— search with Drive query syntaxget_file— full metadataread_file— download content (text/JSON returned as UTF-8; binaries as base64; Google-native docs auto-exported to plain text / CSV)create_file— upload from text or base64create_folder— new folder, optionally inside a parentshare_file— grant access to an email (reader/commenter/writer/owner), notification optional, custom message supported ← the piece missing elsewherelist_permissions— see who has access and with what roleremove_permission— revoke a specific permission by id
Requirements
- Python 3.10+
- A Google account
- One-time Google Cloud OAuth setup (~10 min; can reuse the client from honest-gmail-mcp — just enable the Drive API on the same project)
Setup
git clone https://github.com/bartosz-kuc/honest-drive-mcp.git
cd honest-drive-mcp
python3 -m venv venv
./venv/bin/pip install -r requirements.txt
Google Cloud steps (same as honest-gmail-mcp):
- https://console.cloud.google.com/ → create or select project
- APIs & Services → Library → enable Google Drive API
- APIs & Services → Credentials → OAuth client ID → Desktop app → download JSON → save as
credentials.jsonhere
First run:
./venv/bin/python server.py
Browser opens → Allow → token saved to token.json. Ctrl+C.
Register with Claude Code:
claude mcp add drive-personal /absolute/path/to/venv/bin/python /absolute/path/to/server.py
Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"drive-personal": {
"command": "/absolute/path/to/venv/bin/python",
"args": ["/absolute/path/to/server.py"]
}
}
}
Example usage
"Create a folder called 'Faktury dla księgowej' in My Drive and share it with [email protected] as writer."
AI calls create_folder → gets folder_id → calls share_file(file_id, "[email protected]", role="writer"). Done in one shot. No context-switch to the Drive UI.
"Who has access to file X?"
AI calls list_permissions(file_id) → returns all permissions with ids you can pass to remove_permission later.
Data flow
Your AI client
↕ MCP stdio
This server (Python, on your machine)
↕ HTTPS
Google Drive API
No cloud middle. Tokens stay on disk, .gitignored.
Security notes
- OAuth scope requested:
drive(full read/write on all Drive files this account can access). Google does not offer a scope that includes permission management without also including read/write to files, which is why the scope is broad. send_notificationdefaults tofalse— AI will not spam recipients unless explicitly asked.role: "owner"transfers ownership — an irreversible action. The tool passestransferOwnership: trueautomatically when this role is requested; consider usingwriterunless you really mean to hand over the file.- Revoke access anytime at https://myaccount.google.com/permissions.
credentials.jsonandtoken.jsonare.gitignored.
Author
Bartosz Kuć — Warsaw-based developer, JDG owner running skanfirmy.pl.
Site: https://skanfirmy.pl
GitHub: https://github.com/bartosz-kuc
Email: [email protected]
Consulting
Available for consulting on Polish tax and business integrations (KSeF, GUS/NFZ/GIOŚ APIs, mBank data), MCP server design, and AI-assisted tooling for JDGs and small teams. See skanfirmy.pl/uslugi for productized packages (audit 3k PLN, setup 8-15k PLN, retainer 2-4k PLN/mo), or reach out via email.
License
MIT — see LICENSE.
Related
- honest-gmail-mcp — local Gmail MCP
- honest-calendar-mcp — local Google Calendar MCP
- ksef-mcp — Polish KSeF (e-invoicing) MCP
- nip-krs-mcp — Polish company registry MCP