NoManNayeem/google-docs-mcp-server
If you are the rightful owner of google-docs-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
LLM2Docs is an unofficial Model Context Protocol (MCP) server designed to integrate large language models with Google Docs, enabling AI-assisted document management and editing.
LLM2Docs (Unofficial)
google-docs-mcp-server
Unofficial MCP bridge between LLMs and Google Docs
Overview
LLM2Docs is an unofficial Model Context Protocol (MCP) server for Google Docs. It lets large language models securely access, read, and interact with your documents — enabling smarter workflows and AI-assisted editing.
Key Benefits
- AI-Powered: Seamless integration with Claude Desktop and other LLMs
- Comprehensive: 40+ tools for complete document management
- Professional: Advanced formatting for technical documentation
- Efficient: Batch operations and smart automation
- Secure: OAuth 2.0 authentication with Google APIs
- Unofficial: Built by the community, for the community
Quick Start
Prerequisites
- Node.js 18+ installed
- Google Cloud Project with APIs enabled
- Claude Desktop for AI integration
Note: Place your Google OAuth client credentials as credentials.json at the project root (same folder as package.json). The app will store tokens in token.json automatically after first login.
Installation
-
Clone the repository
git clone https://github.com/NoManNayeem/google-docs-mcp-server.git cd google-docs-mcp-server -
Install dependencies
npm install -
Set up Google Cloud credentials
- Create a Google Cloud Project
- Enable Google Docs API and Google Drive API
- Download
credentials.jsonto the project root
-
Build the project
npm run build -
Configure Claude Desktop Add to your
claude_desktop_config.json:{ "mcpServers": { "llm2docs": { "command": "node", "args": ["/path/to/google-docs-mcp-server/build/index.js"], "env": { "NODE_ENV": "production" } } } } -
Deploy docs to GitHub Pages
- Ensure
docs/_config.ymlhas:url: https://nomanayeem.github.ioandbaseurl: /google-docs-mcp-server - Make sure
docs/index.htmluses{{ site.baseurl }}for local assets - Set Pages source to
/docsin repository settings
- Ensure
-
Start using with Claude Desktop
- Restart Claude Desktop
- Begin with: "Create a new Google Doc with a title and some content"
Features
Document Management
- Create Documents: New Google Docs with optional initial content
- Read Documents: Complete document content retrieval
- Search Documents: Find documents by name across your Drive
- Document Metadata: Access creation dates, owners, and properties
Text Operations
- Append Text: Add content to document ends
- Insert Text: Place content at specific positions
- Delete Text: Remove content from specified ranges
- Replace Text: Find and replace text with precision
Font Management
- Font Family: Change fonts (Arial, Times New Roman, Calibri, etc.)
- Font Size: Precise point-based sizing
- Font Weight: Bold/normal control
- Font Style: Italic/normal formatting
- Comprehensive Formatting: Apply multiple font changes simultaneously
Lists & Spacing
- Bulleted Lists: Create with different bullet styles
- Numbered Lists: Various numbering formats (decimal, roman, alpha)
- Line Spacing: Single, 1.5x, double, or custom spacing
- Paragraph Spacing: Control before/after paragraph spacing
Text Formatting
- Case Transformation: Uppercase, lowercase, title case
- Subscript/Superscript: Scientific notation support
- Text Styling: Bold, italic, underline, strikethrough
- Colors: Foreground and background color control
- Headings: H1-H6, title, and subtitle styles
Advanced Tables
- Table Formatting: Borders, colors, and professional styling
- Cell Management: Merge cells horizontally or vertically
- Row/Column Operations: Insert, delete, and manage table structure
- Column Widths: Precise control over table dimensions
- Header Rows: Professional table headers with formatting
Media & Images
- Image Insertion: From URLs with automatic sizing
- Image Resizing: Precise dimension control
- Image Alignment: Left, center, right positioning
- Image Captions: Accessibility-focused captions
- Drawings: Insert shapes, arrows, and diagrams
Document Structure
- Table of Contents: Auto-generated navigation
- Section Breaks: Next page, continuous, even/odd page breaks
- Bookmarks: Named anchors for navigation
- Cross-References: Link to bookmarks and headings
- Headers & Footers: Professional document headers with page numbers
- Footnotes: Academic-style citations and notes
Search & Content Management
- Find & Replace: Case-sensitive text replacement
- Document Search: Find text with context and positions
- Word Count: Comprehensive document statistics
- Spell Check: Automated spelling suggestions
- Content Analysis: Character counts, paragraph analysis
Documentation
Use Cases
Technical Documentation
# Create a technical manual
"Create a new document titled 'API Documentation' with a table of contents"
# Format code blocks
"Format the code examples with monospace font and syntax highlighting"
# Add cross-references
"Create a bookmark called 'authentication' and link to it from the overview"
Content Creation
# Professional formatting
"Make the title bold, 24pt, and center-aligned"
# Create structured content
"Create a bulleted list of features and a numbered list of steps"
# Add media
"Insert an image from this URL and add a caption"
Document Management
# Search and organize
"Find all documents containing 'project' in the title"
# Batch operations
"Replace all instances of 'old-version' with 'new-version'"
# Quality control
"Check spelling in this document and get word count statistics"
Advanced Configuration
Environment Variables
NODE_ENV=production
LOG_LEVEL=info
GOOGLE_CREDENTIALS_PATH=./credentials.json
Custom Authentication
// Custom OAuth configuration
const authConfig = {
clientId: 'your-client-id',
clientSecret: 'your-client-secret',
redirectUri: 'http://localhost:3000/callback'
};
Architecture
Core Components
google-docs-mcp-server/
├── src/
│ ├── index.ts # Main server entry point
│ ├── auth.ts # OAuth 2.0 authentication
│ ├── types.ts # TypeScript definitions
│ └── tools/
│ ├── create.ts # Document creation tools
│ ├── read.ts # Reading and search tools
│ ├── update.ts # Text modification tools
│ ├── format.ts # Formatting and styling tools
│ ├── tables.ts # Advanced table management
│ ├── media.ts # Image and media handling
│ ├── structure.ts # Document structure tools
│ └── search.ts # Search and content management
├── build/ # Compiled JavaScript
├── docs/ # Documentation website
└── package.json # Project configuration
Tool Categories
| Category | Tools | Purpose |
|---|---|---|
| Document | 4 tools | Create, read, search documents |
| Text | 4 tools | Modify and manipulate text |
| Font | 5 tools | Complete font management |
| Lists | 2 tools | Bulleted and numbered lists |
| Formatting | 8 tools | Text styling and alignment |
| Tables | 7 tools | Advanced table operations |
| Media | 5 tools | Images and drawings |
| Structure | 6 tools | Document organization |
| Search | 4 tools | Content discovery and management |
Contributing
We welcome contributions! Please see our for details.
Development Setup
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature - Make your changes
- Run tests
npm test - Commit your changes
git commit -m 'Add amazing feature' - Push to the branch
git push origin feature/amazing-feature - Open a Pull Request
Code Style
- Use TypeScript for type safety
- Follow ESLint configuration
- Write comprehensive tests
- Document new features
License
This project is licensed under the MIT License - see the file for details.
Acknowledgments
- Anthropic for the Model Context Protocol specification
- Google for the comprehensive Docs and Drive APIs
- Claude AI for seamless integration capabilities
- Open Source Community for inspiration and support
Support
- Documentation: https://nomanayeem.github.io/google-docs-mcp-server
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made with ❤️ for the AI and documentation community