Google Workspace MCP Server
Provides tools to read text content from and prepend content to Google Docs.
Provides tools to read data from, append rows to, and update specific ranges in Google Sheets spreadsheets.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Workspace MCP Serverread the spreadsheet named 'Project Plan'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 data from a Google Sheets spreadsheet |
| Read text content from a Google Doc |
| List all sheets/tabs in a spreadsheet |
| Prepend content to a Google Doc |
| Append rows to a spreadsheet |
| Update a specific range in a spreadsheet |
Related MCP server: mcp-google-sheets
Quick Start
1. Install from GitHub
npm install -g github:HarleyCoops/google-workspace-mcpOr clone and build locally:
git clone https://github.com/HarleyCoops/google-workspace-mcp.git
cd google-workspace-mcp
npm install
npm run build2. Set Up Google OAuth Credentials
Go to Google Cloud Console
Create a new project (or select existing)
Enable these APIs:
Google Sheets API
Google Docs API
Google Drive API
Create OAuth 2.0 credentials (Desktop app type)
Download as
credentials.json
3. Generate OAuth Token
pip install google-auth-oauthlib google-api-python-client
python regenerate_google_token.pyThis 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 |
| Path to OAuth token.json |
|
| Base path for .env loading |
|
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 IDReading a Doc
Extract the document ID from the URL:
https://docs.google.com/document/d/17p5DfXbyEYhsMy.../edit
^^^^^^^^^^^^^^^
This is the IDSecurity Notes
Never commit
credentials.jsonortoken.jsonto version controltoken.jsoncontains refresh tokens that provide persistent accessRevoke access anytime at: https://myaccount.google.com/permissions
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Google Docs MCP Pack — read, create, and edit Google Docs via OAuth.
Read and edit GA4, Search Console and Google Tag Manager from any MCP client. 29 tools.
Provides tools for searching Google Workspace documentation and much more.
Create, schedule, and publish social posts, manage accounts, and read analytics as MCP tools.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to read, write, and manage Google Sheets spreadsheets through natural language commands, providing a bridge between MCP clients and the Google Sheets API.298 npm1MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to interact with Google Sheets for reading, writing, and managing spreadsheets through a set of MCP tools.MIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients like Claude Desktop and Cursor to interact with Google Docs, Sheets, and Drive, providing tools for reading, writing, formatting documents, managing spreadsheets, and searching Drive files.MIT
- AlicenseBqualityAmaintenanceEnables interaction with Google Docs through typed MCP tools, supporting reading, writing, searching, and managing documents via OAuth integration.22MIT