Skip to content
Agentmart
Submit a tool

Modelforge

Bulge-tier financial model factory — live formulas, source-traced cells, 14 templates.

Connector by Whatsonyourmind · GitHub account verified by the MCP Registry

IndexedProprietaryLocal (stdio)★ 3
Write a review

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.

Book a call

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.

We use your email only for this newsletter. Privacy

About

Bulge-tier financial model factory — live formulas, source-traced cells, 14 templates.

No 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_conservation
  • audit_schedule
  • compute_tax
  • data_providers_status
  • entity_lookup
  • fundamentals
  • get_spec_schema
  • history
  • ingest_dataroom
  • list_sources
  • list_templates
  • quote
Show 4 more tools
  • search_filings
  • search_securities
  • spec_guide
  • validate_spec

Write 3 · Create, change, send or run things.

  • build_model
  • certify
  • qc_workbook

Not yet classified 6 · We could not tell from the name and description.

  • export_deck
  • export_docx
  • export_pptx
  • lineage_walk
  • perturb_replay
  • screen_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 code
  • api.gleif.org · found in code
  • api.marketintelligence.spglobal.com · found in code
  • api.openfigi.com · found in code
  • api.polygon.io · found in code
  • api.stlouisfed.org · found in code
  • api.tiingo.com · found in code
  • api.worldbank.org · found in code
  • bloomberg.com · found in code
  • cdn.tailwindcss.com · found in code
  • data-api.ecb.europa.eu · found in code
  • data.sec.gov · found in code
  • datahelpdesk.worldbank.org · found in code
  • developers.lseg.com · found in code
  • docs.anthropic.com · found in code
  • fc.yahoo.com · found in code
  • financialmodelingprep.com · found in code
  • finnhub.io · found in code
  • fred.stlouisfed.org · found in code
  • github.com · found in code
  • in-toto.io · found in code
  • marketplace.spglobal.com · found in code
  • modelforge-collab.workers.dev · found in code
  • openfigi.com · found in code
  • pages.stern.nyu.edu · found in code
  • polygon.io · found in code
  • query1.finance.yahoo.com · found in code
  • query2.finance.yahoo.com · found in code
  • rogo.ai · found in code
  • schemas.openxmlformats.org · found in code
Show 4 more hosts
  • sec.gov · found in code
  • site.financialmodelingprep.com · found in code
  • stripe.com · found in code
  • tiingo.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_conservation

    Recompute 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_schedule

    Flag 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_model

    Generate 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…

  • certify

    Build 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_tax

    Compute 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_status

    List 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_lookup

    Resolve 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_deck

    Render 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_docx

    Generate 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_pptx

    Generate 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).

  • fundamentals

    Fetch 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_schema

    Return 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.

  • history

    Fetch 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_dataroom

    Read 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_walk

    Trace 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_sources

    Enumerate 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_templates

    List 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_replay

    Shock 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_workbook

    Run 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…

  • quote

    Fetch 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_deals

    Filter 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_filings

    List 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_securities

    Free-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_guide

    Return 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_spec

    Validate 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
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.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying Modelforge?

CallGet help
Cite this page

Modelforge MCP server. Agent Mart. https://agentmart.dev/connectors/whatsonyourmind-modelforge (last updated 2026-10-24)