Exposes ModelForge as an MCP tool catalog for AI agents. Deterministic financial model factory with live-formulated cells and source traceability.
ModelForge exposes 22 tools with reasonable naming (verb-first: list_, get_, build_, export_, etc.) and descriptions present for all tools. However, critical gaps undermine quality: (1) Input schemas are visible but lack detailed parameter descriptions, most params have only type and brief text, missing constraints, ranges, and format guidance. (2) Output schemas are NOT documented anywhere in the source; LLMs cannot plan downstream calls or extract structured data. (3) No error handling guidance, tools return success/failure but do not guide recovery (e.g., 'If validation fails, call validate_spec first'). (4) Parameter relationships undocumented (e.g., build_model's optional output_dir and model_type override lack dependency hints). (5) Tool descriptions average ~80 chars, which is adequate but lack WHEN-to-use context and prerequisites. Example: 'build_model' says 'YAML spec → live-formula Excel workbook + SQLite linkage graph' but does not explain when to call it vs certify(), or what happens if the spec is invalid. Per-tool analysis: list_templates, spec_guide, get_spec_schema, validate_spec, build_model, certify, qc_workbook, list_sources, lineage_walk, ingest_dataroom, export_pptx, export_deck, screen_deals, compute_tax, export_docx, data_providers_status, quote, history, fundamentals, search_filings, entity_lookup, search_securities all follow similar pattern, good naming, minimal descriptions, no output schema docs, no error recovery guidance.
YAML spec → live-formula Excel workbook + SQLite linkage graph
build from spec YAML (or audit a workbook) → CERTIFIED/WARN/FAIL
corporate income tax across 7 jurisdictions
list every market-data provider and its availability
resolve an entity by LEI, FIGI, or ticker
certified, hash-stamped board deck (fail-closed: manifest + CERTIFIED audit)
generate IC/credit memo DOCX from a model workbook
Output schemas not documented. LLMs cannot infer what fields tools return, forcing them to guess downstream parameter mappings and plan multi-step calls blindly.
Parameter descriptions lack constraints, ranges, and format guidance. E.g., 'model_type' appears in 5+ tools but no description specifies valid enum values, format, or examples. 'output_dir' lacks path format or default behavior.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
generate executive PPTX from a model workbook
reported financial statements for a ticker
JSON Schema for a model_type's YAML spec
historical OHLCV bars for a ticker
auto-extract validated YAML spec from a directory of PDFs/XLSXs/CSVs
trace cell → driver → source → doc page
enumerate source citations from the linkage graph
discover available financial-model templates
run automated structural QC gate (8 checks)
latest price quote for a ticker
filter and rank deal spec YAMLs by criteria without building
list recent SEC EDGAR filings for a US ticker
free-text search across reference-data providers
authoring guide for one model_type (blocks, ID rules, example)
validate a draft spec WITHOUT building (friendly errors)
No error recovery guidance. Tools like 'validate_spec' and 'build_model' will fail on invalid input, but descriptions do not tell LLMs what to do next (e.g., 'If validation fails, review the error and call spec_guide() for authoring rules').
Tool descriptions lack WHEN-to-use context. E.g., 'certify' vs 'build_model' distinction is unclear, both produce workbooks. Descriptions should explain: 'Use certify() to audit an existing workbook or build+audit in one call; use build_model() for rapid iteration without audit.'
Data provider tools (quote, history, fundamentals, search_filings, entity_lookup, search_securities) lack rate-limit and timeout guidance. No description warns LLMs about API quotas, latency, or fallback behavior if a provider is unavailable.