Save Investment Thesis
save_thesisPersist a directional investment thesis (bull / bear / neutral) on a ticker. The thesis becomes part of the caller's private research diary; pair with list_theses + score_thesis_outcome to track conviction-vs-outcome over time. Pass idempotency_key for at-most-once semantics from a retrying agent.
Use this AFTER the agent has finished its analysis, not before — the thesis records the conclusion, not the question. Pair with source_report_id to link the thesis back to a published report so the buyer's thesis-tracking carries provenance.
Tier: all paid + free tiers (sample tier rejected — sample is guest access with no customerId binding). Flat 10,000-thesis anti-abuse cap per account (archiving frees a slot; never a tier limit).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| view | Yes | Directional view: bull (expect outperformance), bear (under), neutral (mean-revert). | |
| notes | No | Free-form rationale, ≤4000 chars. Stored verbatim; trim before submitting. | |
| ticker | Yes | US-listed ticker. Case-insensitive — normalised to upper. E.g. 'AAPL'. | |
| conviction | Yes | 1 = low conviction (gut feel) → 5 = high conviction (deep analysis). | |
| visibility | No | Phase 3: 'private' (default) is owner-only; 'unlisted' is visible at a known direct URL; 'public' surfaces on the author's /[handle] profile and contributes to their reputation score. | private |
| horizon_days | Yes | Investment horizon in days. 1 day–5 years (1825d). The grader uses this to pick the as-of period. | |
| idempotency_key | No | Optional client-supplied key. If a previous `save_thesis` from the same user used this key, the existing thesis is returned instead of creating a duplicate. | |
| source_report_id | No | Optional id of a report (from `create_report` / `publish_report`) that contains the supporting analysis. | |
| thesis_at_price_cents | No | Optional snapshot of the ticker's market price (integer cents) at thesis creation. Used by future versions of the grader that mix in price returns; null for now is fine. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| _meta | Yes | Provenance envelope — data lineage for every MCP response | |
| thesis | Yes | ||
| capacity | Yes | ||
| deduplicated | Yes |