Skip to main content
Glama
oregpt
by oregpt

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 credentials.json in this directory

  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

  • Repository: https://github.com/oregpt/Agenticledger_MCP_DocsOnly

  • Upstream Source: https://github.com/a-bonus/google-docs-mcp

  • AgenticLedger Platform: [Platform Documentation]

  • Google Docs API: https://developers.google.com/docs/api

  • Google Drive API: https://developers.google.com/drive/api

πŸ“ž 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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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