LLM2Docs (Unofficial)
An unofficial MCP server for Google Docs that lets large language models securely access, read, and interact with documents, enabling smarter workflows and AI-assisted editing.
README
LLM2Docs (Unofficial)
google-docs-mcp-server
<div align="center">
Unofficial MCP bridge between LLMs and Google Docs
Quick Start • Documentation • Features • Contributing
</div>
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 Contributing Guidelines 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 LICENSE 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
<div align="center">
Made with ❤️ for the AI and documentation community
⭐ Star this repo • 🐛 Report Bug • 💡 Request Feature
</div>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.