AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Google Workspace multi-comptes pour agents LLM — 100 % local.
Translation pending
Developer toolsShell · HTMLGitHub @elzinkoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Multi-account Google Workspace (Gmail, Drive) for LLM agents — 100% local, default-deny policy, human-in-the-loop access. A macOS MCP server.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Multi-account Google Workspace for LLM agents — 100 % local. Connect Claude Desktop, Claude Code or Cursor to several Google accounts through a local MCP server. The agent can ask for access; only you grant it — every unlock, Drive grant and new account stays a human gesture.Read the full README ↗Quickstart · How it works · Security · Docs
Multi-account Google Workspace for LLM agents — 100 % local. Connect Claude Desktop, Claude Code or Cursor to several Google accounts through a local MCP server. The agent can ask for access; only you grant it — every unlock, Drive grant and new account stays a human gesture.
mag CLI.macOS Apple Silicon.
Prerequisite — the upstream gws CLI (the Google Workspace CLI this project wraps) and Python 3:
brew install googleworkspace-cli
1. Install — no clone needed:
curl -fsSL https://raw.githubusercontent.com/elzinko/google-mcp-multi-account/main/install.sh | bash
This puts the latest release on your machine and mag on your PATH. By default it wires no client — it prints the command to connect each one (mag wire desktop / mag wire code, Cursor manual); pass --wire to connect them during install.
2. Google setup (~10 min, once) — an OAuth project in Google Cloud: docs/setup-oauth.md. No account connects and no Google data flows until it's done — setup_status still runs to guide you.
3. Connect an account, then restart Claude Desktop (Cmd-Q):
mag add perso [email protected] # "perso" = short name · the email pins the account
mag list # profiles + state
Ask the agent: “give me a rundown of my Google setup” — it reads the state and proposes the exact command for each missing step; you run them. Update later, still clone-free: mag update. Full detail: docs/mcp-setup.md · docs/setup-oauth.md.
The LLM can never widen its own access. Every door opens by a human gesture the agent can request but not perform.
flowchart LR
USER["🧑 Human"]
LLM["LLM clients — Desktop / Code / Cursor"]
MCP["bin/google-mcp — MCP stdio"]
GW["gateway/ — enforces policy + locks"]
STATE["locks · grants · policy"]
GWSA["bin/mag"]
GOOGLE["Google APIs"]
LLM --> MCP --> GW --> GOOGLE
GW -.->|reads| STATE
USER -->|unlock / grant / policy| GWSA -->|writes| STATE
Why a wrapper, the local broker, who talks to whom: docs/architecture.md. Step-by-step walkthroughs: diagrams/.
mag command for anything it can't do itself — unlock a profile, grant a Drive folder, connect an account — and you run it. Nothing is sent or widened without your gesture. Start at Quickstart.mag admin → http://127.0.0.1:4877) or the mag CLI. See docs/admin.md and docs/policies.md.features/, run the hermetic tests, and open one PR per feature. See Contributing.Stance: don’t trust the LLM by default — it can ask, only a human opens. Per-profile locks (optional Touch ID), zoned Drive writes, no mail sending, encrypted tokens. Guarantees phase by phase, what is not yet covered, and how to report a flaw: SECURITY.md · docs/threat-model.md. Honest self-critique (strengths, limits, competition): docs/critique.md.
./scripts/test.sh # hermetic suite (policy, wrapper, gateway, broker) — no real account, no network
mag help is the index of everything. LLM-guided manual tests: tests/manuels/.mag release derives semver from conventional commits. History: CHANGELOG.md.bin/ # google-mcp (MCP server) · mag (CLI wrapper) · google-broker
gateway/ # policy, locks, MCP server, signed elicitation
scripts/ # provision-gcp · update · release · test
docs/ # setup, usage, policies, architecture, security, critique
site/ # product landing + docs hub (English, FR/EN toggle)
features/ # backlog — one card per feature/bug
Product / MCP server google-multi-account (source of truth: gateway/config.py PRODUCT_SLUG) · git repo google-mcp-multi-account · CLI mag (this project's wrapper — what you run; formerly gwsa/gma, still deprecated aliases) · MCP binary google-mcp · upstream dependency gws = the Google Workspace CLI that mag wraps (install it first).
gws and the network are stubbed):git clone https://github.com/elzinko/google-mcp-multi-account && cd google-mcp-multi-account
./scripts/test.sh
Running the tool against real accounts also needs the gws CLI (brew install googleworkspace-cli) — see Quickstart.
features/ (priority-sorted index: features/BACKLOG.md). Pick a ready card; one feature = one branch = one PR.feat:, fix:, docs:, refactor:…); mag release derives the semver tag from them../scripts/test.sh green, and walk the reviewer checklist in docs/PR_VALIDATION.md. Every PR gets an adversarial review before merge.| Topic | Where |
|---|---|
| Connect a client (Desktop, Code, Cursor); tools exposed | docs/mcp-setup.md |
| OAuth / GCP setup, IAM roles | docs/setup-oauth.md |
CLI (mag, locks, Touch ID) | docs/usage.md |
| Web admin (local webapp) | docs/admin.md |
| Policy model (default-deny, Drive zones, grants) | docs/policies.md |
MIT — built in spare time. If it helps you, buy me a coffee ☕.