Skip to main content

Guardian — compliance copilot for visas, tax, and foreign-owned entities. MCP server for Claude Code / Desktop / Codex.

Project description

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 facts
  • guardian_deadlines — upcoming deadlines sorted by urgency
  • guardian_risks — compliance findings by severity
  • guardian_documents — your data room inventory
  • guardian_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/DOCX
  • classify_document — identify document type (W-2, I-20, passport, etc.)
  • upload_document — send documents to your Guardian data room
  • query_documents — RAG search across your indexed documents

Form Filing — generate IRS forms locally:

  • generate_form_8843 — fill Form 8843 with filing guidance
  • run_compliance_check — H-1B doc check, FBAR, student tax, 83(b) election
  • get_filing_guidance — deadlines, mailing addresses, next steps

Gmail — compliance correspondence:

  • gmail_search / gmail_read — find and read compliance-related emails
  • gmail_draft / gmail_send — draft and send with PDF attachments
  • gmail_reply — respond in-thread
  • gmail_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 a start_guardian tool 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 /guardian is 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

compliance_os-2.0.9.tar.gz (680.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

compliance_os-2.0.9-py3-none-any.whl (621.0 kB view details)

Uploaded Python 3

File details

Details for the file compliance_os-2.0.9.tar.gz.

File metadata

  • Download URL: compliance_os-2.0.9.tar.gz
  • Upload date:
  • Size: 680.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for compliance_os-2.0.9.tar.gz
Algorithm Hash digest
SHA256 f8f03a66f419e9e520d722a8d520356084cb830e67093b4687d4021a488f7a58
MD5 a71627a82a62fe4f26d1d68bf66a095a
BLAKE2b-256 2a7d26b03b5a9626f91e0383a74aa1cbf0a540f7939423e86520c6779f0ebfdd

See more details on using hashes here.

File details

Details for the file compliance_os-2.0.9-py3-none-any.whl.

File metadata

  • Download URL: compliance_os-2.0.9-py3-none-any.whl
  • Upload date:
  • Size: 621.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for compliance_os-2.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 ef1a1c0a3c44108769cd8e7199400408e83d5c667e783ffbd5da5a6408ad94de
MD5 2110ba8ec897dfba7a98dcbe42f9ea15
BLAKE2b-256 8e0597a068770ac036b715273d2ab4ec9bc4530c13a0e7260191c63a5642f4e4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page