Guardian MCP Server
Connect Claude Desktop, Claude Code, or Codex to Guardian for compliance status, document processing, form filing, and Gmail integration.
Quick Start (one command)
pip install compliance-os[agent] && guardian-mcp install
The installer auto-detects your apps (Claude Desktop, Claude Code, Codex) and writes the config for you. No JSON editing needed.
Flags
guardian-mcp install # interactive — choose apps and API
guardian-mcp install --all # configure all detected apps (interactive API setup)
guardian-mcp install --all --local # all apps, local dev (no token needed)
guardian-mcp uninstall # remove Guardian from all apps
What You Get
18 tools across 5 groups:
Compliance Context — same intelligence as the Guardian dashboard:
guardian_status— findings, deadlines, key factsguardian_deadlines— upcoming deadlines sorted by urgencyguardian_risks— compliance findings by severityguardian_documents— your data room inventoryguardian_ask— ask Guardian's AI assistant any compliance question
Document Processing — runs locally on your machine (no API cost):
parse_document— extract text from PDF/DOCXclassify_document— identify document type (W-2, I-20, passport, etc.)upload_document— send documents to your Guardian data roomquery_documents— RAG search across your indexed documents
Form Filing — generate IRS forms locally:
generate_form_8843— fill Form 8843 with filing guidancerun_compliance_check— H-1B doc check, FBAR, student tax, 83(b) electionget_filing_guidance— deadlines, mailing addresses, next steps
Gmail — compliance correspondence:
gmail_search/gmail_read— find and read compliance-related emailsgmail_draft/gmail_send— draft and send with PDF attachmentsgmail_reply— respond in-threadgmail_download_attachment— save attachments for processing
Manual Setup (if you prefer)
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"guardian": {
"command": "/path/to/python",
"args": ["-m", "compliance_os.mcp_server"],
"env": {
"GUARDIAN_API_URL": "https://guardiancompliance.app",
"GUARDIAN_TOKEN": "gdn_oc_YOUR_TOKEN_HERE"
}
}
}
}
Claude Code
Add to ~/.claude/settings.json (global) or .claude/mcp.json (project):
Same JSON format as Claude Desktop.
Codex
Add to ~/.codex/config.toml:
[mcp_servers.guardian]
type = "stdio"
command = "/path/to/python"
args = ["-m", "compliance_os.mcp_server"]
[mcp_servers.guardian.env]
GUARDIAN_API_URL = "https://guardiancompliance.app"
GUARDIAN_TOKEN = "gdn_oc_YOUR_TOKEN_HERE"
Auth
| Mode | Token needed? | How |
|---|---|---|
| Local dev | No | Auto-generates JWT from local SQLite DB |
| Production | Yes | Get from Dashboard > Connect to OpenClaw |
Gmail (optional)
python scripts/guardian_mcp_setup.py
Requires a one-time Google Cloud OAuth setup. See the setup script for instructions.
Starting Guardian — the /guardian command
Guardian engages automatically when you raise a compliance topic, but you can also start it deterministically — for when you want to begin on purpose instead of relying on topic detection. How depends on the surface:
- Cowork / Claude Desktop (agentic): just type
/guardian(optionally/guardian <your situation>) as a normal message. There's astart_guardiantool plus a "deterministic start" instruction, so the agent fires onboarding the moment it sees a typed/guardian— even though MCP prompts aren't typeable there. - Claude Code: run the prompt directly —
/mcp__guardian__guardian(MCP prompts are namespaced; a bare/guardianis a custom-command name Claude Code reserves). - Claude Desktop (classic chat): open the
+/ prompt menu and pick Guardian → Start Guardian.
It runs Guardian's cold-start onboarding: a one-line reassurance, what Guardian covers (and an honest "that's outside what I'm built for" if your question is out of scope), then a single question to route you — no intake form. The same kickoff runs whichever way you start, so the experience is identical.
Pass your situation to route immediately:
/guardian F-1 student, paid internship starting in 2 weeks/guardian foreign-owned US LLC, just heard about a 5472 penalty/guardian early-exercised startup stock, 30-day clock/guardian green card pending and I need to travel next month
Usage Examples
Once connected, just talk naturally — or run /guardian to start deterministically:
- "What's my compliance status?"
- "Process these tax documents" (with file paths)
- "Generate my Form 8843 -- I'm an F-1 student from China, arrived 2022-08-15"
- "Search my Gmail for IRS notices"
- "Draft an email to my attorney with the H-1B doc check results"
- "When is my FBAR due?"
Architecture
Your Machine Guardian API
+---------------------+ +--------------+
| Claude / Codex | | Guardian |
| | | Backend |
| +---------------+ | REST API | |
| | Guardian MCP |--+--------------+> Status |
| | Server | | (token) |> Deadlines |
| | | | |> Risks |
| | Local tools: | | |> Documents |
| | - PDF extract | | |> Chat |
| | - Classify | | |> Upload |
| | - Form fill | | +--------------+
| | - Gmail OAuth | |
| | - RAG query | | Google API
| | |--+--------------> Gmail
| +---------------+ | (OAuth2)
+---------------------+
Document parsing runs locally -- your Claude/Codex handles the LLM extraction work, saving Guardian API token costs.
Metadata
Release files for compliance-os 2.0.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| compliance_os-2.0.11.tar.gz | 690.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| compliance_os-2.0.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / compliance_os-2.0.11.tar.gz
| Download URL | compliance_os-2.0.11.tar.gz |
|---|---|
| Size | 690.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ce94bdffc6d96ee8045d38ea8530819a8f34810f5a0a588f6cc5602edee95259
|
|
BLAKE2b-256 checksum How to use checksums |
7ea7f6e85f8f331873b15ba84abe682c6c96172241a652474820bdae1b7f6645
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.15
|
Release files / compliance_os-2.0.11-py3-none-any.whl
| Download URL | compliance_os-2.0.11-py3-none-any.whl |
|---|---|
| Size | 629.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
66f0a9305287eae596d7149a5e5a18ef47aa8348e991ece1a0bc20a10460ff7b
|
|
BLAKE2b-256 checksum How to use checksums |
2f0e19b10edd0c9ebaa744444b5915d0509d39566a1a34c08560ed6c51fc227d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.15
|