Skip to main content
Glama

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

-
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/google-mcp-server'

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