The evidence

Upcoming events

What is ahead for a company, nearest first: the next earnings date projected from its own filing cadence (held, not rolled, marked overdue when lapsed) and trial readouts.

TOOLget_calendar
Server
https://mcp.optimistfi.com/mcp
Authentication
None
Access
Read-only: it changes nothing
Example call
curl https://mcp.optimistfi.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_calendar","arguments":{"entity":"MSFT"}}}'

When a model calls it

Models choose a tool from its description. This is the one the server publishes:

What is ahead for a company, nearest first: the next earnings date projected from its own filing cadence (held, not rolled, marked overdue when lapsed) and trial readouts. Use when the user asks: when does X report next; what's coming up for X. Not for: past events → get_filings; what the earnings were → answer. Args: entity; types; limit.
  • when does X report next
  • what's coming up for X

For something else: get_filings, answer.

Parameters

entitystringrequired

The company: a ticker (AAPL, BRK.B), a company name (Apple) or an SEC CIK.

typesarray of string

Kinds of dated event: "corporate_event" (projected earnings dates) and "fda_event" (clinical trial readouts); unset returns both.

limitintegerdefault 12

Most events, nearest first to return.

Response

A real response to the example call, trimmed: lists cut to two items, long text cut short. The result's content holds the answer as JSON text; parsed, it reads:

result.content · parsed
[
  {
    "entity": {
      "figi": "BBG000BPH459",
      "cik": "0000789019",
      "ticker": "MSFT",
      "name": "MICROSOFT CORP"
    },
    "type": "corporate_event",
    "direction": "forward",
    "event_time": "2026-10-28",
    "confidence": "estimated",
    "source": {
      "name": "computed from SEC 8-K Item 2.02 cadence",
      "url": "https://optimistfi.com",
      "license": "computed"
    },
    "data": {
      "subtype": "earnings",
      "estimate_basis": "median gap 91d over 8 filings",
      "last_reported": "2026-07-29",
      "projected_date": "2026-10-28",
      "status": "projected",
      "days_lapsed": 0
    }
  },
  {
    "entity": {
      "ticker": "MSFT",
      "name": "MICROSOFT CORP"
    },
    "type": "thesis_impact",
    "item": "events",
    "direction": "backward",
    "event_time": "2026-08-28T17:35:13Z",
    "as_of": "2026-08-28T17:35:13Z",
    "confidence": "estimated",
    "source": {
      "name": "OptimistFi — investment thesis to read this data against",
      "url": "https://optimistfi.com/stocks/MSFT",
      "license": "computed"
    },
    "data": {
      "metric": null,
      "analysis_context": {
        "what_this_is": "How this data reads against the company's investment case: the one-line thesis, and for each claim the reading that supports it (helps) and the reading that challenges it (hurts), plus the single condition that would break the case. The interpretation that sits beside the figure.",
        "thesis": "Microsoft converts a broad enterprise footprint, sticky productivity apps, and scale cloud/AI infrastructure into durable, high-margin revenue and massive cash flow that fund reinvestment and shareholder returns.",
        "helps_and_hurts": [
          {
            "claim": "Microsoft’s integrated enterprise footprint and product stack will convert AI-driven enterprise…",
            "helps": "revenue increased year-over-year: 245.12B.0 (FY2024) → 281.72B.0 (FY2025) → 331.84B.0 (FY2026); profile description emphasizes Microsoft\u0002s commitment to making AI broadly available (enterprise go-to-market focus)",
            "hurts": "AWS or Google Cloud captures incremental enterprise AI workloads through superior pricing, features or partnerships…; Large enterprises adopt multicloud or on-prem AI stacks that bypass Azure as the primary consumption path"
          },
          {
            "claim": "The mix toward SaaS and cloud plus scale economics will produce operating leverage such that…",
            "helps": "operating income rose: 109.43B.0 (FY2024) → 128.53B.0 (FY2025) → 155.24B.0 (FY2026); Operating income increased in absolute terms alongside revenue growth, implying existing operating leverage",
            "hurts": "A sustained step-up in capitalized AI infrastructure and R&D (large datacenter buildout or specialized AI hardware…; Competitive price pressure in cloud (from AWS/Google/Specialized AI clouds) forcing margin concessions"
          },
          "… 3 more"
        ],
        "breaks_the_case": "A durable loss of pricing power or cloud share such that Microsoft can no longer convert enterprise AI spend into high-margin revenue — evidenced by persistent margin compression driven by competitive pricing or forced structural change.",
        "full_case": "available via get_thesis"
      }
    }
  }
]

Fields are explained in Reading a response.

Errors

A call the server cannot run (a missing or invalid argument) comes back with isError: true and the reason in words. A company or market the server cannot match comes back as a result naming what was not found. See Errors and limits.
ScoutJUST THIS STORY

LET’S MAKE THIS USEFUL · 1 OF 5

How would you like me to explain this?

Tell me what you want from this read. Start with a quick note, then adjust the details. Your other stories stay as they are.

We’ll remember your view of this story. The published article stays unchanged.

THIS STORY’S READING VIEWStandard · The whole picture

Clear explanations with context. Both sides of the evidence.