Google Services MCP Server
MCP (Model Context Protocol) server for Claude Desktop that provides access to Google Sheets, Gmail, and Google Calendar.
Features
- 13 MCP Tools:
- Google Sheets (4 tools): Read, write, append, and get sheet info
- Gmail (4 tools): List, search, get details, and send emails
- Google Calendar (5 tools): List, create, update, delete, and get event details
Prerequisites
- Python 3.8 or higher
- Google Cloud Project with APIs enabled:
- Google Sheets API
- Gmail API
- Google Calendar API
- OAuth 2.0 credentials (
credentials.json) - Claude Desktop installed
Installation
1. Clone and Install Dependencies
# Navigate to project directory
cd mcplatestv1
# Install dependencies
pip install -r requirements.txt
2. Setup Google OAuth
- Download
credentials.jsonfrom Google Cloud Console - Place
credentials.jsonin the project root directory - Run the setup script to authenticate:
python src/setup.py
- Follow the prompts to authorize access to your Google account
- The script will create
tokens.jsonwith your access tokens
3. Configure Your Services
Edit config.json:
{
"google": {
"clientId": "your-client-id",
"clientSecret": "your-client-secret",
"redirectUri": "http://localhost",
"spreadsheetId": "your-spreadsheet-id",
"calendarId": "primary"
}
}
Note: spreadsheetId and calendarId are optional - you can specify them per tool call.
Claude Desktop Setup
Step 1: Find Claude Desktop Config File
Windows:
%APPDATA%\Claude\claude_desktop_config.json
Example: C:\Users\YourName\AppData\Roaming\Claude\claude_desktop_config.json
Mac:
~/Library/Application Support/Claude/claude_desktop_config.json
Linux:
~/.config/Claude/claude_desktop_config.json
Step 2: Edit Config File
Open the config file (create it if it doesn't exist) and add:
{
"mcpServers": {
"google-services": {
"command": "python",
"args": [
"D:\\mcplatestv1\\src\\mcp_server.py"
],
"env": {}
}
}
}
Important:
- Update the path to match your actual project location
- On Windows, use double backslashes (
\\) in the path - On Mac/Linux, use forward slashes (
/)
Step 3: Restart Claude Desktop
Completely quit and restart Claude Desktop for the changes to take effect.
Step 4: Verify Connection
After restarting:
- Claude Desktop will automatically start the MCP server
- All 13 tools should be available
- Test by asking Claude: "What tools do you have access to?"
Usage
Once connected, you can ask Claude to:
- Read from Sheets: "Read the data from Sheet1!A1:B10"
- Write to Sheets: "Write these values to my spreadsheet: [['Name', 'Age'], ['John', '30']]"
- List Emails: "Show me my last 10 emails"
- Send Email: "Send an email to john@example.com with subject 'Hello' and body 'Test message'"
- Create Events: "Create a calendar event for tomorrow at 2pm titled 'Meeting'"
Available Tools
Google Sheets
read_sheet- Read data from a rangewrite_sheet- Write data to a rangeappend_sheet- Append data to a sheetget_sheet_info- Get spreadsheet information
Gmail
list_emails- List emails from inboxget_email_detail- Get detailed email informationsend_email- Send an emailsearch_emails- Search emails with a query
Google Calendar
list_calendar_events- List upcoming eventscreate_calendar_event- Create a new eventupdate_calendar_event- Update an existing eventdelete_calendar_event- Delete an eventget_calendar_event- Get event details
Troubleshooting
Server Won't Start
-
Check Python path: Make sure Python is in your system PATH
- Test: Open terminal and type
python --version - If not found, use full path:
"C:\\Python\\python.exe"
- Test: Open terminal and type
-
Check file path: Verify the path to
mcp_server.pyis correct- Use absolute path in config file
- Windows:
D:\\mcplatestv1\\src\\mcp_server.py - Mac/Linux:
/path/to/mcplatestv1/src/mcp_server.py
-
Check dependencies: Make sure all packages are installed
pip install -r requirements.txt
Tools Not Appearing
-
Check Claude Desktop logs:
- Look for error messages in Claude Desktop console
- Check if server process is running
-
Verify authentication:
- Make sure
tokens.jsonexists and is valid - Re-run
python src/setup.pyif needed
- Make sure
-
Restart Claude Desktop:
- Completely quit (not just close window)
- Restart and check again
Authentication Errors
- Re-authenticate: Run
python src/setup.pyagain - Check credentials: Verify
credentials.jsonis valid - Check scopes: Ensure all required APIs are enabled in Google Cloud Console
Project Structure
mcplatestv1/
├── src/
│ ├── mcp_server.py # Main MCP server (stdio protocol)
│ ├── google_auth.py # Google OAuth handling
│ ├── google_sheets.py # Google Sheets functions
│ ├── google_gmail.py # Gmail functions
│ ├── google_calendar.py # Calendar functions
│ ├── agent.py # Automatic decision logic
│ └── setup.py # Initial setup script
├── config.json # Configuration (your credentials)
├── config.example.json # Configuration template
├── credentials.json # Google OAuth credentials (download from Cloud Console)
├── tokens.json # OAuth tokens (generated by setup.py)
├── requirements.txt # Python dependencies
├── claude_desktop_config.json # Example Claude Desktop config
└── README.md # This file
License
This project is for personal use. Make sure to keep your credentials.json and config.json files secure and never commit them to version control.