google-mcp
Provides tools to read, create, append text, find and replace, and insert text in Google Docs documents.
Provides tools to list, search, create, move, copy, delete files and folders, and manage sharing permissions.
Provides tools to create spreadsheets, read and write cell ranges, append rows, and manage sheets (add/delete).
Click on "Install 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-mcplist my Google Drive files"
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-mcp — Google Docs, Sheets & Drive MCP Server
A production-ready MCP server for Google Docs, Google Sheets, and Google Drive with OAuth token authentication. Deploy to Railway or run locally with Claude Desktop.
Features
Google Drive: List, search, create, move, copy, delete files and folders; manage sharing permissions
Google Docs: Read, create, append, find-and-replace, and insert text into documents
Google Sheets: Create spreadsheets, read/write ranges, append rows, manage sheets
OAuth Authentication: Uses access tokens with automatic refresh on expiration
Dual Transport: HTTP/SSE for claude.ai and Claude Desktop via stdio
Related MCP server: Google Drive MCP Server
Setup
1. Create a Google Cloud Project
Go to Google Cloud Console
Create a new project
Enable these APIs:
Google Drive API
Google Docs API
Google Sheets API
2. Create OAuth 2.0 Credentials
Go to Credentials in the Google Cloud Console
Click Create Credentials → OAuth 2.0 Client ID
Application type: Web application
Authorized redirect URIs:
https://your-api.up.railway.app/api/oauth/google/callback(if using bridge-ai-ops for OAuth)Or any OAuth callback URL you're using
Copy the Client ID and Client Secret
3. Get Google Tokens
Use the bridge-ai-ops-api OAuth flow to get OAuth tokens:
POST
/api/oauth/startwithappIdfor Google (set up in bridge-ai-ops app_catalog)Get redirected to Google login
Authorize access to Docs, Sheets, Drive
Tokens are stored and can be exported via the platform
Or manually exchange an auth code:
curl -X POST https://oauth2.googleapis.com/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "code=AUTH_CODE&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&redirect_uri=REDIRECT_URI&grant_type=authorization_code"Environment Variables
Variable | Required | Description |
| Yes | OAuth Client ID from Google Cloud Console |
| Yes | OAuth Client Secret from Google Cloud Console |
| Yes | Short-lived OAuth access token |
| Yes | Long-lived OAuth refresh token (for auto-refresh) |
| No |
|
| No | Server port (default: |
Tools
Google Drive (9 tools)
Tool | Description |
| List files and folders (optionally filter by parent or query) |
| Full-text search across Drive |
| Get file metadata and details |
| Create a new folder |
| Move file to a different folder |
| Copy a file |
| Move file to trash |
| Get sharing permissions for a file |
| Share a file with an email address (viewer/commenter/editor) |
Google Docs (6 tools)
Tool | Description |
| Get full document content (JSON format) |
| Extract plain text from a document |
| Create a new blank document |
| Append text to the end of a document |
| Find and replace text in a document |
| Insert text at a specific character position |
Google Sheets (8 tools)
Tool | Description |
| Get spreadsheet metadata and sheet names |
| Read values from a cell range (e.g., |
| Write values to a cell range |
| Create a new spreadsheet |
| Append rows of data to a sheet |
| Clear all values in a cell range |
| Add a new sheet/tab |
| Delete a sheet/tab by name |
Local Development
npm install
npm run build
# Test locally
GOOGLE_ACCESS_TOKEN="..." GOOGLE_REFRESH_TOKEN="..." GOOGLE_CLIENT_ID="..." GOOGLE_CLIENT_SECRET="..." npm startServer will run on http://localhost:8080
Health check:
curl http://localhost:8080/healthClaude Desktop connection: stdio with
TRANSPORT=stdio
Claude Desktop Configuration
Remote (Railway HTTP)
{
"mcpServers": {
"google": {
"url": "https://your-app.up.railway.app/sse"
}
}
}Local (stdio)
{
"mcpServers": {
"google": {
"command": "node",
"args": ["/path/to/dist/index.js"],
"env": {
"TRANSPORT": "stdio",
"GOOGLE_CLIENT_ID": "your_client_id",
"GOOGLE_CLIENT_SECRET": "your_client_secret",
"GOOGLE_ACCESS_TOKEN": "your_access_token",
"GOOGLE_REFRESH_TOKEN": "your_refresh_token"
}
}
}
}Railway Deployment
Create a GitHub repository and push this code
In Railway, create a new service → Deploy from GitHub
Select this repository
Set environment variables in Railway dashboard:
GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRETGOOGLE_ACCESS_TOKENGOOGLE_REFRESH_TOKEN
Generate a domain: Settings → Networking → Generate Domain
Use
https://your-domain.up.railway.app/mcpfor claude.aiUse
https://your-domain.up.railway.app/ssefor Claude Desktop
License
MIT
This server cannot be installed
Maintenance
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Gaaldaco/google-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server