
Company News
Free Business Plan Upgrades for Open Source Maintainers
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.
@emfirge/mcp
Advanced tools
Git branch for your cloud. Understand AWS risk, prioritize what matters, and prove fixes before touching production. Read-only by design.
Privacy-first AWS security, inside your AI.
Trace attack paths from the internet to your sensitive data, calculate blast radius, and prove fixes before you apply them — without your resource IDs ever reaching the LLM.
Website · Source · MCP Registry · Privacy · Report an issue
Your AI can read your code, but it can't see your cloud. Emfirge fixes that. It scans your live AWS account, builds a graph of every resource and how they connect, then lets your assistant walk attack paths, simulate breaches, and verify fixes — all from a conversation.
The AI never guesses. Emfirge clones your infrastructure graph, applies the change, and re-runs 58 deterministic rules. Your assistant reads back what the engine proved.
| 🕸️ Graph-based | Maps every AWS resource and relationship — not isolated resource linting like Checkov/tfsec. |
| 🎯 Attack paths | Weighted-Dijkstra routes from the internet to your data, ranked by exploit difficulty, not hop count. |
| 💥 Blast radius | See exactly what an attacker reaches once they land on a resource. |
| 🔒 Privacy-first | Resource IDs are tokenized on your machine before anything reaches the LLM. The mapping never leaves. |
| ✅ Proven fixes | Clone the graph → apply the change → re-run every rule → diff. A real simulation, not a hunch. |
| 📋 Compliance | CIS AWS Foundations 1.5 + SOC 2, per-control pass/fail, mapped to MITRE ATT&CK. |
npx @emfirge/mcp install
Auto-detects and wires up Claude Desktop, Cursor, Kiro, Cline, Continue, and Codex CLI, then asks you to pick a privacy mode. Restart your client and just ask:
"Scan my AWS account, role
arn:aws:iam::123456789012:role/EmfirgeReadOnly, region us-east-1"
No role yet? Say "help me set up Emfirge" — your assistant hands you a one-click CloudFormation deploy link for a read-only IAM role.
Free. 5 scans/day per AWS account. No signup. No API keys.
Use the demo ARN — fake infrastructure, the real engine:
arn:aws:iam::194722410583:role/EmfirgeReadOnly region: us-east-1
"Scan with
arn:aws:iam::194722410583:role/EmfirgeReadOnlyinus-east-1"
Want a visual graph instead? emfirge.cloud — same engine, browser UI, free during beta.
| Tool | What it does |
|---|---|
emfirge_setup_help | Returns a clickable CloudFormation deploy link (for first-time setup). |
emfirge_scan | Scan an AWS account — returns risk score, finding counts, and an analysis_id. |
emfirge_get_findings | Full findings list for a scan, filterable by severity. |
emfirge_attack_paths | Attack paths from the internet to internal resources, plus chokepoints. |
emfirge_verify_fix | Simulate a fix and see the real score delta — no changes to your AWS. |
emfirge_check_compliance | CIS AWS Foundations / SOC 2 per-control status. |
emfirge_simulate_breach | Full kill-chain walkthrough — attack stages, blast radius, follow-up moves. |
All seven tools are deterministic on the backend — no LLM calls inside the MCP path.
Your host LLM (Claude / Cursor / etc.) is the only AI in the loop, and in strict mode it
only ever sees tokenized data.
In strict mode (the default), every AWS identifier is tokenized locally before it
reaches your LLM:
What the LLM sees: "SG_001 has SSH open → reaches S3_001"
What's on your disk: SG_001 = sg-0a1b2c3d
S3_001 = acme-customer-pii
The mapping lives at ~/.emfirge/tokens.json and is never sent to Emfirge, Anthropic,
or anyone. When you say "fix SG_001", the MCP resolves the real ID locally, calls the
backend, and re-tokenizes the response.
| Mode | What's tokenized | Best for |
|---|---|---|
strict (default) | Every AWS ID — ARNs, EC2/SG/IAM/S3, IPs, account IDs, bucket names | Banks, healthcare, regulated industries |
balanced | ARNs, EC2/SG/EIP/IAM IDs, IPs, account IDs. Subnets/VPCs/volumes raw. | Most users |
off | Nothing — raw IDs go to the LLM | Personal accounts, demo, debugging |
npx @emfirge/mcp privacy strict|balanced|off # change mode across every wired client
npx @emfirge/mcp privacy # show current mode
Honest note: tokenization sits between the MCP and the LLM. The Emfirge backend does receive real IDs — it has to, to call AWS. It stores them for 90 days, then auto-deletes. Full details in PRIVACY.md. Wipe everything anytime with
npx @emfirge/mcp purge --role-arn <ARN>.
┌──────────────┐ role ARN ┌──────────────┐ read-only ┌─────┐
│ Your machine │──────────────▶│ emfirge.cloud│─────────────▶│ AWS │
│ (MCP host) │ │ (scanner) │ STS, 1 hr └─────┘
└──────┬───────┘ └──────┬───────┘
│ tokenized IDs │ findings + graph
▼ ▼
┌──────────────┐ ┌──────────────┐
│ Your LLM │ │ Postgres + S3│
│ (Claude/etc) │ │ (90-day TTL)│
└──────────────┘ └──────────────┘
Coverage: EC2, Lambda, ECS, S3, EBS, RDS, IAM, Secrets Manager, KMS, VPC, Security Groups, WAF, CloudFront, SNS, CloudTrail, GuardDuty, CloudWatch, AWS Config, Budgets — ~20 service types across 17 rule families.
If auto-install doesn't work, add this to your client's MCP config:
{
"mcpServers": {
"emfirge": {
"command": "npx",
"args": ["-y", "@emfirge/mcp"],
"env": { "EMFIRGE_PRIVACY": "strict" }
}
}
}
Config file locations:
~/Library/Application Support/Claude/claude_desktop_config.json (Mac), %APPDATA%\Claude\claude_desktop_config.json (Windows)~/.cursor/mcp.json~/.kiro/settings/mcp.json~/Library/Application Support/Cline/cline_mcp_settings.json~/.continue/config.jsonMCP requires a desktop AI client (stdio transport). Web Claude / ChatGPT / Gemini don't support MCP yet — use emfirge.cloud for those.
npx @emfirge/mcp install # auto-wire to all detected clients
npx @emfirge/mcp install --privacy=balanced # non-interactive: skip the prompt
npx @emfirge/mcp uninstall # remove from all clients
npx @emfirge/mcp status # show what's wired up + privacy mode
npx @emfirge/mcp privacy <strict|balanced|off> # change privacy mode everywhere
npx @emfirge/mcp tokens # list local token mappings
npx @emfirge/mcp purge --role-arn <ARN> # delete all your scan data
| Variable | Default | Purpose |
|---|---|---|
EMFIRGE_BASE_URL | https://emfirge.cloud/api | Backend URL — override to point at a self-hosted backend |
EMFIRGE_PRIVACY | strict | strict, balanced, or off |
EMFIRGE_TRUSTED_ACCOUNT_ID | 282027772803 | AWS account ID to trust in the IAM role (for setup_help) |
EMFIRGE_EXTERNAL_ID | aws-risk-agent | ExternalId for STS assume-role |
BUSL 1.1 — free for non-production and small production use (up to $1M ARR or 100 employees). Auto-converts to Apache 2.0 in 2030.
See your cloud the way an attacker does — from inside your AI.
FAQs
Git branch for your cloud. Understand AWS risk, prioritize what matters, and prove fixes before touching production. Read-only by design.
The npm package @emfirge/mcp receives a total of 87 weekly downloads. As such, @emfirge/mcp popularity was classified as not popular.
We found that @emfirge/mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.