Pre-Beta Pre-beta signups are open now. The full audytx engine is live for pre-beta. Everything free today stays free — paid tiers arrive Sep 01, 2026 from $20/month for unlimited repositories.
← Notes
Release · July 19, 2026

CloudFormation support is live on the MCP server

TL;DR: the audytx engine now scans CloudFormation — JSON, YAML including short tags, SAM templates, and CDK-synthesized output — through a new scan_cloudformation MCP tool. Templates are normalized into the same resource model the Terraform engine reasons about, so findings carry the same AWS_* rule ids, the same context suppression runs, and the response shape is identical to scan_terraform. MCP first; GitHub App and CLI next.
What shipped

One engine, now two languages

audytx has been a context-aware AWS Terraform reviewer since day one. As of engine v1.17, the parser front-end also reads CloudFormation and maps each template into the same resource vocabulary the rules and reasoning axes already understand — AWS::S3::Bucket lands where aws_s3_bucket does, before a single rule runs.

That one design decision carries the whole release:

The hard part

Reading the template language properly

CloudFormation's intrinsic functions are a language, and a scanner that half-reads them manufactures false positives. The front-end ships with a real evaluator: YAML short tags (!Ref, !GetAtt, !Sub, !If), Fn::ForEach expansion, and symbolic tracking for ARNs that only exist at deploy time.

The case we sweated most is Fn::If. When a security-relevant attribute depends on a condition the template alone can't resolve, audytx evaluates both branches. If they disagree, the finding is downgraded one severity step, marked conditional, and annotated with why. It isn't dropped, and it isn't stated with more confidence than the template supports.

Behind the release sits a CloudFormation ground-truth corpus: every context axis is exercised by CFN-specific positive and negative suites plus a benign-template set — the same zero-false-positive discipline the Terraform engine is held to.

Try it

One tool call

# Register audytx with your agent (Claude Code shown), then ask it to scan —
# or call the tool directly:
curl -s https://audytx.com/mcp \
  -H 'Content-Type: application/json' -H 'X-Client-ID: YOUR_CLIENT_ID' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{
        "name":"scan_cloudformation",
        "arguments":{"files":[{"path":"stack.yaml","content":"..."}]}}}'

Client IDs are free at the dashboard, and CloudFormation calls share your existing MCP quota — no new metering. Templates are parsed in memory and discarded per request, like every audytx scan.

Scope

What this release is not, yet

Verify the rollout state yourself: GET /status reports supported_iac live, and the MCP tools/list is open without auth. When the GitHub App surface lands, those are the places it will show first. Coming from cfn_nag? The migration page maps its W/F ids and suppression workflow onto audytx.
Open beta

Scan a stack template today

Point your coding agent at the MCP server and see the context engine read your CloudFormation — free during the beta.