Skip to content

KB/mcp

MCP tool: read_report

Last verified

read_report returns the platform’s flagship Markdown research report β€” the same report.md the engine writes after every cycle and the dashboard renders on the home page. Call this when market_pulse isn’t enough and you need the full narrative across equity markets, macro, volatility, credit, energy, sectors, gamma walls, Fed Watch, correlations, and β€œwhat changed” since the last cycle.

Signature

read_report(
  filename: str | None = None,  # specific archive name; omit for latest
) -> str                        # JSON-serialised dict

The tool wraps GET /api/v1/reports/latest when no filename is given, or GET /api/v1/reports/{filename} for a specific archive (report-YYYYMMDD-HHMMSS.md shape).

Returns

{
  "filename": "report-20260526-094500.md",
  "date": "2026-05-26",
  "time": "09:45:00",
  "generated_at": "2026-05-26T09:45:00-04:00",
  "content": "# Market Report β€” 2026-05-26 09:45 ET\n\n## Market Overview\n...",
  "previous_filename": "report-20260526-080000.md",
  "next_filename": null
}

Behaviour

Examples

Latest report

Operator: "Read me the latest market report."
Agent: read_report()

Returns the most recent cycle’s full Markdown.

Specific archive

Operator: "What did the report say at the open today?"
Agent: read_report(filename="report-20260526-093100.md")

Walk the archive

Agent: read_report()
  -> previous_filename = "report-20260526-080000.md"
Agent: read_report(filename="report-20260526-080000.md")
  -> previous_filename = "report-20260526-063000.md"

The previous_filename / next_filename chain lets an agent reconstruct a session timeline without a separate listing endpoint.

When to use

When NOT to use

See also