Google Docs MCP Server
This is a Model Context Protocol (MCP) server that allows you to connect to Google Docs through Claude. With this server, you can:
- List all Google Docs in your Drive
- Read the content of specific documents
- Create new documents
- Update existing documents
- Search for documents
- Delete documents
Prerequisites
- Node.js v16.0.0 or later
- Google Cloud project with the Google Docs API and Google Drive API enabled
- OAuth 2.0 credentials for your Google Cloud project
Setup
- Clone this repository and navigate to the project directory:
git clone https://github.com/yourusername/MCP-Google-Doc.git
cd MCP-Google-Doc
- Install dependencies:
npm install
Create an OAuth 2.0 client ID in the Google Cloud Console:
- Go to the Google Cloud Console
- Create a new project or select an existing one
- Enable the Google Docs API and Google Drive API
- Go to “APIs & Services” > “Credentials”
- Click “Create Credentials” > “OAuth client ID”
- Select “Desktop app” for the application type
- Download the JSON file and save it as
credentials.json
in your project directory
Important: The
credentials.json
andtoken.json
files contain sensitive information and are excluded from version control via.gitignore
. Never commit these files to your repository.Build the project:
npm run build
- Run the server:
npm start
The first time you run the server, it will prompt you to authenticate with Google. Follow the on-screen instructions to authorize the application. This will generate a token.json
file that stores your access tokens.
Security Considerations
- Credential Security: Both
credentials.json
andtoken.json
contain sensitive information and should never be shared or committed to version control. They are already added to the.gitignore
file. - Token Refresh: The application automatically refreshes the access token when it expires.
- Revoking Access: If you need to revoke access, delete the
token.json
file and go to your Google Account Security settings to remove the app from your authorized applications.
Connecting to Claude for Desktop
To use this server with Claude for Desktop:
Edit your Claude Desktop configuration file:
- On macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- On Windows:
%APPDATA%Claudeclaude_desktop_config.json
- On macOS:
Add the following to your configuration:
{
"mcpServers": {
"googledocs": {
"command": "node",
"args": ["/absolute/path/to/build/server.js"]
}
}
}
Replace /absolute/path/to/build/server.js
with the actual path to your built server.js file.
- Restart Claude for Desktop.
User Interface
The Google Docs MCP server features a user-friendly, conversational interface that:
- Presents document information in a clean, readable format
- Uses natural language responses rather than raw API data
- Formats dates in a human-readable way
- Provides helpful follow-up questions after actions
- Never exposes sensitive data like OAuth tokens
This interface styling is designed to match other Claude MCP integrations like Notion, providing a consistent and pleasant user experience.
Development
Project Structure
google-docs-integration/
├── build/ # Compiled JavaScript files
├── src/ # TypeScript source code
│ └── server.ts # Main server implementation
├── .gitignore # Git ignore file
├── credentials.json # OAuth 2.0 credentials (not in version control)
├── package.json # Project dependencies and scripts
├── README.md # Project documentation
├── token.json # OAuth tokens (not in version control)
└── tsconfig.json # TypeScript configuration
Adding New Features
To add new features to the MCP server:
- Modify the
src/server.ts
file to implement new functionality - Build the project with
npm run build
- Test your changes by running
npm start
Available Resources
googledocs://list
- Lists all Google Docs in your Drivegoogledocs://{docId}
- Gets the content of a specific document by ID
Available Tools
create-doc
- Creates a new Google Doc with the specified title and optional contentupdate-doc
- Updates an existing Google Doc with new content (append or replace)insert-text
- Directly inserts text into a document without Notion or other integrationssearch-docs
- Searches for Google Docs containing specific textdelete-doc
- Deletes a Google Doc by ID
Available Prompts
create-doc-template
- Helps create a new document based on a specified topic and writing styleanalyze-doc
- Analyzes the content of a document and provides a summary
Usage Examples
Here are some example prompts you can use with Claude once the server is connected:
- “Show me a list of all my Google Docs”
- “Create a new Google Doc titled ‘Meeting Notes’ with the content ‘Topics to discuss: …’”
- “Update my document with ID ‘1abc123def456’ to add this section at the end: …”
- “Search my Google Docs for any documents containing ‘project proposal’”
- “Delete the Google Doc with ID ‘1abc123def456’”
- “Create a formal document about climate change”
- “Analyze the content of document with ID ‘1abc123def456’”
Troubleshooting
If you encounter authentication issues:
- Delete the
token.json
file in your project directory - Run the server again to trigger a new authentication flow
If you’re having trouble with the Google Docs API:
- Make sure the API is enabled in your Google Cloud Console
- Check that your OAuth credentials have the correct scopes
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin feature/your-feature-name
- Submit a pull request
License
MIT
Environment Variables
Create a .env
file at the project root (or export the variables in your shell) with the following keys:
# OAuth 2.0 client credentials – **JSON string** of the credentials file
GOOGLE_DOCS_CREDENTIALS_JSON={...}
# OAuth token – **JSON string** returned by the OAuth consent flow
GOOGLE_DOCS_TOKEN_JSON={...}
If these variables are set, the server will not attempt to read credentials.json
or token.json
from disk.
Google Docs Integration Server
Project Details
- Gurgeron/MCPtRY
- Last Updated: 5/11/2025
Recomended MCP Servers
A Model Context Protocol (MCP) server for Microsoft SQL Server that enables secure database interactions through a controlled...
Config files for my GitHub profile.
Easily run glif.app AI workflows inside your LLM: image generators, memes, selfies, and more. Glif supports all major...
一个简单的获取微博热搜的MCP服务
Supabase Model Context Protocol (MCP) server for CRUD operations and Edge Functions
elasticsearch7 mcp server
A letter-counter-mcp-server for solving the strawberry LLM problem
📝 A FastMCP tool that automatically saves AI chat conversations to well-formatted Markdown files with timestamps and metadata.
read api docs with mcp
A Model Context Protocol server that provides access to BigQuery
MCP server for project management