Google Services MCP Server
Provides access to Google Sheets, Gmail, and Google Calendar through 13 tools that enable reading/writing spreadsheet data, managing emails, and creating/updating calendar events.
README
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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.