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.8.tar.gz (675.5 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.8-py3-none-any.whl (617.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: compliance_os-2.0.8.tar.gz
  • Upload date:
  • Size: 675.5 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.8.tar.gz
Algorithm Hash digest
SHA256 cecbb35b95f98b2bf5d58e1e8261cec474a58c2283917d8c6b0e3eecb2ea127a
MD5 1fc54b438de162654575b190394622b3
BLAKE2b-256 81e0598f01f42d48aa4edde781f8ec8e76655d2d4c5bd82cf8094ddd906bbe35

See more details on using hashes here.

File details

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

File metadata

  • Download URL: compliance_os-2.0.8-py3-none-any.whl
  • Upload date:
  • Size: 617.6 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 f4ec1c27d6190724894a3c42c967057fd13c907482a920e65b8adc0613039f57
MD5 161ca5f9c8696ceca200223749f684d3
BLAKE2b-256 6678051d407cbef7337b6be4b6eeba9558e146231c380f3e90b24195b0ea9b20

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