Omniscio documentation
Browse all documentation
  1. Getting Started13
  2. Sessions & Agents115
  3. Inbox & Notifications59
  4. Projects & Tasks95
  5. Automation & Scheduling75
  6. Knowledge & Memory26
  7. AI Features60
  8. Integrations100
  9. Plugins & Marketplace33
  10. Cloud & Teams56
  11. Settings & Customization58
  12. Account & Billing28
  13. Troubleshooting84
  14. CLI & API Reference22
  15. Legal & Policies4
  16. Uncategorised22

Google Workspace MCP (Docs read/edit, Sheets, Drive for Claude CLI)

An MCP server that gives Claude CLI sessions direct access to Google Docs, Sheets and Drive — nineteen tools that run as a subprocess alongside the CLI, so the agent reads, searches and edits documents mid-session without Omniscio mediating each call.

RETIRED FROM COMPOSITION (2026-09-19). No AMC-built MCP server is composed into a session's .mcp.json any more, so this server no longer reaches sessions and its Enable Google Workspace Tools toggle is gone from Settings. The server source and its entry builder stay in the tree, unwired — restoring it is a revert. Google access is unaffected: it runs through the gws/gog CLI backend and the composed google-drive MCP server. The rest of this page is the tool reference for the day it returns.

What it is

An MCP server that gives Claude CLI sessions direct access to Google Docs, Sheets, and Drive — 19 tools total. Unlike Omniscio's built-in Google integrations (which work through Omniscio's AI service loop), this server runs as a subprocess alongside the Claude CLI, so the agent can read, search, and edit Google Workspace documents mid-session without Omniscio mediating each call.

The primary use case is document workflows: searching for SOPs by name, reading their full contents, making batch edits (e.g. find-and-replace across sections), and working with spreadsheets — all from within a regular Claude Code session.

Where to find it

How to enable it

  1. Connect Google (if not already). Settings → Google → Connect Google. One OAuth consent covers Gmail, Calendar, Drive, Sheets, and Docs.
  2. Enable the toggle. (Retired 2026-09-19 — the toggle no longer exists.) It used to register the google-workspace server in every new session's curated .mcp.json — a private per-session file under Omniscio's data dir, never your project folder (so it could not collide with or shadow a google-workspace server you wired into your own ~/.claude.json).
  3. GCP prerequisite. The Google Cloud project behind Omniscio's OAuth credentials must have the Google Docs API and Google Sheets API enabled. Drive API is already on. Without the Docs/Sheets APIs enabled, search and list operations work but read/edit operations return an API-not-enabled error. This is a one-time toggle in the GCP Console.

What the user sees

When you ask the agent something like "find the SOP about uploading listings and show me what's in it," the agent:

  1. Calls search_documents behind the scenes (tool call collapses in the chat)
  2. Finds matching documents with title, owner, doc ID, and last-modified date
  3. Calls read_document to pull up the full contents
  4. Presents the document text in clean markdown in the session chat

The user doesn't see raw API calls — just the formatted results. MCP tool invocations appear as collapsible activity blocks in the session transcript (same as any other Claude Code tool call like Read, Grep, or Bash).

How it behaves

Available tools (19)

Category Tool Description
Auth authenticate Authenticate with Google Workspace
check_auth_status Check current auth status
Docs — read read_document Read a full Google Doc
read_document_section Read a specific section
list_document_tabs List tabs in a document
search_documents Search across Google Docs
Docs — edit edit_section Edit a section in place
batch_edit_section Edit multiple sections in one call
insert_section Add a new section
remove_section Delete a section
find_and_replace Find and replace text in a doc
batch_find_and_replace Multiple find-and-replace in one call
Docs — create create_document Create a new Google Doc with optional initial content
Sheets create_spreadsheet Create a new Google Sheet with optional tabs and headers
read_sheet Read spreadsheet data
update_sheet_cells Update cells in a sheet
Drive list_folder_contents List files in a Drive folder
Jobs get_job_status Check status of a batch job
get_job_results Get results of a completed batch job
list_jobs List all pending/completed jobs

Differences from built-in Google integrations

Built-in Google (Calendar/Drive/Sheets) Google Workspace MCP
How it runs Omniscio's AI service loop (IPC-mediated) Claude CLI subprocess (MCP protocol)
When it's available In Omniscio's chat UI In any Claude CLI session
Document editing No (Drive: file-level ops; Sheets: cell-level) Yes (section-level Docs editing, find-and-replace)
Batch operations No Yes (batch edit, batch find-and-replace with job tracking)
Enable toggle driveEnabled, calendarEnabled, sheetsEnabled (retired 2026-09-19 — no per-session toggle)

For agents

How it works

There is exactly one curated .mcp.json per session — written to a private per-session path (<userData>/session-mcp/<sessionId>.mcp.json, never the project folder) by a single owner: the shared mcp-config-orchestrator.ts. At spawn time the orchestrator composes one entry per enabled MCP server into that one file, and Omniscio hands it to the CLI by absolute path via --mcp-config (see backend-spawn-contract.md §12). Writing it out of the project tree avoids a name collision with the user's own ~/.claude.json servers and keeps any plaintext secrets in an entry's env out of a shared/git-tracked folder. Google Workspace used to contribute an entry through a pure builder, buildGoogleWorkspaceServerEntry(), plus an Electron-aware deps resolver, resolveGoogleWorkspaceMcpDeps(), both in mcp-config-writer.ts — both stay in the tree, unwired, since 2026-09-19. It is not a live path: the out/mcp/google-workspace-server.js bundle it names is no longer built, so anything that started composing this entry again would spawn a missing file. It is kept deliberately as the written-down shape a revival would have to restore, and says so in its own comment. The retirement itself is documented on McpOrchestratorOpts in /src/main/services/mcp/mcp-compose.ts; the feature keeps its own routes and settings, it simply no longer composes a per-session MCP process. If no server is enabled at all the orchestrator removes any stale .mcp.json.

The server itself lives at src/main/services/google-workspace-mcp-server/ and is built to out/mcp/google-workspace-server.js during the standard npm run build step. It receives the Google OAuth refresh token, client ID/secret, and an encryption key via environment variables — credentials never touch disk in plaintext.

The server uses its own SQLite database at <userData>/google-workspace-mcp/workspace.db for caching document metadata, batch job tracking, and credential storage. Batch operations (like batch_find_and_replace across a large document) run as background jobs with status polling via the get_job_status/get_job_results tools.

Path resolution to the bundled google-workspace-server.js uses app.isPackaged ? resolve(app.getAppPath(), …) : resolve(__dirname, '../../out/mcp/…') so it works correctly in dev, sandbox (out-sandbox/), and packaged builds — mirroring getMcpServerScriptPath() in mcp-registry.ts, since app.getAppPath() alone resolves to the wrong root under sandbox mode.

Related

Last verified 2026-10-06