Google Services MCP Server

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.

Category
Visit Server

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

  1. Download credentials.json from Google Cloud Console
  2. Place credentials.json in the project root directory
  3. Run the setup script to authenticate:
python src/setup.py
  1. Follow the prompts to authorize access to your Google account
  2. The script will create tokens.json with 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:

  1. Claude Desktop will automatically start the MCP server
  2. All 13 tools should be available
  3. 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 range
  • write_sheet - Write data to a range
  • append_sheet - Append data to a sheet
  • get_sheet_info - Get spreadsheet information

Gmail

  • list_emails - List emails from inbox
  • get_email_detail - Get detailed email information
  • send_email - Send an email
  • search_emails - Search emails with a query

Google Calendar

  • list_calendar_events - List upcoming events
  • create_calendar_event - Create a new event
  • update_calendar_event - Update an existing event
  • delete_calendar_event - Delete an event
  • get_calendar_event - Get event details

Troubleshooting

Server Won't Start

  1. 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"
  2. Check file path: Verify the path to mcp_server.py is correct

    • Use absolute path in config file
    • Windows: D:\\mcplatestv1\\src\\mcp_server.py
    • Mac/Linux: /path/to/mcplatestv1/src/mcp_server.py
  3. Check dependencies: Make sure all packages are installed

    pip install -r requirements.txt
    

Tools Not Appearing

  1. Check Claude Desktop logs:

    • Look for error messages in Claude Desktop console
    • Check if server process is running
  2. Verify authentication:

    • Make sure tokens.json exists and is valid
    • Re-run python src/setup.py if needed
  3. Restart Claude Desktop:

    • Completely quit (not just close window)
    • Restart and check again

Authentication Errors

  1. Re-authenticate: Run python src/setup.py again
  2. Check credentials: Verify credentials.json is valid
  3. 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

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