Modelforge
Bulge-tier financial model factory — live formulas, source-traced cells, 14 templates.
Connector by Whatsonyourmind · GitHub account verified by the MCP Registry
Chalk Labs
Need help deploying Modelforge?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/whatsonyourmind-modelforge
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 16 read · 3 write · 0 delete · 6 not yet classified
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 25
Read from the source code; the running server may list different tools.
Read 16 · Look things up without changing anything.
audit_conservationaudit_schedulecompute_taxdata_providers_statusentity_lookupfundamentalsget_spec_schemahistoryingest_dataroomlist_sourceslist_templatesquote
Show 4 more tools
search_filingssearch_securitiesspec_guidevalidate_spec
Write 3 · Create, change, send or run things.
build_modelcertifyqc_workbook
Not yet classified 6 · We could not tell from the name and description.
export_deckexport_docxexport_pptxlineage_walkperturb_replayscreen_deals
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
ANTHROPIC_API_KEY
Network hosts it talks to 34
alphavantage.co· found in codeapi.gleif.org· found in codeapi.marketintelligence.spglobal.com· found in codeapi.openfigi.com· found in codeapi.polygon.io· found in codeapi.stlouisfed.org· found in codeapi.tiingo.com· found in codeapi.worldbank.org· found in codebloomberg.com· found in codecdn.tailwindcss.com· found in codedata-api.ecb.europa.eu· found in codedata.sec.gov· found in codedatahelpdesk.worldbank.org· found in codedevelopers.lseg.com· found in codedocs.anthropic.com· found in codefc.yahoo.com· found in codefinancialmodelingprep.com· found in codefinnhub.io· found in codefred.stlouisfed.org· found in codegithub.com· found in codein-toto.io· found in codemarketplace.spglobal.com· found in codemodelforge-collab.workers.dev· found in codeopenfigi.com· found in codepages.stern.nyu.edu· found in codepolygon.io· found in codequery1.finance.yahoo.com· found in codequery2.finance.yahoo.com· found in coderogo.ai· found in codeschemas.openxmlformats.org· found in code
Show 4 more hosts
sec.gov· found in codesite.financialmodelingprep.com· found in codestripe.com· found in codetiingo.com· found in code
Files it touches
/Library/Fonts/usr/local/share/fonts/usr/share/fonts- Your home directory (~)
~/.modelforge/feeds- Any path the agent passes to its tools
Tools (25)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
audit_conservationRecompute the QC sheet and require ALL_PASS==1 — the other certify-blind defect. certify proves zero formula errors, but a conservation check that legitimately recomputes to 0 (a balance sheet that doesn't balance, a debt roll-forward that telescopes, NI != EBT + tax) is a VALID formula returning 0 — not an Excel error — so it certifies CERTIFIED today. This recomputes every formula with the `formulas` engine, reads the recomputed ALL CHECKS PASS aggregator plus every per-check on the QC sheet, and requires the aggregator to be 1 with no per-check at 0. Deterministic, zero-LLM. Takes xlsx_pat…
audit_scheduleFlag hardcoded numbers wedged inside a formula series — the certify-blind defect. certify proves a workbook has zero formula errors, but it cannot see a cell that SHOULD be a formula and was overwritten with a bare number (e.g. a value typed over year 4 of a 10-year debt schedule). This auditor catches exactly that: a non-innocuous hardcode sitting BETWEEN formula cells in a contiguous period series. Edge-period inputs and input/reference/audit sheets are excluded, so it is high-precision (zero findings on all certified examples). Takes xlsx_path; returns {xlsx, verdict, findings[], finding_c…
build_modelGenerate a live-formula Excel workbook (.xlsx) plus its SQLite linkage graph (.graph.db) from a typed YAML spec. Use when the user has (or has just produced) a ModelForge YAML spec and wants the actual workbook — formulas in every cell, scenario toggles, and source-tagged inputs. Takes spec_path and optional output_dir; returns {xlsx, graph_db, evidence, spec, ok} or {error}. The evidence-binding gate runs first (optionally against the source documents in ``dataroom``). A BROKEN or CONTESTED binding — or, with ``evidence_strict``, an UNVERIFIED one — returns {verdict: EVIDENCE_BLOCKED, block…
certifyBuild from a YAML spec (or take an existing workbook) and run the zero-formula-error certification audit. Pass EITHER ``spec_yaml`` (YAML text or a path to a .yaml file — it is validated, built exactly as the CLI `build` command ships it, including the Trust/Moat sheets and the deterministic finishing chain) OR ``workbook_path`` (an already-built .xlsx to audit as-is). The auditor recomputes every formula with the third-party `formulas` engine and flags any Excel error cell (#REF!/#DIV0!/#VALUE!/#NAME?/#NUM!/#N/A) plus numeric cells lacking font colour or number_format. Returns {verdict: CER…
compute_taxCompute corporate income tax (effective rate + total tax) for one of seven jurisdictions from pretax book income. Use when a model or analysis needs a quick jurisdiction-aware tax figure. US, UK, DE, FR, ES, JP are fully wired; IT returns a pointer to the dedicated italian_tax module for full IRES/IRAP inputs. Takes jurisdiction code, pretax_book_income, and optional jurisdiction-specific kwargs; returns {jurisdiction, etr, total_tax} or an error for an unknown code. Conversational loop: helper at STEP 3 — ground a spec's tax-rate assumption in the right jurisdiction while drafting.
data_providers_statusList every registered market-data provider with its tier and an availability flag. Use this FIRST before quote/history/fundamentals/search_filings to see which providers are actually usable in the current environment (free providers work out of the box; paid/institutional ones activate only when their API keys are set). Returns {providers, available_count, total_count}. Conversational loop: outside the core loop — check it before using the market-data tools to ground spec assumptions at STEP 3.
entity_lookupResolve a legal entity by LEI, FIGI, or ticker and return its canonical legal name plus any cross-reference IDs. Use to disambiguate a counterparty or issuer before building a model spec or wiring market data. Takes any one of lei / figi / ticker; returns the resolved Entity record or {error}. Conversational loop: drafting helper at STEP 3 — pin down the exact legal entity a spec's target block refers to.
export_deckRender a certified, hash-stamped board deck (.pptx) from a ModelForge workbook or spec — fail-closed. Pass EITHER ``workbook_path`` (a built .xlsx with its ``<stem>.manifest.json`` sidecar next to it) OR ``spec_path`` (a YAML spec, built exactly as the CLI ``build`` ships it — Trust/Moat sheets, deterministic finishing, manifest — before the deck chain runs). Fail-closed chain: manifest verify → certification audit must be CERTIFIED → supported-template fact extraction (every numeric fact carries its sheet!cell ref) → compose (``ic_memo`` or ``teaser``) + mandatory "Certification & Red Flags…
export_docxGenerate a structured Word memo (.docx) from a built ModelForge workbook. Sections: Executive Summary, Transaction Overview, cited Key Assumptions, Risk Analysis, Recommendation. Use when the user wants a written investment/credit memo derived from a model. Requires the [export] extra (python-docx). Takes xlsx_path and optional output_path; returns {xlsx, docx, ok} or {error}. Conversational loop: STEP 8 (deliverable) — only after certify returns CERTIFIED (or the user accepts a WARN).
export_pptxGenerate an executive PowerPoint deck (.pptx) summarizing a built ModelForge workbook. Use when the user wants a presentation-ready summary of a model for a committee or stakeholder review. Requires the [export] extra (python-pptx). Takes xlsx_path and optional output_path; returns {xlsx, pptx, ok} or {error}. Conversational loop: STEP 8 (deliverable) — only after certify returns CERTIFIED (or the user accepts a WARN).
fundamentalsFetch reported financial statements (income, balance, or cashflow) for a ticker, newest first. Use when the user needs historical fundamentals to seed or sanity-check a model. Takes symbol, statement (income/balance/cashflow), period (annual/quarter), limit, optional prefer provider; returns {symbol, statement, period, data: [...]} or {error}. Conversational loop: market-data helper at STEP 3 (drafting) — seed historical_revenue/EBITDA blocks of a spec from reported figures.
get_spec_schemaReturn the full JSON Schema (draft 2020-12) for a model_type's YAML spec. Use when spec_guide's block list is not enough and you need exact field-level types, enums, ranges, and nested structures while drafting or repairing a spec. Same schema the CLI's `modelforge schema` command emits. Returns {model_type, schema} or {error} for an unknown model_type. Conversational loop: STEP 2 (detail level) — alongside spec_guide, before validate_spec.
historyFetch historical OHLCV price bars for a ticker over a date range and interval. Use when the user needs a price series (e.g. daily bars for the last year, or intraday bars). Takes symbol, interval (1m/5m/1h/1d/1wk/1mo), optional start/end ISO dates, limit, and optional prefer provider; returns {symbol, interval, bars: [...]} or {error}. Conversational loop: market-data helper at STEP 3 (drafting) — e.g. for volatility or historical-growth inputs to a spec.
ingest_dataroomRead a folder of PDFs/XLSXs/CSVs and produce a Pydantic-validated ModelForge YAML spec plus an ingestion report. Use when the user has a directory of raw deal documents and wants to turn them into a buildable spec without hand-coding it. Each extracted field is traced to its source. Requires the [ingest] extra and an Anthropic API key. Takes dataroom_path, template (default project_finance), optional output_spec; returns paths to the YAML + ingestion report + extracted_fields count. Conversational loop: alternative to hand-drafting at STEP 3 when raw deal documents exist — still run validate…
lineage_walkTrace a single output cell back through its drivers to the underlying source document and page. Use when the user asks 'where does this number come from?' or 'show the audit trail for cell X' on a built model. Takes graph_db and a cell reference (e.g. "Returns!E45"); returns an ordered list of upstream hops cell -> driver -> source -> doc page. Conversational loop: STEP 7 (final) — the provenance walk that closes the loop: any number in the certified workbook traces back to a source doc page.
Show 10 more tools
list_sourcesEnumerate the source citations recorded in a model's linkage graph. Returns the doc, page, publisher, date and URL behind each S-NNN reference. Use when an agent needs the provenance list for a built model (e.g. to render a citations table or verify every input is sourced). Takes graph_db (the .graph.db from build_model); returns {graph_db, sources, count} or {error}. Conversational loop: STEP 7 — after a successful build/certify, before or alongside lineage_walk.
list_templatesList every financial-model template the server can build, with a count. Use this FIRST to discover which model types are available (e.g. DCF, three-statement, M&A merger, LBO, project finance, NPL portfolio, structured credit, IPO, restructuring) before calling build_model or ingest_dataroom. Returns {templates: [{name, registered, preview}], count} from the live REGISTRY. Conversational loop: STEP 1 — pick a model_type here, then call spec_guide(model_type) to learn how to author its spec.
perturb_replayShock each input driver ±5% and require the QC conservation invariants to HOLD. The baseline conservation gate recomputes the QC sheet only at the built numbers, so a "total" hardcoded to its baseline value still passes `Total == Σ parts` and certifies clean — a latent input-dependent defect. This compiles the workbook once, shocks every resolved input driver UP and DOWN, recomputes, and re-reads the QC checks. A conservation identity holds two-sided for any inputs, so a check breaking under BOTH directions is a genuine defect; a one-sided break is a legitimate validity threshold and is NOT f…
qc_workbookRun the automated structural QC gate on a ModelForge workbook and return a per-check pass/fail report. Use after build_model (or on any ModelForge .xlsx) to verify it is audit-ready before exporting or sharing. Runs 8 checks: QC-sheet presence, sign-convention declaration, scenario-toggle named range, named-range population, comments on hardcoded cells, source references resolving, print areas, and no orphan sheets. Takes xlsx_path; returns {xlsx, report} or {error}. Conversational loop: STEP 6 (structural pass) — pair with certify, which runs the formula-recalc audit; use both before export…
quoteFetch the latest price quote for a ticker, auto-routed to the best available market-data provider. Use when the user needs a current price for a symbol. Takes a vendor-native symbol (e.g. AAPL, BNP.PA) and an optional ``prefer`` provider to try first; returns the quote fields, or an {error, hint} if no provider is configured. Conversational loop: market-data helper at STEP 3 (drafting) — e.g. to set a spec's share-price or market-cap input from a live quote.
screen_dealsFilter and rank a directory of deal spec YAMLs by quantitative criteria without building each workbook. Use when the user wants to triage many candidate deals — e.g. 'rank all specs with EBITDA margin >= 20% and leverage <= 5x by base-case IRR'. Filter keys support _min (>=), _max (<=), _in (membership), or bare key (equality); rank_by weights are positive (higher better) or negative (lower better). Takes spec_dir, filters, rank_by, top_n (default 25); returns a ranked list of {deal_id, spec_path, summary, score}. Conversational loop: outside the single-model loop — use to pick WHICH spec to…
search_filingsList recent SEC EDGAR filings (10-K, 10-Q, 8-K, etc.) for a US ticker. Use when the user wants to find or link a company's primary filings for due diligence or sourcing. Takes ticker, optional form filter (e.g. 10-K), and limit; returns {ticker, filings: [...]} or {error}. Conversational loop: sourcing helper at STEP 3 (drafting) — a filing makes a strong `sources:` entry (doc, page, publisher, date) for spec inputs.
search_securitiesFree-text search for securities/entities across configured reference data providers, returning the first non-empty result set. Use when the user has a company name or fragment and needs to find the matching ticker/identifier. Takes a query string and limit (default 20); returns {query, results} or {error}. Conversational loop: drafting helper at STEP 3 — resolve a company name to a ticker before quote/fundamentals/search_filings.
spec_guideReturn a concise authoring guide for one model_type: required blocks, Source/Assumption ID rules, a starter example, and the most common validation errors. Use BEFORE drafting a spec so the first draft validates. The ``example_yaml`` is seeded from a shipped, build-ready example (or an honest required-field stub when ``example_is_stub`` is true — currently ipo/restructuring); edit its placeholder values rather than authoring from a blank page. ``required_blocks``/``optional_blocks`` are the legal top-level YAML keys. Returns {model_type, required_blocks, optional_blocks, id_discipline, exampl…
validate_specValidate a draft YAML spec WITHOUT building — the fast pre-flight check. Runs the same friendly validation chain as the CLI's `modelforge validate`: YAML parse errors, non-mapping documents, unknown model_type (with the known list), Pydantic field errors as plain-language one-liners with dotted paths (e.g. "Missing required field: pl.revenue_growth_by_year"), unknown top-level keys as WARNINGS (silent-typo guard), and dangling `*_source_id` references as ERRORS (fabricated-citation guard). ``spec_yaml`` is the YAML text itself (a path to an existing .yaml file also works); optional ``model_t…
Signals
- Stars
- 3
- Forks
- 1
- Open issues
- 0
- Weekly downloads
- 49
- Last commit (this folder)
- Oct 12, 2026 (18 days ago)
- Last release
- Jun 22, 2026 (4 months ago)
- Last package publish
- Jun 22, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.Whatsonyourmind/modelforge- Version
- 0.9.7
- Auth
- API key
- Packages
- pypi modelforge-finance
- License
- Proprietary
- Repository
- github.com/Whatsonyourmind/modelforge
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from Whatsonyourmind
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get Modelforge running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
Modelforge MCP server. Agent Mart. https://agentmart.dev/connectors/whatsonyourmind-modelforge (last updated 2026-10-24)