# Google Docs

MCP server for Google Docs : create, read, edit, format, and manage documents through 26 tools.

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add node2flow/google-docs

# Browse available tools
npx -y @smithery/cli@latest tool list node2flow/google-docs

# Get full schema for a tool
npx -y @smithery/cli@latest tool get node2flow/google-docs gdoc_create

# Call a tool
npx -y @smithery/cli@latest tool call node2flow/google-docs gdoc_create '{}'
```

## Direct MCP Connection

Endpoint: `https://google-docs--node2flow.run.tools`

**Required config:**
- `GOOGLE_CLIENT_ID` (query) — OAuth 2.0 Client ID from Google Cloud Console
- `GOOGLE_CLIENT_SECRET` (query) — OAuth 2.0 Client Secret
- `GOOGLE_REFRESH_TOKEN` (query) — Refresh token with documents scope (from OAuth consent flow or OAuth Playground)

## Tools (26)

- `gdoc_create` — Create a new Google Docs document with a title. Returns the document ID and metadata.
- `gdoc_get` — Get a Google Docs document including its full content structure, headers, footers, and named ranges.
- `gdoc_insert_text` — Insert text at a specific position in the document. Use index 1 to insert at the beginning of the body.
- `gdoc_delete_content` — Delete content in a range. Get indices from gdoc_get response.
- `gdoc_replace_all_text` — Find and replace all occurrences of text in the entire document.
- `gdoc_insert_inline_image` — Insert an image from a URL at a specific position in the document.
- `gdoc_insert_page_break` — Insert a page break at a specific position in the document.
- `gdoc_update_text_style` — Update text style (bold, italic, font, color, etc.) for a range of text. Only specified fields are changed.
- `gdoc_update_paragraph_style` — Update paragraph style (alignment, spacing, indentation, heading) for a range.
- `gdoc_create_bullets` — Convert paragraphs in a range to a bulleted or numbered list.
- `gdoc_delete_bullets` — Remove bullets or numbering from paragraphs in a range.
- `gdoc_insert_table` — Insert a new table at a specific position in the document.
- `gdoc_insert_table_row` — Insert a new row in an existing table.
- `gdoc_insert_table_column` — Insert a new column in an existing table.
- `gdoc_delete_table_row` — Delete a row from an existing table.
- `gdoc_delete_table_column` — Delete a column from an existing table.
- `gdoc_merge_table_cells` — Merge cells in a table. Specify the top-left cell and span.
- `gdoc_unmerge_table_cells` — Unmerge previously merged cells in a table.
- `gdoc_create_header` — Create a header in the document. Returns the header ID for inserting content.
- `gdoc_create_footer` — Create a footer in the document. Returns the footer ID for inserting content.
- `gdoc_delete_header` — Delete a header from the document. Get the header ID from gdoc_get.
- `gdoc_delete_footer` — Delete a footer from the document. Get the footer ID from gdoc_get.
- `gdoc_insert_section_break` — Insert a section break at a specific position.
- `gdoc_create_named_range` — Create a named range in the document for referencing a section of content.
- `gdoc_delete_named_range` — Delete a named range by ID or name. Does not delete the content, only the reference.
- `gdoc_batch_update` — Send a raw batchUpdate request with any combination of operations. Use this for complex multi-step updates or operation…

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get node2flow/google-docs <tool-name>
```

## Resources

- `google-docs://server-info` — Connection status and available tools for this Google Docs MCP server

## Prompts (2)

- `read-and-navigate` — Guide for reading document content and navigating the structure
- `write-and-format` — Guide for writing content, formatting text, and managing document structure

---

License: MIT
