mcp-google-reader

mcp-google-reader

MCP server that reads Google Docs and Google Sheets content for AI assistants like Claude.

Category
Visit Server

README

mcp-google-reader

MCP server that reads Google Docs and Google Sheets content for AI assistants like Claude.

Paste a Google Docs/Sheets link in your message — Claude reads it directly. No more copy-pasting PRDs, tech specs, or test case spreadsheets.

Prerequisites

  • Node.js 18+ (recommended: Node.js 20 or 22 LTS)
  • A Google Cloud project with Docs & Sheets APIs enabled

Quick Start

# 1. Set up Google Cloud OAuth (see detailed steps below)
# 2. Authorize (run in your terminal, not inside an AI assistant)
npx mcp-google-reader auth
# 3. Add to your MCP client
claude mcp add -s user google-reader -- npx mcp-google-reader serve

Features

  • Google Docs → Markdown: Preserves headings, bold, italic, lists, tables, links
  • Google Sheets → Markdown table: First row as header, proper column alignment
  • Multiple URLs: Paste several links in one message — all fetched in parallel
  • Sheet selection: Read specific tabs by name, or all tabs at once
  • Caching: 60-second in-memory cache to avoid redundant API calls
  • OAuth2: Reads any file you have access to in your Google account

Setup

1. Google Cloud Project

  1. Go to Google Cloud Console → Create a new project (or select existing)
  2. Enable Google Docs API: Enable here
  3. Enable Google Sheets API: Enable here

2. OAuth Consent Screen

  1. Go to APIs & Services → OAuth consent screen
  2. Choose External → Create
  3. Fill in:
    • App name: mcp-google-reader
    • User support email: your email
    • Developer contact: your email
  4. Scopes → Save and Continue (no changes needed)
  5. Test users → Add users → add your Google email → Save and Continue
  6. Summary → Back to Dashboard
  7. Keep in Testing mode (sufficient for personal use and small teams)

3. Create OAuth Client ID

  1. Go to APIs & Services → Credentials
  2. Create Credentials → OAuth client ID
  3. Application type: Desktop app
  4. Name: mcp-google-reader
  5. Click Create
  6. Copy the Client ID and Client Secret

4. Authorize

Important: Run this command in your terminal directly — not inside an AI assistant. The auth flow requires interactive input and opening a browser.

npx mcp-google-reader auth

This will:

  1. Ask for your Client ID and Client Secret (first time only)
  2. Print an authorization URL — copy and open it in your browser
  3. Sign in with your Google account and click Allow
  4. Browser redirects to localhost — tokens are saved automatically

Credentials stored at ~/.mcp-google-reader/

npx automatically downloads the package on first run — no npm install -g needed.

Windows troubleshooting: If you get sed: command not found errors, try one of these:

# Option 1: Run in Command Prompt (cmd) instead of PowerShell
cmd /c "npx mcp-google-reader auth"

# Option 2: Install globally first
npm install -g mcp-google-reader
mcp-google-reader auth

5. Add to your MCP client

Claude Code (CLI)

# Add globally (available in all projects)
claude mcp add -s user google-reader -- npx mcp-google-reader serve

# Or add to current project only
claude mcp add google-reader -- npx mcp-google-reader serve

Then restart Claude Code to load the MCP server.

Cursor / Windsurf / VS Code

Create a .mcp.json file in your project root (or copy from .mcp-example.json):

{
  "mcpServers": {
    "google-reader": {
      "command": "npx",
      "args": ["mcp-google-reader", "serve"]
    }
  }
}

Then restart your editor.

Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "google-reader": {
      "command": "npx",
      "args": ["mcp-google-reader", "serve"]
    }
  }
}

Config file location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Usage

Just paste Google links in your message:

Read this PRD and implement the feature:
https://docs.google.com/document/d/1abc123.../edit

Test cases are here:
https://docs.google.com/spreadsheets/d/1xyz789.../edit

Claude will automatically call read_google_links and get the content.

Multiple links in one message are supported:

Here are the PRD https://docs.google.com/document/d/abc and test cases https://docs.google.com/spreadsheets/d/xyz — please review both.

Tools

read_google_links

Extract and read all Google Docs/Sheets URLs from a message.

Parameter Type Required Description
message string Yes Message containing one or more Google URLs

read_google_sheet

Read a specific Google Sheet with fine-grained options.

Parameter Type Required Description
url string Yes Google Sheets URL
sheet_name string No Tab name (default: first tab)
range string No Cell range, e.g. A1:Z100
all_sheets boolean No Read all tabs

Credentials

~/.mcp-google-reader/
├── oauth-config.json    # Client ID & Secret (created during auth)
└── credentials.json     # Access & refresh tokens (auto-managed)

Security

  • Credentials stored with 600 file permissions (owner read/write only)
  • Tokens auto-refresh — no need to re-authorize
  • Read-only scopes: documents.readonly and spreadsheets.readonly
  • No data sent anywhere except Google APIs

License

MIT

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured