Skip to main content
Glama
HarleyCoops

Google Workspace MCP Server

by HarleyCoops

Google Workspace MCP Server

An MCP (Model Context Protocol) server that provides read/write access to Google Sheets and Google Docs.

Available Tools

Tool

Description

read_sheet

Read data from a Google Sheets spreadsheet

read_doc

Read text content from a Google Doc

list_sheets

List all sheets/tabs in a spreadsheet

append_to_doc

Prepend content to a Google Doc

append_to_sheet

Append rows to a spreadsheet

update_sheet

Update a specific range in a spreadsheet

Related MCP server: Google Workspace MCP Server

Quick Start

1. Install from GitHub

npm install -g github:HarleyCoops/google-workspace-mcp

Or clone and build locally:

git clone https://github.com/HarleyCoops/google-workspace-mcp.git
cd google-workspace-mcp
npm install
npm run build

2. Set Up Google OAuth Credentials

  1. Go to Google Cloud Console

  2. Create a new project (or select existing)

  3. Enable these APIs:

    • Google Sheets API

    • Google Docs API

    • Google Drive API

  4. Create OAuth 2.0 credentials (Desktop app type)

  5. Download as credentials.json

3. Generate OAuth Token

pip install google-auth-oauthlib google-api-python-client
python regenerate_google_token.py

This creates token.json with your OAuth credentials.

4. Configure Your MCP Client

Set the GOOGLE_TOKEN_PATH environment variable to point to your token.json file.


MCP Configuration

Standard JSON Config (Claude Desktop, Cursor, VS Code, etc.)

{
  "mcpServers": {
    "google-workspace": {
      "command": "npx",
      "args": ["github:HarleyCoops/google-workspace-mcp"],
      "env": {
        "GOOGLE_TOKEN_PATH": "/path/to/your/token.json"
      }
    }
  }
}

If installed globally

{
  "mcpServers": {
    "google-workspace": {
      "command": "google-workspace-mcp",
      "env": {
        "GOOGLE_TOKEN_PATH": "/path/to/your/token.json"
      }
    }
  }
}

If cloned locally

{
  "mcpServers": {
    "google-workspace": {
      "command": "node",
      "args": ["/path/to/google-workspace-mcp/build/index.js"],
      "env": {
        "GOOGLE_TOKEN_PATH": "/path/to/your/token.json"
      }
    }
  }
}

Emergent.sh Setup

For Emergent.sh, you have two options:

Option A: Use as stdio MCP (if supported)

In Emergent's MCP configuration:

{
  "command": "npx",
  "args": ["github:HarleyCoops/google-workspace-mcp"],
  "env": {
    "GOOGLE_TOKEN_PATH": "/path/to/token.json"
  }
}

Option B: Self-host as HTTP endpoint

If Emergent requires an HTTP/SSE endpoint, you'll need to wrap this server. See the MCP HTTP Transport docs for details.


Environment Variables

Variable

Description

Default

GOOGLE_TOKEN_PATH

Path to OAuth token.json

./token.json

DAILY_REPO_PATH

Base path for .env loading

C:\Users\chris\Daily


Token Generation Script

Save this as regenerate_google_token.py:

from google_auth_oauthlib.flow import InstalledAppFlow

SCOPES = [
    'https://www.googleapis.com/auth/drive.readonly',
    'https://www.googleapis.com/auth/documents.readonly',
    'https://www.googleapis.com/auth/spreadsheets.readonly',
    'https://www.googleapis.com/auth/drive.file'
]

def main():
    flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES)
    creds = flow.run_local_server(port=0)
    with open('token.json', 'w') as f:
        f.write(creds.to_json())
    print("Token saved to token.json")

if __name__ == '__main__':
    main()

Usage Examples

Reading a Sheet

Extract the spreadsheet ID from the URL:

https://docs.google.com/spreadsheets/d/1Zlxn88pgMi0WAKFo.../edit
                                        ^^^^^^^^^^^^^^^^
                                        This is the ID

Reading a Doc

Extract the document ID from the URL:

https://docs.google.com/document/d/17p5DfXbyEYhsMy.../edit
                                   ^^^^^^^^^^^^^^^
                                   This is the ID

Security Notes


License

MIT

F
license - not found
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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

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