MCP Google Drive Server Repository Structure
Main README.md
# ๐ MCP Google Drive Server
Connect your AI assistant to Google Drive with this easy-to-setup Model Context Protocol (MCP) server. Perfect for both technical and non-technical users!
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
[](https://developers.google.com/drive/api)
## ๐ฏ What This Does
This MCP server allows AI assistants (like Claude) to:
- ๐ **Browse your Google Drive files and folders**
- ๐ **Read document contents** (Google Docs, PDFs, text files)
- โ๏ธ **Create and edit files**
- ๐ **Search through your documents**
- ๐ค **Access shared folders and files**
## ๐ Quick Start (5 minutes!)
### For Non-Technical Users
**Don't worry about code!** Just follow our [๐ Step-by-Step Guide](SETUP-GUIDE.md)
### For Developers
```bash
git clone https://github.com/your-username/mcp-google-drive-server.git
cd mcp-google-drive-server
npm install
# Follow setup guide
๐ What You'll Need
โ
A computer with internet
โ
A Google account with Google Drive
โ
Claude Desktop app
โ
10 minutes of your time
No coding experience required!
๐ Documentation
๐ฌ Video Tutorial
Coming soon: A 5-minute video showing the complete setup process
โจ Features
๐ Secure & Private
Your data stays in your Google Drive
Uses Google's official security protocols
No data stored on our servers
๐ฏ Easy to Use
Pre-configured service account (no complex setup)
Visual step-by-step instructions
Works with existing Google Drive permissions
๐ Powerful
Read any file type (Docs, Sheets, PDFs, etc.)
Search across all your documents
Create and edit files directly from AI chat
Access shared folders and collaborative documents
๐ธ Screenshots
Before Setup
Claude can't access your files
After Setup
Claude can read, search, and manage your Google Drive files
๐ค Getting Help
๐ Credits
Built with:
๐ License
MIT License - see LICENSE file for details.
Made with โค๏ธ for the AI community
Star โญ this repo if it helped you!
## docs/SETUP-GUIDE.md
```markdown
# ๐ Complete Setup Guide
*Follow these steps to connect your AI assistant to Google Drive in about 10 minutes!*
## ๐ฏ Overview
By the end of this guide, your AI assistant will be able to:
- Read your Google Drive files
- Search through your documents
- Create new files
- Edit existing files
## ๐ Before You Start
Make sure you have:
- โ
A Google account with Google Drive
- โ
Claude Desktop installed on your computer
- โ
10 minutes of free time
## ๐ Step 1: Download the Project
### Option A: Download ZIP (Easiest)
1. Go to the [main project page](https://github.com/your-username/mcp-google-drive-server)
2. Click the green **"Code"** button
3. Click **"Download ZIP"**
4. Extract the ZIP file to your Desktop
5. Rename the folder to `google-drive-mcp`
### Option B: Use Git (For Developers)
```bash
git clone https://github.com/your-username/mcp-google-drive-server.git
cd mcp-google-drive-server
๐ง Step 2: Install Node.js
Windows
Go to nodejs.org
Download the LTS version (recommended)
Run the installer
Follow the setup wizard (keep all default settings)
Mac
Go to nodejs.org
Download the LTS version (recommended)
Run the installer package
Follow the installation steps
Verify Installation
Open your terminal/command prompt and type:
You should see something like v18.17.0 or higher.
๐ฆ Step 3: Install Dependencies
Open your terminal/command prompt
Navigate to your project folder:
cd Desktop/google-drive-mcp
Install the required packages:
This downloads all the code libraries needed to run the server.
๐ Step 4: Get Access to Google Drive
We've made this super easy! We provide a pre-configured service account that you can use.
Get the Service Account File
Contact Vilhelm on slack to get the service-account.json file or check our bitwarden vault
Save the file in your project folder (same location as package.json)
Share Your Google Drive Folders
The service account needs permission to access your files:
Open Google Drive in your web browser
Right-click on any folder you want the AI to access
Click "Share"
In the "Add people and groups" box, paste this email:
mcp-drive-service@scientific-axle-461106-f3.iam.gserviceaccount.com
Set the permission level:
Viewer: AI can only read files
Editor: AI can read and modify files (recommended)
Owner: AI has full control (not recommended)
Click "Send"
Repeat this for every folder you want the AI to access.
๐ก Tip: Share your main "Documents" folder to give the AI access to most of your files.
๐งช Step 5: Test the Setup
Let's make sure everything works:
Test basic functionality:
You should see:
โ Node.js is working!
โ MCP SDK imported successfully
โ Google APIs imported successfully
Test Google Drive connection:
You should see:
โ Service account found: mcp-drive-service@...
If you see any errors, check our ๐ ๏ธ Troubleshooting Guide.
โ๏ธ Step 6: Configure Claude Desktop
Now we need to tell Claude Desktop about your new MCP server.
Find Your Config File
On Windows:
%APPDATA%\Claude\claude_desktop_config.json
On Mac:
~/Library/Application Support/Claude/claude_desktop_config.json
Edit the Config File
Open the config file in a text editor (Notepad on Windows, TextEdit on Mac)
Replace the contents with this (update the path to match your setup):
{
"mcpServers": {
"google-drive": {
"command": "node",
"args": ["C:/Users/YourName/Desktop/google-drive-mcp/server.js"],
"env": {}
}
}
}
Important: Replace C:/Users/YourName/Desktop/google-drive-mcp/server.js with the actual path to your server.js file.
Get the Correct Path
On Windows:
Open File Explorer
Navigate to your project folder
Hold Shift and right-click on server.js
Select "Copy as path"
Paste this path into the config file
On Mac:
Open Finder
Navigate to your project folder
Right-click on server.js
Hold Option and select "Copy server.js as Pathname"
Paste this path into the config file
๐ Step 7: Start Using It!
Save your config file
Restart Claude Desktop completely (quit and reopen)
Open a new chat in Claude
Test it by asking: "Can you list my Google Drive files?"
If everything worked, Claude should be able to see and interact with your Google Drive files!
โ
Success! What Now?
Now you can ask Claude to:
๐ Browse Files
"Show me my recent documents"
"List files in my 'Projects' folder"
"Find all PDF files in my Drive"
๐ Read Content
"Read the contents of my resume.pdf"
"What's in my meeting notes document?"
"Summarize the data in my spreadsheet"
โ๏ธ Create & Edit
"Create a new document called 'Project Plan'"
"Add a task list to my existing project file"
"Update my resume with my latest experience"
๐ Search
"Find all documents containing 'budget'"
"Show me files shared with me this week"
"Search for presentations about marketing"
๐ Need Help?
Congratulations! ๐ You've successfully connected Claude to your Google Drive!
## docs/FAQ.md
```markdown
# โ Frequently Asked Questions
## ๐ Security & Privacy
### Q: Is my data safe?
**A: Yes!** Your data never leaves Google's servers. The MCP server only helps Claude communicate with Google Drive using Google's official, secure API.
### Q: Can you access my files?
**A: No.** The service account can only access folders you explicitly share with it. You control all permissions.
### Q: What happens to my files if I stop using this?
**A: Nothing changes.** Your files remain in your Google Drive. Simply stop sharing folders with the service account to revoke access.
## ๐ ๏ธ Technical Questions
### Q: Do I need to know how to code?
**A: No!** Just follow our step-by-step guide. No programming knowledge required.
### Q: What operating systems are supported?
**A: Windows, Mac, and Linux** are all supported.
### Q: Can I use this with other AI assistants?
**A: Currently designed for Claude**, but the MCP protocol is open and may support other assistants in the future.
## ๐ง Setup Issues
### Q: "Node.js not found" error
**A: Install Node.js** from [nodejs.org](https://nodejs.org/). Make sure to download the LTS version.
### Q: "Permission denied" errors
**A: Make sure you've shared your Google Drive folders** with the service account email: `mcp-drive-service@scientific-axle-461106-f3.iam.gserviceaccount.com`
### Q: Claude doesn't see the MCP server
**A: Check these things:**
1. The path in your config file is correct
2. You restarted Claude Desktop after editing the config
3. The `server.js` file exists in the specified location
## ๐ Usage Questions
### Q: Which file types are supported?
**A: Most file types including:**
- Google Docs, Sheets, Slides
- PDF files
- Text files (.txt, .md, .csv)
- Microsoft Office files (limited)
### Q: Can I access shared folders?
**A: Yes!** Both folders shared with you and folders you share with the service account.
### Q: Is there a file size limit?
**A: Google Drive's limits apply** (15GB for free accounts). Very large files may take longer to process.
### Q: Can I edit Google Sheets?
**A: Currently supports reading Sheets as CSV**. Full editing support may be added in future versions.
## ๐ Advanced Usage
### Q: Can I restrict access to specific folders?
**A: Yes!** Only share the folders you want the AI to access. Don't share your entire Drive.
### Q: Can multiple people use the same service account?
**A: Yes**, but each person needs to share their own folders with the service account.
### Q: How do I create my own service account?
**A: Follow the "Advanced Setup" section** in our [Technical Guide](TECHNICAL-GUIDE.md).
## ๐ Still Need Help?
- ๐ Read our [Troubleshooting Guide](TROUBLESHOOTING.md)
- ๐ฌ [Ask on GitHub Issues](https://github.com/your-username/mcp-google-drive-server/issues)
- ๐ง Email: support@yourproject.com
- ๐ป Join our community Discord (link in main README)
**Can't find your question? Ask us and we'll add it to this FAQ!**
.gitignore
# Dependencies
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Authentication files
service-account.json
credentials.json
token.json
# Environment variables
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
# Logs
logs
*.log
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage/
# nyc test coverage
.nyc_output
# Dependency directories
node_modules/
jspm_packages/
# Optional npm cache directory
.npm
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
# OS generated files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
# IDE files
.vscode/
.idea/
*.swp
*.swo
*~
# Local test files
test-local/
debug-output/
LICENSE
MIT License
Copyright (c) 2024 MCP Google Drive Server
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
CONTRIBUTING.md
# ๐ค Contributing to MCP Google Drive Server
Thank you for your interest in contributing! This project aims to be accessible to both technical and non-technical users.
## ๐ฏ How You Can Help
### ๐ Documentation
- Improve setup instructions
- Add screenshots and examples
- Fix typos and unclear explanations
- Translate documentation to other languages
### ๐ Bug Reports
- Report issues with clear steps to reproduce
- Suggest improvements for error messages
- Share your setup experience
### ๐ก Feature Requests
- Propose new Google Drive integrations
- Suggest UI/UX improvements
- Request support for new file types
### ๐ง Code Contributions
- Fix bugs and improve error handling
- Add new Google Drive API features
- Improve performance and reliability
- Add tests and validation
## ๐ Getting Started
1. **Fork** this repository
2. **Clone** your fork locally
3. **Install dependencies**: `npm install`
4. **Create a branch**: `git checkout -b your-feature-name`
5. **Make your changes**
6. **Test your changes**: `npm test`
7. **Submit a pull request**
## ๐ Documentation Standards
- Use simple, clear language
- Include screenshots for visual steps
- Test instructions with non-technical users
- Provide examples for all features
## ๐ Bug Report Template
When reporting bugs, please include:
Environment:
Steps to Reproduce:
Step one
Step two
...
Expected Behavior:
What should happen
Actual Behavior:
What actually happens
Error Messages:
Any error messages or logs
Additional Context:
Screenshots, files, or other helpful info
## ๐ Development Setup
```bash
# Clone your fork
git clone https://github.com/your-username/mcp-google-drive-server.git
cd mcp-google-drive-server
# Install dependencies
npm install
# Set up your own service account (for testing)
# Follow the advanced setup guide
# Run tests
npm test
# Start development server
npm run dev
๐ Code Standards
Use clear, descriptive variable names
Add comments for complex logic
Include error handling and user-friendly error messages
Follow existing code style and patterns
Test your changes thoroughly
๐จ Design Principles
Accessibility First: Anyone should be able to use this
Security by Default: Always prioritize user data safety
Clear Communication: Error messages should help users fix problems
Minimal Setup: Reduce complexity wherever possible
๐ Questions?
๐ Recognition
All contributors will be recognized in our README and release notes. Thank you for making this project better for everyone!