JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 33
  • Score
    100M100P100Q86928F
  • License MIT

MCP server that proxies all agent actions, classifies risk, enforces natural-language policies, and logs to a local SQLite audit DB with a live dashboard.

Package Exports

  • @roxy-agent/agents
  • @roxy-agent/agents/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@roxy-agent/agents) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@roxy-agent/agents

An MCP server that proxies all agent actions — bash, filesystem, network — through a sub-millisecond risk classifier and an audit log. Comes with a dashboard you can open in your terminal or in any browser at roxy-agent-web.vercel.app.

Quick start

Add this to your MCP config (~/.cursor/mcp.json for Cursor, ~/Library/Application Support/Claude/claude_desktop_config.json for Claude Desktop, the equivalent for Codex):

{
  "mcpServers": {
    "agent-proxy": {
      "command": "npx",
      "args": ["-y", "@roxy-agent/agents"]
    }
  }
}

Reload MCP servers (or restart the host). On first launch npx downloads the package and:

  1. Creates an audit DB at ~/.agent-proxy/audit.db.

  2. Starts a local dashboard at localhost:4242.

  3. Begins streaming each tool call (metadata only, by default) to the hosted dashboard.

  4. Prints a one-time pairing URL like:

    [agent-proxy] ──────────────────────────────────────────────
    [agent-proxy]  Sign in to view this proxy's audit log online:
    [agent-proxy]    https://roxy-agent-web.vercel.app/pair?code=W79M-5BVD
    [agent-proxy]  (Pairing code: W79M-5BVD — valid 10 minutes.)
    [agent-proxy] ──────────────────────────────────────────────

    Open it. The page asks you to sign in (or create an account), then "Link this device" attaches the running proxy to your account. The proxy detects the link within ~3 seconds and from then on uploads under your user id.

  5. Visit roxy-agent-web.vercel.app/dashboard. Once signed in, it shows events from all devices you've paired — codex on your laptop, claude on your desktop, etc.

If you skip pairing, the proxy still uploads under an anonymous device id; you can view that device's data by clicking the local dashboard's "Open hosted view" link, which sets a per-device cookie.

Privacy / what gets uploaded

Cloud sync sends metadata only by default:

  • Tool name + action type (e.g. bash.execute)
  • Risk level, decision, reason
  • A 240-character truncation of the command / path / URL the dashboard already shows
  • Timestamps, durations, error strings (truncated)

It does not send full stdout/stderr, file contents, or response bodies unless you set AGENT_PROXY_CLOUD_PAYLOADS=full. To disable cloud sync entirely:

AGENT_PROXY_CLOUD_SYNC=0 npx -y @roxy-agent/agents

(or set it as an env value in your MCP config block).

Environment variables

Variable Default Meaning
AGENT_PROXY_PORT 4242 Local dashboard port
AGENT_PROXY_DISABLE_DASHBOARD unset Set to 1 to skip the local web UI entirely
AGENT_PROXY_DATA_DIR ~/.agent-proxy Where audit.db and license.json live
AGENT_PROXY_ML_CACHE ~/.agent-proxy/models Where the embedding model is cached
AGENT_PROXY_CLOUD_SYNC 1 Set to 0 to disable hosted-dashboard uploads
AGENT_PROXY_CLOUD_URL https://roxy-agent-web.vercel.app Override the hosted dashboard URL (self-host)
AGENT_PROXY_CLOUD_PAYLOADS metadata Set to full to send raw command/result bodies
AGENT_PROXY_CLOUD_INTERVAL_MS 5000 How often to flush the upload queue
AGENT_PROXY_PAIRING 1 Set to 0 to skip the device-pairing prompt on launch
AGENT_PROXY_SESSION_ID random UUID Override the session id for traceability

Run from source (for local development)

git clone https://github.com/dwang88/agent-proxy
cd agent-proxy
npm install
npm run build
npm run dev   # tsx src/index.ts

Then point your MCP config at node /path/to/agent-proxy/dist/index.js instead of npx -y @roxy-agent/agents.

Self-hosting the dashboard

The hosted dashboard lives in web/ and is a vanilla Next.js app deployed to Vercel. To run your own:

cd web
npm install
npm run bundle      # copies dashboard JS/CSS from ../src/dashboard
DATABASE_URL=postgres://... npm run dev

Set AGENT_PROXY_CLOUD_URL on every machine running the local proxy to point at your deployment.