Skip to main content
Glama
nosferatu-concorde

Google MCP Server

README.md
# Google MCP Server

MCP server for connecting Claude Desktop to Google Mail, Docs, Sheets, and Tasks.

## Setup

### 1. Google Cloud Console Setup

1. Go to [Google Cloud Console](https://console.cloud.google.com/)
2. Create a new project (or select existing)
3. Enable these APIs (APIs & Services → Library):
   - Gmail API
   - Google Docs API
   - Google Sheets API
   - Google Tasks API
4. Configure OAuth Consent Screen:
   - Go to APIs & Services → OAuth consent screen
   - Select "External" user type
   - Fill in app name and your email
   - Add scopes: `gmail.modify`, `documents`, `spreadsheets`, `tasks`
   - Add your email as a test user
5. Create OAuth Credentials:
   - Go to APIs & Services → Credentials
   - Click "Create Credentials" → "OAuth client ID"
   - Select "Desktop app" as application type
   - Download the JSON file

### 2. Install and Configure

```bash
# Install dependencies
npm install

# Build the project
npm run build

# Create config directory and save credentials
mkdir -p ~/.google-mcp
# Save your downloaded credentials.json to ~/.google-mcp/credentials.json

# Authenticate with Google
npm run auth
```

### 3. Claude Desktop Configuration

#### Windows with WSL

Add to your Claude Desktop config (`%APPDATA%\Claude\claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "google": {
      "command": "wsl",
      "args": [
        "/path/to/node",
        "/path/to/google-mcp-server/dist/index.js"
      ]
    }
  }
}
```

**Note:** Use full path to node (run `which node` in WSL to find it), e.g., `/home/user/.nvm/versions/node/v22.21.1/bin/node`

#### Linux

Add to `~/.config/claude-desktop/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "google": {
      "command": "node",
      "args": [
        "/path/to/google-mcp-server/dist/index.js"
      ]
    }
  }
}
```

#### macOS

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "google": {
      "command": "node",
      "args": ["/path/to/google-mcp-server/dist/index.js"]
    }
  }
}
```

## Available Tools

### Gmail

- `gmail_search` - Search emails with Gmail query syntax
- `gmail_read` - Read a specific email by ID
- `gmail_send` - Send an email

### Google Docs

- `docs_get` - Get document content
- `docs_create` - Create a new document
- `docs_append` - Append text to a document

### Google Sheets

- `sheets_read` - Read data from a range
- `sheets_write` - Write data to a range
- `sheets_create` - Create a new spreadsheet

### Google Tasks

- `tasks_list` - List task lists or tasks
- `tasks_create` - Create a new task
- `tasks_update` - Update/complete a task

## Usage Examples

After setup, you can ask Claude Desktop to:

- "Search my emails for messages from john@example.com"
- "Read my latest unread emails"
- "Create a new Google Doc called 'Meeting Notes'"
- "Read the data from my spreadsheet"
- "Show me my task lists"
- "Create a task to call dentist tomorrow"