google-mcp
Provides tools for listing, creating, updating, deleting events, and finding free time slots on Google Calendar.
Provides tools for reading, creating, modifying documents, and managing document structure on Google Docs.
Provides tools for listing, reading, creating, updating files and folders, and sharing files on Google Drive.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@google-mcpshow my upcoming calendar events"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google MCP Server
A focused, secure Model Context Protocol (MCP) server providing Google Drive, Docs, and Calendar integration for AI assistants like Claude.
Features
Minimal & Focused: 20 carefully chosen tools covering essential Google services operations
Secure by Design: OAuth 2.0 with encrypted token storage and automatic refresh
Production Ready: Comprehensive error handling, validation, and logging
Well-Documented: Clear tool descriptions and detailed setup guides
Supported Services
Google Drive (7 tools): List, read, create, update files and folders, share files
Google Docs (6 tools): Read, create, modify documents, manage structure
Google Calendar (7 tools): List, create, update, delete events, find free time
Related MCP server: google-suite-mcp
Quick Start
1. Installation
npm install
npm run build2. OAuth Setup
Create a project in Google Cloud Console
Enable the Drive, Docs, and Calendar APIs
Create OAuth 2.0 credentials
Copy
.env.exampleto.envand fill in your credentials
See OAUTH_SETUP.md for detailed instructions.
3. Authenticate
# Set up environment variables
cp .env.example .env
# Edit .env with your credentials
# Run authentication flow
npm start -- --authThis will open a browser window for you to authorize the application. Once complete, your credentials will be securely stored.
4. Use with Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"google": {
"command": "node",
"args": ["/path/to/google-mcp/dist/index.js"],
"env": {
"GOOGLE_CLIENT_ID": "your_client_id",
"GOOGLE_CLIENT_SECRET": "your_client_secret"
}
}
}
}Restart Claude Desktop, and the Google tools will be available.
Available Tools
Google Drive
drive_list_files- List and search filesdrive_get_file_metadata- Get detailed file informationdrive_read_file- Read file contentsdrive_create_file- Create new filedrive_update_file- Update existing filedrive_create_folder- Create folderdrive_share_file- Share file with user
Google Docs
docs_read_document- Read document contentsdocs_create_document- Create new documentdocs_append_content- Append to documentdocs_replace_content- Find and replace textdocs_insert_content- Insert at positiondocs_get_structure- Get document outline
Google Calendar
calendar_list_events- List events in date rangecalendar_get_event- Get event detailscalendar_create_event- Create new eventcalendar_update_event- Update eventcalendar_delete_event- Delete eventcalendar_find_free_time- Find available slotscalendar_list_calendars- List all calendars
See TOOLS.md for detailed tool documentation with examples.
CLI Usage
# Start MCP server (for use with Claude Desktop)
npm start
# Authenticate with Google
npm start -- --auth
# Revoke credentials
npm start -- --revoke
# Show help
npm start -- --helpDevelopment
# Install dependencies
npm install
# Build
npm run build
# Watch mode (auto-rebuild)
npm run dev
# Run tests
npm test
# Lint
npm run lint
# Format code
npm run formatConfiguration
Environment Variables
GOOGLE_CLIENT_ID=your_client_id # Required
GOOGLE_CLIENT_SECRET=your_client_secret # Required
GOOGLE_REDIRECT_URI=http://localhost:3000/oauth/callback # Optional
TOKEN_STORAGE_PATH=~/.google-mcp/tokens.json # Optional
LOG_LEVEL=info # Optional: debug, info, warn, errorOAuth Scopes
The server requests these scopes:
https://www.googleapis.com/auth/drive- Full Drive accesshttps://www.googleapis.com/auth/documents- Docs read/writehttps://www.googleapis.com/auth/calendar- Calendar read/write
Security
OAuth tokens are stored encrypted at
~/.google-mcp/tokens.jsonwith file permissions 0600Tokens are automatically refreshed before expiration
No user data is logged or transmitted except to Google APIs
Client secret should be kept secure and not committed to version control
Troubleshooting
"Not authenticated" error
Run npm start -- --auth to authenticate.
Token expired
The server automatically refreshes tokens. If you see auth errors, re-run authentication.
Google API errors
Check that:
APIs are enabled in Google Cloud Console
OAuth credentials are correct
Redirect URI matches your configuration
See docs/TROUBLESHOOTING.md for more help.
Architecture
src/
├── index.ts # MCP server entry point
├── auth/ # OAuth 2.0 implementation
├── tools/ # Tool implementations
│ ├── drive/
│ ├── docs/
│ └── calendar/
├── types/ # TypeScript type definitions
└── utils/ # Error handling, validation, loggingWhy This Server?
Existing Google MCP servers often:
Expose too many tools (overwhelming)
Mix multiple unrelated services (Gmail, Sheets, etc.)
Lack proper error handling
Are published by unknown third parties
This server focuses on:
Quality over quantity: 20 essential tools, not 100 mediocre ones
Security: Proper OAuth 2.0 with token encryption
Reliability: Comprehensive error handling and validation
Clarity: Well-documented, focused feature set
License
MIT
Contributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch
Add tests for new functionality
Ensure
npm run lintandnpm testpassSubmit a pull request
Support
Roadmap
Potential future additions (not committed):
Gmail integration
Google Sheets support
Batch operations
Caching for performance
Web UI for OAuth flow
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dslh/google-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server