mise-en-space
Status
Robustness: Beta — actively developed
Works with: Claude Code, Amp, Gemini CLI (any MCP client)
Install: Configure as MCP server (see below)
Requires: Python 3.11+, Google OAuth credentials
An MCP sous-chef for Google Workspace that provides a mise en place for knowledge work. Peel and pith removed, everything prepped and in its place, ready for Claude to cook with.
Why another tool for LLMs to use Google Workspace?
Google's official Workspace MCP
has 50 tools and requires multiple round-trips for basic tasks — search Gmail, get back a list of IDs, call again for each message, all of it burning context. Because it's essentially a thin wrapper over the Workspace APIs, the tool definitions alone take up ~15k of tokens every session.
Looking around for others, I found plenty of inspiration, but also some snags:
- taylorwilsdon/google_workspace_mcp
covers every Google service, but returns all content inline — a 70-slide deck or 30-message thread lands straight in your context window
- felores/gdrive-mcp-server
deposits files to disk (Docs→Markdown, Sheets→CSV) the way I wanted, and also used a clever trick to get Drive to do high quality conversions, but only does Google Drive, so its coverage was limited for my needs
- GongRzhe/Gmail-MCP-Server
— pre-built Gmail filter templates. Good ergonomics for a single source, but again, just a single source.
- aaronsb/google-workspace-mcp
— deposits files to disk with per-account folders. The right idea for file handling IMO - don't spam the caller's context window, but I didn't need multi-account support
- a-bonus/google-docs-mcp
— tab-aware Docs extraction. Everyone else ignores multi-tab documents.
I wanted something that had the best of all these ideas:
- Sous-chef philosophy. Fetch a doc and get the comments too. Fetch an email and get the attachments extracted. Don't make the chef ask for every ingredient separately.
- Clean extraction. PDFs use hybrid extraction (markitdown → Drive OCR fallback). Office files convert automatically.
- Opinionated, LLM-first control surface 3 tools not 50 - search, fetch, create. ~3k tokens of tool definitions and everything routes through the same three verbs.
- One call, rich results. Gmail search returns subjects, senders, snippets, and attachment names — not a bag of IDs requiring N+1 follow-ups.
- Filesystem-deposits. Content goes to disk as markdown/CSV, not into the context window. Claude reads (and greps) what it needs.
- Companion Skill. I like the pattern where we provide a tool and a companion Skill that acts as the instruction manual on how to use it.
- MCP Optional. Option for CLI based interactions e.g. if you want to use a different agent harness like pi.
The 3 Verbs
| Verb | Purpose | Deposits files? |
|---|
search | Find files and emails across Drive and Gmail | Yes — results JSON |
fetch | Extract content to mise/ as markdown/CSV | Yes — content folder |
create | Make a new Doc/Sheet/Slides from markdown | No |
CLI
Same 3 verbs, for agents without MCP support:
mise search "quarterly reports"
mise search "from:alice budget" --sources gmail
mise fetch 1abc123def456
mise create "Title" --content "# Markdown content"
Supported Content Types
| What's in the larder | What the chef gets |
|---|
| Google Docs | Markdown + open comments |
| Google Sheets | CSV + chart PNGs + open comments |
| Google Slides | Markdown + selective thumbnails + open comments |
| Gmail threads | Markdown with signature stripping via talon, attachment extraction |
| PDFs | Markdown (markitdown → Drive OCR fallback) |
| Office files (DOCX/XLSX/PPTX) | Markdown or CSV via Drive conversion |
| Video/Audio | AI summary + metadata (requires claude-suite) |
| Images | Deposited as-is; SVG rendered to PNG |
Architecture