Google Workspace MCP Server

Google Workspace MCP Server

Comprehensive integration with Google Workspace services (Gmail, Calendar, Sheets, Docs, Drive) plus local storage for job tracking and a personal memory system for storing user preferences, behaviors, and goals.

Category
Visit Server

README

Google Workspace MCP Server

A comprehensive Model Context Protocol (MCP) server for Google Workspace integration with Claude Desktop. Provides 109 tools for Gmail, Calendar, Sheets, Docs, Drive, plus local storage and personal memory system.

Features

  • Gmail: Read, send, reply, forward emails, manage drafts and labels
  • Google Calendar: List, create, update, delete events
  • Google Sheets: Create, read, write spreadsheets with formatting
  • Google Docs: Create and edit documents with formatting
  • Google Drive: Upload, download, share files and folders
  • Local Storage: Profile, job applications, contacts, skills, tasks
  • Memory System: Personal preferences, behaviors, goals, patterns

Setup Guide

Prerequisites

  • Python 3.10 or higher
  • Claude Desktop installed
  • Google Cloud project with APIs enabled

Step 1: Clone or Download

git clone <repository-url>
cd google-mcp-server

Step 2: Install Dependencies

pip install -r requirements.txt

Required packages:

  • mcp>=0.9.0
  • google-api-python-client>=2.100.0
  • google-auth-httplib2>=0.2.0
  • google-auth-oauthlib>=1.2.0
  • python-dotenv>=1.0.0
  • requests>=2.31.0

Step 3: Set Up Google Cloud Project

  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 Sheets API
    • Google Docs API
    • Google Drive API
  4. Go to APIs & Services > Credentials
  5. Click Create Credentials > OAuth client ID
  6. Select Desktop app as application type
  7. Download the JSON file
  8. Rename it to credentials.json and place in the google-mcp-server folder

Step 4: Authenticate with Google

Run the authentication script:

cd google-mcp-server
python src/google_auth.py

This will:

  1. Open a browser window for Google sign-in
  2. Ask you to authorize the app
  3. Create a tokens.json file with your access tokens

Step 5: Set Up Database Folder (Optional)

Create a centralized database folder for all your data:

mkdir -p ~/Documents/pbdb/mcp
mkdir -p ~/Documents/pbdb/analytics
mkdir -p ~/Documents/pbdb/exports
mkdir -p ~/Documents/pbdb/backups

The MCP server stores data in:

  • ~/Documents/pbdb/mcp/local_data.db - Job tracking, contacts, skills
  • ~/Documents/pbdb/mcp/personal_memory.db - Personal memory system

Step 6: Configure Claude Desktop

  1. Find your Claude Desktop config file:

    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. Add the MCP server configuration:

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

Windows Example:

{
  "mcpServers": {
    "google-workspace": {
      "command": "C:\\Users\\YourName\\miniconda3\\python.exe",
      "args": [
        "C:\\Users\\YourName\\google-mcp-server\\src\\mcp_server.py"
      ],
      "env": {},
      "cwd": "C:\\Users\\YourName\\google-mcp-server"
    }
  }
}

macOS/Linux Example:

{
  "mcpServers": {
    "google-workspace": {
      "command": "/usr/bin/python3",
      "args": [
        "/home/username/google-mcp-server/src/mcp_server.py"
      ],
      "env": {},
      "cwd": "/home/username/google-mcp-server"
    }
  }
}

Step 7: Restart Claude Desktop

Close and reopen Claude Desktop. The MCP server will initialize automatically.

Step 8: Verify Installation

In Claude Desktop, try these commands:

  • "Show my recent emails"
  • "What events do I have on my calendar?"
  • "List my Google Drive files"
  • "What do you know about me?"

Available Tools (109 Total)

Gmail (21 tools)

Tool Description
list_emails List emails from inbox
get_email_detail Get full email content
send_email Send a new email
search_emails Search emails with query
create_draft Create a draft email
list_drafts List all drafts
update_draft Update a draft
send_draft Send a draft
delete_draft Delete a draft
reply_to_email Reply to an email
forward_email Forward an email
add_label Add label to email
remove_label Remove label from email
list_labels List all labels
mark_as_read Mark email as read
mark_as_unread Mark email as unread
trash_email Move to trash
archive_email Archive email
create_followup_draft Create job follow-up draft
create_thank_you_draft Create thank you draft

