Create Research Report
create_reportSynchronously generate a research report and persist it under the caller's authorship. Two subtypes:
• reverse_dcf — solves the stage-1 free-cash-flow growth rate the market price implies, with a 5×5 sensitivity grid across WACC × terminal-growth assumptions. Returns full markdown + structured JSON + every numerical claim's citation chain to the originating SEC accession.
• thesis — snapshot a saved thesis (via save_thesis) as a frozen narrative report with at-a-glance table, author notes, anchor fundamentals (latest annual), and lineage to the source filing. Later edits to the thesis do NOT propagate — generate a new report to capture new state.
Tier: sample tier rejected — reports are per-author state.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Optional human-supplied title; auto-generated when omitted. | |
| params | No | Reverse-DCF parameters — required for report_type=reverse_dcf. | |
| ticker | No | US-listed ticker — required for report_type=reverse_dcf. Case-insensitive. | |
| thesis_id | No | Id of a saved thesis owned by the caller — required for report_type=thesis. | |
| report_type | Yes | Subtype. `reverse_dcf` requires ticker + params; `thesis` requires thesis_id (from save_thesis / list_theses). | |
| idempotency_key | No | Optional key for at-most-once semantics. Same key from the same user always yields the same report id. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| _meta | Yes | Provenance envelope — data lineage for every MCP response | |
| report | Yes | ||
| markdown | Yes | ||
| sections | Yes | ||
| citations | Yes | ||
| structured | Yes |