Allows users to list, read, create, update, search, and delete documents within Google Docs.
Provides capabilities to search for and list Google Docs files stored within a user's Google Drive.
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 Docs MCP Serversearch for documents about the Q4 marketing 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 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-DocInstall dependencies:
npm installCreate 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.jsonin your project directory
Important: The
credentials.jsonandtoken.jsonfiles contain sensitive information and are excluded from version control via.gitignore. Never commit these files to your repository.Build the project:
npm run buildRun the server:
npm startThe 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.jsonandtoken.jsoncontain sensitive information and should never be shared or committed to version control. They are already added to the.gitignorefile.Token Refresh: The application automatically refreshes the access token when it expires.
Revoking Access: If you need to revoke access, delete the
token.jsonfile 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.jsonOn Windows:
%APPDATA%\Claude\claude_desktop_config.json
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.
Connecting to Claude Code
claude mcp add --transport stdio google-docs node /absolute/path/to/build/server.jsRestart Claude for Desktop.
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 configurationAdding New Features
To add new features to the MCP server:
Modify the
src/server.tsfile to implement new functionalityBuild the project with
npm run buildTest 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)search-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.jsonfile in your project directoryRun 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-nameCommit your changes:
git commit -am 'Add some feature'Push to the branch:
git push origin feature/your-feature-nameSubmit a pull request
License
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.