Calendar (5 tools)

Tool Description
list_calendar_events List upcoming events
create_calendar_event Create a new event
update_calendar_event Update an event
delete_calendar_event Delete an event
get_calendar_event Get event details

Sheets (11 tools)

Tool Description
create_spreadsheet Create new spreadsheet
read_sheet Read data from sheet
write_sheet Write data to sheet
append_sheet Append rows to sheet
get_sheet_info Get spreadsheet info
create_sheet_tab Create new tab
list_spreadsheets List all spreadsheets
format_cells Format cells
add_formula Add formula to cell
share_spreadsheet Share spreadsheet
create_job_tracker Create job tracker template

Docs (12 tools)

Tool Description
create_document Create new document
read_document Read document content
append_to_document Append text
format_document_text Format text
apply_paragraph_style Apply styles
insert_table Insert table
insert_bullet_list Insert bullet list
insert_numbered_list Insert numbered list
list_documents List all documents
share_document Share document
create_daily_report Create report template

Drive (17 tools)

Tool Description
list_files List files
list_folders List folders
create_folder Create folder
upload_file Upload file
download_file Download file
move_file Move file
copy_file Copy file
delete_file Delete file
search_files Search files
share_file Share with user
share_file_with_anyone Share with link
get_file_metadata Get file info
rename_file Rename file
get_storage_quota Get storage info
export_to_drive Export content

Local Storage (21 tools)

Tool Description
set_profile Set profile field
get_profile Get profile
get_full_profile Get complete profile
add_job_application Add job application
get_job_applications Get applications
update_job_application Update application
add_interview Add interview
get_interviews Get interviews
add_contact Add contact
get_contacts Get contacts
add_skill Add skill
get_skills Get skills
add_work_experience Add experience
get_work_experience Get experience
add_education Add education
get_education Get education
add_task Add task
get_tasks Get tasks
complete_task Complete task
add_note Add note
get_notes Get notes
get_job_search_summary Get job stats

Memory System (22 tools)

Tool Description
save_about_me Save user info
get_about_me Get user info
remember Remember anything
recall Recall memories
add_behavior Store behavior pattern
get_behaviors Get behaviors
add_preference Store preference
get_preferences Get preferences
add_goal Store goal
get_goals Get goals
add_work_style Store work style
get_work_style Get work style
add_fact Store fact
get_facts Get facts
add_decision Log decision
get_decisions Get decisions
add_interaction Log interaction
get_interactions Get interactions
add_learning Store learning
get_learnings Get learnings
get_everything_about_user Get all user data
search_memory Search memories

Project Structure

google-mcp-server/
├── src/
│   ├── mcp_server.py       # Main MCP server (109 tools)
│   ├── google_auth.py      # OAuth authentication
│   ├── google_gmail.py     # Gmail integration
│   ├── google_calendar.py  # Calendar integration
│   ├── google_sheets.py    # Sheets integration
│   ├── google_docs.py      # Docs integration
│   ├── google_drive.py     # Drive integration
│   ├── local_storage.py    # SQLite local storage
│   └── memory_system.py    # Personal memory system
├── credentials.json        # OAuth credentials (create this)
├── tokens.json            # Auth tokens (auto-generated)
├── config.json            # Configuration
├── requirements.txt       # Dependencies
└── README.md

Troubleshooting

Server not loading in Claude Desktop

  1. Check the path in claude_desktop_config.json
  2. Verify Python path is correct
  3. Check logs at %APPDATA%\Claude\logs\mcp-server-google-workspace.log

Authentication errors

  1. Delete tokens.json and re-authenticate
  2. Verify credentials.json is valid
  3. Check that APIs are enabled in Google Cloud Console

Database errors

  1. Verify database folder exists at ~/Documents/pbdb/mcp/
  2. Check file permissions
  3. Delete .db files to reset (data will be lost)

License

MIT License

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

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.

Official
Featured
Python
graphlit-mcp-server

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.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured