Google MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
pip install -e .
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add google-mcp -- python "<FULL_PATH_TO_MCP_PLAYGROUND>/dist/index.js"

Replace <FULL_PATH_TO_MCP_PLAYGROUND>/dist/index.js with the actual folder you prepared in step 1.

README.md

Integrates Gmail, Google Calendar, and Google Drive for AI-powered management.

Google MCP Server

A locally-hosted MCP server built with FastMCP 3.x that connects to your personal Google account and exposes Gmail, Google Calendar, and Google Drive as tools.

Available Tools

Service Tool Description
Gmail list_emails List recent emails from a label
Gmail read_email Read full content of an email
Gmail send_email Send a new email
Gmail search_emails Search emails with Gmail query syntax
Calendar list_calendars List all accessible calendars
Calendar list_events List upcoming events
Calendar create_event Create a new calendar event
Drive list_files List files (optionally in a folder)
Drive read_file Read text content of a file
Drive search_files Search for files by name or query

Prerequisites

  • Python 3.10+
  • A Google account
  • A Google Cloud project with OAuth 2.0 credentials

Setup

1. Install dependencies

# Using pip
pip install -e .

# Or using uv
uv pip install -e .

2. Set up Google Cloud credentials

  1. Go to the Google Cloud Console
  2. Create a new project (or select an existing one)
  3. Enable the following APIs:
  4. Configure the OAuth consent screen:
    • Go to APIs & Services → OAuth consent screen
    • Choose External user type
    • Fill in the required fields (app name, support email)
    • Add your email address as a test user
  5. Create OAuth 2.0 credentials:
    • Go to APIs & Services → Credentials
    • Click + CREATE CREDENTIALS → OAuth client ID
    • Application type: Desktop app
    • Download the JSON file and save it as credentials.json in the project root

3. (Optional) Configure environment

Copy the example env file and adjust paths if needed:

cp .env.example .env

The defaults (credentials.json and token.json in the project root) work for most setups.

Running the Server

stdio transport (for Cursor / Claude Desktop)

python server.py

On first run, a browser window will open asking you to sign in with your Google account and grant permissions. The token is cached in token.json for subsequent runs.

HTTP transport (for remote/browser clients)

fastmcp run server.py:mcp --transport http --port 8000

The server will be available at http://localhost:8000/mcp.

Connecting to Cursor

Add this to your Cursor MCP settings (.cursor/mcp.json):

{
  "mcpServers": {
    "google": {
      "command": "python",
      "args": ["server.py"],
      "cwd": "/path/to/mcp-playground"
    }
  }
}

Connecting to Claude Desktop

Add this to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "google": {
      "command": "python",
      "args": ["/path/to/mcp-playground/server.py"]
    }
  }
}

Google API Scopes

This server requests the following OAuth scopes (narrowly scoped for safety):

Scope Access
gmail.readonly Read-only access to Gmail
gmail.send Send emails only
calendar.events Read and write calendar events
drive.readonly Read-only access to Drive files

If you change scopes in auth/google_auth.py, delete token.json and re-authenticate.

Project Structure

mcp-playground/
├── server.py              # FastMCP server entry point
├── auth/
│   └── google_auth.py     # OAuth2 flow + service builders
├── tools/
│   ├── gmail.py           # Gmail tools
│   ├── calendar.py        # Calendar tools
│   └── drive.py           # Drive tools
├── pyproject.toml         # Dependencies
├── .env.example           # Environment config template
└── README.md

Tools (10)

list_emailsList recent emails from a label
read_emailRead full content of an email
send_emailSend a new email
search_emailsSearch emails with Gmail query syntax
list_calendarsList all accessible calendars
list_eventsList upcoming events
create_eventCreate a new calendar event
list_filesList files (optionally in a folder)
read_fileRead text content of a file
search_filesSearch for files by name or query

Environment Variables

GOOGLE_APPLICATION_CREDENTIALSPath to the Google Cloud credentials JSON file

Configuration

claude_desktop_config.json
{"mcpServers": {"google": {"command": "python", "args": ["/path/to/mcp-playground/server.py"]}}}

Try it

Search my emails for the latest invoice from Google Cloud and summarize the total amount.
List my upcoming calendar events for today and suggest a time for a 30-minute meeting.
Find the project proposal document in my Google Drive and read its content.
Send an email to my team lead with a summary of the project status.

Frequently Asked Questions

What are the key features of Google MCP Server?

Read and send emails via Gmail API. List and create events in Google Calendar. Search and read text content from Google Drive files. Secure OAuth 2.0 authentication flow. Compatible with Claude Desktop and Cursor.

What can I use Google MCP Server for?

Automating email summaries and responses directly from an AI chat interface.. Managing personal or work schedules by creating events through natural language.. Quickly retrieving and summarizing information from documents stored in Google Drive.. Streamlining cross-platform workflows by connecting Google Workspace tools to AI assistants..

How do I install Google MCP Server?

Install Google MCP Server by running: pip install -e .

What MCP clients work with Google MCP Server?

Google MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Google MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare