Modelforge — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Modelforge (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<!-- mcp-name: io.github.Whatsonyourmind/modelforge -->
-brightgreen)](./AUDIT_REPORT.md)
-blue)](./modelforge/templates/)
Bulge-tier Excel financial model factory for credit & structured finance. Every cell live-formulated. Every number traceable back to the source document page it came from.
A developer tool for analysts and engineers who build credit and corporate-finance models programmatically. Covers unitranche, sponsor-backed LBO, project finance, real estate credit, NPL, structured credit, restructuring, M&A, DCF and IPO templates. Extensible to any asset class.
The moat: builds are byte-identical deterministic (same spec → same workbook bytes, every run) and ship with a verifiable manifest + certificate — formula integrity, accounting/conservation invariants (balance sheet balances, cash ties out), and SHA-256 hashes of spec + sources + workbook. Run certify --strict / build --trust-strict and it's fail-closed: non-zero exit on any integrity violation, so a broken model never ships. That's model generation with a portable audit trail — not just generation. For an AI agent or an app that emits financial models, it's the layer that turns "the LLM produced a spreadsheet" into "here is a certificate that the spreadsheet is internally correct and reproducible."
🚀 Using ModelForge in production — or want managed features, priority support, or a specific template/connector? Tell me about your use case → — I read every one.
screening: block alone.modelforge-mcp) so agents in Claude Code, Cursor, Cline, or ChatGPT Enterprise can list templates, build, QC, trace lineage, ingest a data room, and export deliverables.PyPI name: modelforge-finance (the unscoped modelforge was taken by source{d}'s ML library). Import name stays modelforge.
pip install "modelforge-finance[mcp,export]"
# wire into your MCP client config:
{
"mcpServers": {
"modelforge": { "command": "modelforge-mcp" }
}
}Then in your AI assistant:
"Build me a unitranche LBO model from this YAML spec, export the committee deck."
Tools available: list_templates · build_model · qc_workbook · list_sources · lineage_walk · ingest_dataroom · screen_deals · compute_tax · export_pptx · export_docx · plus 7 unified-feed tools (data_providers_status · quote · history · fundamentals · search_filings · entity_lookup · search_securities) across a 14-provider data stack.
LLMs produce specs + sources + narrative. Deterministic Python produces the workbook.
The LLM never writes a number into a cell. It writes a typed YAML spec with source IDs. A deterministic builder emits the Excel via openpyxl. A QC gate validates before export. Excel is a render of a linkage graph; the graph is persisted to SQLite and is the canonical artifact.
Formatting
Sourcing
Sources sheet lists each source: doc, page, publisher, date, URL, verified-flag.Scenarios
Audit
QC sheet with 8 automated checks, all must pass.pip install "modelforge-finance[mcp,export]"
# Scaffold a ready-to-build spec — no repo checkout needed (works for any of the 19
# templates; run `modelforge list-templates` to see them all)
modelforge scaffold dcf -o demo_dcf.yaml
# Build it: live-formula workbook + linkage graph + manifest sidecar
modelforge build demo_dcf.yaml # -> output/demo_dcf.xlsx
# Certify the delivered artifact: zero formula errors, byte-identical, manifest-valid
modelforge certify output/demo_dcf.xlsxWhy should a buyer trust the number in cell B42?The Trust Layer is a semantic gate (separate from the structural QC gate). It answers the question every IC asks in the first five minutes: is this number plausible? It catches issues like a DCF EV that's 8× the company's real market cap before the model ever leaves QA.
25+ built-in rules cover all shipped templates:
Each violation produces a RedFlags worksheet inside the built workbook with severity (info / warn / fail), the rule that fired, expected-vs-actual, and the recommended remediation.
modelforge audit-all examples/ # every shipped example, 0 FAIL violations in current shipSee AUDIT_REPORT.md for the current ship's audit.
Turn a directory of PDFs, XLSXs and CSVs into a validated ModelForge YAML spec using Claude Opus. Every extracted number traces back to a doc page via the auto-built Sources registry.
pip install -e .[ingest] # installs anthropic, pdfplumber, pypdf
export ANTHROPIC_API_KEY=sk-ant-... # required
modelforge ingest path/to/dataroom/ \
--template project_finance \
-o output/my_deal.yaml --verbose
# Review output/my_deal.yaml + output/my_deal.ingestion.md
# (INGESTION_REPORT.md lists every extracted field, S-id, confidence)
modelforge build output/my_deal.yaml # produces the workbook
modelforge qc output/my_deal.xlsx # 8/8 quality gateSupported template: project_finance (MVP). Templates 1, 3, 5-8 queued for v0.3.2.
modelforge/
├── graph/ # First-class linkage graph (nodes, edges, SQLite persistence)
├── spec/ # Pydantic schemas per template
│ ├── base.py # Source, Assumption, Scenario, Target (shared types)
│ └── unitranche.py # Template 1: Unitranche LBO
├── builder/ # Deterministic openpyxl writer
│ ├── styles.py # Bulge-tier formatting library
│ ├── formulas.py # Formula string builders
│ ├── i18n.py # EN/IT label dictionary
│ ├── workbook.py # Top-level builder
│ └── sheets/ # One module per sheet (cover, sources, assumptions, ...)
├── qc/ # Quality gate (8 structural checks + PDF report)
├── data/ # Market data loaders (Damodaran, ECB, Borsa minibond)
└── cli.py # build | certify | qc | scaffold | validate | screen | ingest | ...Run modelforge list-templates to see them all (preview templates are flagged). Each shipped template has an anonymized example YAML in examples/.
US · Federal CIT + state + NOL + R&D credit + GILTI + BEAT + ASC 740
UK · FRS 102 + main rate + marginal relief + RDEC + AIA + WDA + group relief
DE · KSt + SolZ + GewSt (Hebesatz + § 8 add-backs + min-tax loss CF) — HGB roadmap v0.10
FR · IS + small-profits + social surcharge + CVAE + CIR + 88% participation
ES · IS + SME 23% + newly-created 15% + 95% participation + R&D + min-tax 15%
JP · NCT + LCT + Enterprise Tax + Special Local Corp Tax + R&D credit
IT · IRES / IRAP / SIIQ / PEXProvider Protocol)Tier-0 (free, live today): EDGAR · OpenFIGI · GLEIF · Yahoo Finance · FRED Tier-1 (low-cost paid): Polygon ($29/mo) · FMP ($19/mo) · Finnhub · Tiingo · Alpha Vantage Tier-2 (institutional): Bloomberg · Refinitiv · FactSet · S&P Capital IQ
Tier-1 and Tier-2 are interface-complete — paid keys activate them via env vars. Local TTL cache prevents rate-limit blow-ups.
scripts/generate_sbom.py).github/workflows/ci.yml)modelforge/audit_log.py)Procurement-grade controls (SOC 2 Type II, ISO 27001, pen-test, multi-tenant SaaS with SSO/SCIM) are Phase-B work.
Bulge-tier Excel models, every cell live-formulated, every number traceable back to the data room page it came from.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.