Skip to main content
Glama

GoogleDocsMCP - AgenticLedger Platform

Google Docs & Drive MCP Server

TypeScript Node.js License: MIT Google Docs API Google Drive API

Production-ready MCP server providing comprehensive Google Docs and Drive integration for the AgenticLedger AI Agent Platform.

๐Ÿš€ Features

  • 30+ Production-Ready Tools - Document editing, formatting, comments, Drive file operations

  • OAuth 2.0 Authentication - Secure user-based authorization with automatic token refresh

  • Multi-Tab Document Support - Work with new Google Docs multi-tab feature

  • Rich Text Formatting - Bold, italic, colors, fonts, paragraph styles, named styles

  • Comment Management - Full CRUD operations on document comments

  • Google Drive Integration - List, search, create, move, copy, delete documents

  • Type-Safe - Full TypeScript with Zod schema validation

  • 100% Documented - Comprehensive guides for developers and AI agents

๐Ÿ“ฆ Quick Start

Installation

# Clone repository git clone https://github.com/oregpt/Agenticledger_MCP_DocsOnly.git cd Agenticledger_MCP_DocsOnly # Install dependencies npm install # Build npm run build

Authentication Setup

  1. Create Google Cloud Project (see GOOGLE_CLOUD_SETUP.md)

  2. Enable Google Docs API + Google Drive API

  3. Configure OAuth Consent Screen

  4. Create OAuth 2.0 credentials and download credentials.json

  5. Place

  6. Run first-time authorization:

node dist/server.js # Follow OAuth flow in browser # token.json will be created automatically

Run Tests

npm run test:integration

๐Ÿ› ๏ธ Available Tools (30+)

  • readGoogleDoc - Read document (text/json/markdown formats)

  • appendToGoogleDoc - Append text to end of document

  • insertText - Insert text at specific index

  • deleteRange - Delete content range

  • listDocumentTabs - List tabs in multi-tab documents

  • applyTextStyle - Character-level formatting (bold, colors, fonts)

  • applyParagraphStyle - Paragraph formatting (alignment, spacing, styles)

  • formatMatchingText - Legacy formatting tool

  • insertTable - Create tables

  • insertPageBreak - Insert page breaks

  • insertImageFromUrl - Insert image from URL

  • insertLocalImage - Upload and insert local image

  • listComments - List all document comments

  • getComment - Get specific comment details

  • addComment - Create comment anchored to text

  • replyToComment - Reply to existing comment

  • resolveComment - Mark comment as resolved

  • deleteComment - Remove comment

  • listGoogleDocs - List all documents

  • searchGoogleDocs - Search documents by name/content

  • getRecentGoogleDocs - Get recently modified documents

  • getDocumentInfo - Get file metadata

  • createDocument - Create new document

  • createFromTemplate - Create from template

  • createFolder - Create Drive folder

  • listFolderContents - List folder files

  • getFolderInfo - Get folder metadata

  • moveFile - Move to different folder

  • copyFile - Create copy

  • renameFile - Rename document

  • deleteFile - Delete (move to trash)

๐Ÿ“– Documentation

For Developers

For AI Agents

Example Files

  • credentials.example.json - OAuth credentials format

  • token.example.json - Token format example

  • test-integration.ts - Integration test suite

๐Ÿ’ก Example Usage

Read Document

const result = await readGoogleDoc({ documentId: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms", format: "text" // or "json" or "markdown" });

Append Text

await appendToGoogleDoc({ documentId: "1BxiMVs0XRA...", textToAppend: "\n\nNew section added by AI Agent" });

Apply Formatting

await applyTextStyle({ documentId: "1BxiMVs0XRA...", target: { textToFind: "Important Note", matchInstance: 1 }, style: { bold: true, foregroundColor: "#FF0000", fontSize: 14 } });

Create Document

const newDoc = await createDocument({ title: "AI Generated Report", folderId: "your-folder-id" });

Work with Multi-Tab Documents

// List tabs const tabs = await listDocumentTabs({ documentId: "1BxiMVs0XRA..." }); // Read specific tab await readGoogleDoc({ documentId: "1BxiMVs0XRA...", tabId: tabs.data.tabs[0].tabId });

๐Ÿ” Security

  • Never commit credentials (credentials.json, token.json)

  • OAuth tokens expire after 1 hour (auto-refresh handled)

  • Revoke access at https://myaccount.google.com/permissions

  • User-based authentication - only accesses user's documents

  • Monitor usage in Google Cloud Console

๐Ÿ“Š Performance

  • Average Response Time: 725ms per operation (includes Drive API)

  • Document Read: ~300ms (fast, cached by Google)

  • Text Editing: ~450ms (simple updates)

  • Drive Operations: ~650ms (includes Drive API calls)

  • API Quotas: 300 requests per minute per user

๐Ÿ”„ Multi-Tab Document Support

Google Docs now supports multiple tabs. This server fully supports this feature:

// Tab-aware tools accept optional tabId parameter - readGoogleDoc - appendToGoogleDoc - insertText - deleteRange

Usage:

  1. List tabs with listDocumentTabs

  2. Target specific tab with tabId parameter

  3. Works without tabId (targets first tab/legacy doc body)

๐Ÿค Contributing

This is an AgenticLedger platform-customized version of a-bonus/google-docs-mcp.

AgenticLedger Customizations:

  • Platform-specific documentation

  • Integration test suite

  • AI agent guides

  • Example files and templates

  • Enhanced error handling

๐Ÿ“œ License

MIT License - See LICENSE file

๐Ÿ”— Links

๐Ÿ“ž Support

  1. Check Documentation:

  2. Run Diagnostics:

    npm run test:integration
  3. Review Examples:

    • See test-integration.ts for real API usage examples

๐Ÿ†š Comparison: Docs vs Sheets

Use GoogleDocsMCP when:

  • Creating reports, letters, proposals

  • Need rich text formatting

  • Working with narrative content

  • Require document structure (headings, TOC)

  • Need comment collaboration

Use GoogleSheetsMCP when:

  • Working with tabular data

  • Need calculations/formulas

  • Creating charts and graphs

  • Data analysis tasks

  • Structured records


Status: โœ… Production Ready Version: 1.0.0 Last Updated: 2025-11-03 Total Tools: 30+ Platform: AgenticLedger

-
security - not tested
A
license - permissive license
-
quality - not tested

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/oregpt/Agenticledger_MCP_DocsOnly'

If you have feedback or need assistance with the MCP directory API, please join our Discord server