Skip to main content

onit-workspace

Google Workspace MCP Server over SSE. Provides 25 tools for Google Drive, Docs, Sheets, Slides, and Gmail.

Vendored from onit.

Installation

pip install onit-workspace

Usage

Start the server (runs in background):

onit-workspace
# or
onit-workspace start

Start in foreground (for debugging):

onit-workspace start --foreground

Custom host/port:

onit-workspace start --host 127.0.0.1 --port 9000

With OAuth 2.0 (recommended):

onit-workspace start --oauth-client-file /path/to/client_secret.json

With service account credentials:

onit-workspace start --credentials-file ~/.config/gcloud/credentials.json

With domain-wide delegation (service account + Gmail):

onit-workspace start --delegated-user user@yourcompany.com

Check status:

onit-workspace status

Stop the server:

onit-workspace stop

Using with onit

onit can connect to onit-workspace as an MCP SSE server. Start onit-workspace first, then launch onit with the --mcp-sse flag:

onit-workspace start
onit --mcp-sse http://localhost:18204/sse --web

This gives onit access to all 25 Google Workspace tools through its web interface.

Example prompts

Once connected, you can ask onit things like:

"List files in my Google Drive"
"Create a new spreadsheet called Q1 Report with columns Date, Revenue, Expenses"
"Read the contents of document <doc_id>"
"Send an email to team@company.com with subject 'Meeting Notes'"
"Download the presentation as PDF"
"Share the document with user@company.com as editor"

MCP Client Configuration

Once running, connect any MCP client to the SSE endpoint:

http://localhost:18204/sse

Example MCP client config:

{
  "mcpServers": {
    "onit-workspace": {
      "url": "http://localhost:18204/sse"
    }
  }
}

Authentication

Two authentication methods are supported. Choose the one that fits your environment.

User-based authentication via browser login. Works without domain-wide delegation — ideal when delegation is disabled for security reasons.

  1. Go to Google Cloud Console > APIs & Services > Credentials
  2. Enable APIs: Docs, Sheets, Slides, Drive, Gmail
  3. Create an OAuth 2.0 Client ID (type: Desktop application)
  4. Download the client secrets JSON
  5. Start the server:
onit-workspace start --oauth-client-file /path/to/client_secret.json

Or set the environment variable:

export GOOGLE_OAUTH_CLIENT_FILE=/path/to/client_secret.json
onit-workspace start

On first API call, a browser opens for Google login. The token is saved to ~/.config/gcloud/token.pickle for subsequent runs.

Option 2: Service account

Server-to-server authentication using a service account key.

  1. Create a service account at Google Cloud Console > IAM & Admin > Service Accounts
  2. Enable APIs: Docs, Sheets, Slides, Drive, Gmail
  3. Download JSON key and configure via one of:
    • CLI flag: --credentials-file /path/to/service-account.json
    • Environment variable: GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json
    • Default path: ~/.config/gcloud/credentials.json
  4. Share existing files with the service account email

Gmail with service account requires domain-wide delegation:

  1. Enable delegation on the service account in Google Cloud Console
  2. Authorize scopes in Google Admin Console > Security > API Controls > Domain-wide delegation
  3. Pass --delegated-user user@yourcompany.com or use the user_email parameter per tool call

See docs/GOOGLE_WORKSPACE_AND_OAUTH.md for the full setup guide.

Tools (25)

Category Tools Description
Auth google_auth Check authentication status
Drive drive_list, drive_create_folder, drive_move, drive_delete, drive_share, drive_download, drive_upload Search, organize, share, upload, and download files
Docs doc_create, doc_read, doc_write, doc_update Full CRUD for Google Docs
Sheets sheet_create, sheet_read, sheet_write, sheet_info Full CRUD for Google Sheets
Slides slides_create, slides_read, slides_edit, slides_update Full CRUD for Google Slides
Gmail gmail_list, gmail_read, gmail_modify, gmail_send, gmail_attachment, gmail_create_label Read, send, label, and manage email

Drive (7 tools):

  • drive_list - Search and list files with filtering by type, folder, and query
  • drive_create_folder - Create folders with optional auto-sharing
  • drive_move - Move or rename files and folders
  • drive_delete - Trash or permanently delete files
  • drive_share - Share with users, groups, domains, or make public
  • drive_download - Download/export files (PDF, DOCX, XLSX, PPTX, etc.)
  • drive_upload - Upload local files to Drive with optional sharing

Docs (4 tools):

  • doc_create - Create a new Google Doc with optional initial content
  • doc_read - Read document content as plain text or JSON structure
  • doc_write - Append, insert, or replace content (text, headings, bullets, numbered lists, tables)
  • doc_update - Modify or delete existing paragraphs by index, change paragraph styles

Sheets (4 tools):

  • sheet_create - Create a new spreadsheet with optional headers and data
  • sheet_read - Read data from a cell range
  • sheet_write - Update or append rows of data
  • sheet_info - Get spreadsheet metadata (sheet names, dimensions, frozen rows/columns)

Slides (4 tools):

  • slides_create - Create a new presentation with title and subtitle
  • slides_read - Read full slide content including shapes, tables, and speaker notes
  • slides_edit - Add new slides (multiple layouts) or tables
  • slides_update - Modify existing shape text or delete slides

Gmail (6 tools):

  • gmail_list - List and search emails with query filters
  • gmail_read - Read full email with headers, body, and attachment info
  • gmail_modify - Modify labels, read/unread status, and star
  • gmail_send - Compose and send email with optional attachments and HTML
  • gmail_attachment - List or download email attachments
  • gmail_create_label - Create labels or apply labels to messages

Docker

See docs/DOCKER.md for Docker build and run instructions.

Documentation

License

Apache-2.0

Metadata

Release files for onit-workspace 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for onit-workspace 0.1.0
File Size Uploaded Provenance
onit_workspace-0.1.0.tar.gz 31.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for onit-workspace 0.1.0
File Interpreter ABI Platform
onit_workspace-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 60.9 kB

Release files / onit_workspace-0.1.0.tar.gz

Download URL onit_workspace-0.1.0.tar.gz
Size 31.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3347d61898854c996242fd77ac7bd980f4b10e93222a13befba5295cb8ceb6b8
BLAKE2b-256 checksum
How to use checksums
5180999d16df5f445e5961f0a43c2dab4fbb147ed68c2414a3c3f121bb1a4a23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 4, 2026.

Transparency log

Release files / onit_workspace-0.1.0-py3-none-any.whl

Download URL onit_workspace-0.1.0-py3-none-any.whl
Size 29.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5b424cd60b7fbb5420b3c1baf9aa2588760bfc72f78645b9307dcfb9fa91987e
BLAKE2b-256 checksum
How to use checksums
05a5d866528433de8f28f8fa41319a568434d95dabf961470403be6af7c8234c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 4, 2026.

Transparency log

Security for onit-workspace 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for onit_workspace-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 4, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page