Skip to main content
Glama

MCP Server for Google Services

A Model Context Protocol (MCP) server that integrates Google services with Claude Desktop. Provides 80+ tools for Gmail, Calendar, Drive, Sheets, and Docs operations.

Features

  • Gmail: Search, read, send, reply, label, and organize emails

  • Google Calendar: Create, update, delete events; find free slots

  • Google Drive: Search, list, read files and folders

  • Google Sheets: Read, write, append data; manage spreadsheets

  • Google Docs: Create and read documents

  • Memory System: Persistent storage for context and preferences

  • Database Support: Optional PostgreSQL and MongoDB integration

Project Structure

mcpwithgoogle/ ├── src/ │ ├── mcp_server.py # Main MCP server (80+ tools) │ ├── google_auth.py # OAuth authentication │ ├── google_gmail.py # Gmail operations │ ├── google_calendar.py # Calendar operations │ ├── google_drive.py # Drive operations │ ├── google_sheets.py # Sheets operations │ ├── google_docs.py # Docs operations │ ├── memory_system.py # Persistent memory │ ├── local_storage.py # Local data storage │ └── setup.py # OAuth setup script ├── config/ │ └── claude_desktop_config.json # Example Claude config ├── scripts/ │ └── setup_my_profile.py ├── config.example.json # Google OAuth config template ├── authenticate.py # Authentication script ├── requirements.txt ├── .env.example └── README.md

Prerequisites

  • Python 3.8+

  • Claude Desktop

  • Google Cloud Project with APIs enabled:

    • Gmail API

    • Google Calendar API

    • Google Drive API

    • Google Sheets API

Installation

Step 1: Clone the Repository

git clone https://github.com/pbulbule13/mcpwithgoogle.git cd mcpwithgoogle

Step 2: Install Dependencies

pip install -r requirements.txt

Step 3: Google Cloud Setup

  1. Go to Google Cloud Console

  2. Create a new project or select existing

  3. Enable the following APIs:

    • Gmail API

    • Google Calendar API

    • Google Drive API

    • Google Sheets API

  4. Go to Credentials > Create Credentials > OAuth 2.0 Client ID

  5. Select Desktop app as application type

  6. Download the credentials and save as credentials.json in the project root

Step 4: Configure

# Copy example config cp config.example.json config.json # Edit with your Google OAuth credentials

config.json:

{ "google": { "clientId": "YOUR_CLIENT_ID.apps.googleusercontent.com", "clientSecret": "YOUR_CLIENT_SECRET", "redirectUri": "http://localhost", "calendarId": "primary" } }

Step 5: Authenticate with Google

python authenticate.py

This opens a browser for Google OAuth. After authorization, tokens are saved locally.

Step 6: Configure Claude Desktop

Edit your Claude Desktop configuration file:

OS

Path

Windows

%APPDATA%\Claude\claude_desktop_config.json

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Linux

~/.config/Claude/claude_desktop_config.json

Add:

{ "mcpServers": { "google-workspace": { "command": "python", "args": [ "C:\\path\\to\\mcpwithgoogle\\src\\mcp_server.py" ], "env": {}, "cwd": "C:\\path\\to\\mcpwithgoogle" } } }

Important: Replace C:\\path\\to\\ with your actual absolute path.

Step 7: Restart Claude Desktop

  1. Completely quit Claude Desktop (check system tray)

  2. Restart Claude Desktop

  3. The tools will be automatically available

Verify Installation

In Claude Desktop, type:

Show me available tools

You should see 80+ tools listed.

Available Tools

Email Tools

  • search_emails - Search Gmail with queries

  • get_email - Get email by ID

  • send_email - Send new email

  • reply_to_email - Reply to email

  • list_labels - List Gmail labels

  • create_label - Create new label

  • move_to_label - Move email to label

Calendar Tools

  • get_calendar_events - List events

  • create_calendar_event - Create event

  • update_calendar_event - Update event

  • delete_calendar_event - Delete event

  • find_free_slots - Find available times

Drive Tools

  • search_drive - Search files

  • list_drive_files - List files in folder

  • get_file_content - Read file content

  • create_folder - Create folder

Sheets Tools

  • read_sheet - Read spreadsheet data

  • write_sheet - Write to spreadsheet

  • append_sheet - Append rows

  • create_sheet - Create new spreadsheet

Docs Tools

  • create_doc - Create document

  • read_doc - Read document content

Memory Tools

  • remember - Store information

  • recall - Retrieve information

  • forget - Remove information

  • list_memories - List all stored items

Example Usage

In Claude Desktop:

"Show my unread emails from today" "Schedule a meeting tomorrow at 2 PM with john@example.com" "Find documents about 'project proposal' in my Drive" "What meetings do I have this week?" "Remember that my favorite color is blue"

Troubleshooting

MCP Server Not Appearing

  1. Verify the path in claude_desktop_config.json is absolute and correct

  2. Ensure Python is in your system PATH

  3. Restart Claude Desktop completely

  4. Check Claude Desktop logs for errors

Authentication Errors

  1. Delete tokens.json and re-run python authenticate.py

  2. Verify credentials.json exists in project root

  3. Check Google Cloud Console for API quota issues

Import Errors

pip install --upgrade -r requirements.txt

Security Notes

  • Never commit credentials.json, tokens.json, or config.json to git

  • The .gitignore file excludes sensitive files by default

  • Store API keys in environment variables when possible

License

MIT License

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

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/pbulbule13/mcpwithgoogle'

If you have feedback or need assistance with the MCP directory API, please join our Discord server