canli-mcp / Earnings calendar
How do I get an earnings calendar in an AI chat?
Ask canli-mcp's earnings_calendar tool, for one company or the market. earnings_release then reads the release itself, with guidance as ranges and last quarter's guidance set against the results.
Free and MIT-licensed. No account and no API key. Or run claude mcp add canli -- npx -y canli-mcp in Claude Code.
Ask it
When does Microsoft report earnings, and when did it report before?
The agent finds the tool through canli-mcp's find_tool and runs it through run_tool. This is the call:
{
"name": "earnings_calendar",
"arguments": {
"company": "MSFT",
"quarters": 4
}
}What came back
Recorded from canli-mcp 0.11.1 on 2026-10-25, with no API key set. The model read 2,744 characters.
| date | weekday | accepted et | timing | quarter ended | accession | url |
|---|---|---|---|---|---|---|
| 2026-07-29 | Wednesday | 16:04 | after the close | 2026-06-30 | 0001193125-26-323632 | source |
| 2026-04-29 | Wednesday | 16:03 | after the close | 2026-03-31 | 0001193125-26-191457 | source |
| 2026-01-28 | Wednesday | 16:04 | after the close | 2025-12-31 | 0001193125-26-027198 | source |
| 2025-10-29 | Wednesday | 16:07 | after the close | 2025-09-30 | 0001193125-25-256310 | source |
The result earnings_calendar sent back, in full form
{
"ref": "r16",
"company": {
"cik": 789019,
"name": "MICROSOFT CORP",
"ticker": "MSFT",
"fiscal_year_end": "0630"
},
"as_of": "2026-10-25",
"next": {
"expected": "2026-10-28",
"weekday": "Wednesday",
"window_days": 3,
"earliest": "2026-10-25",
"latest": "2026-10-31",
"basis": "52 weeks after 2025-10-29, the release that followed the same quarter a year earlier",
"based_on": "2025-10-29",
"status": "due now",
"year_on_year_moves_days": [
8,
1,
6,
1,
0,
0,
"…"
],
"last_year_timing": "after the close"
},
"releases": {
"columns": [
"date",
"weekday",
"accepted_et",
"timing",
"quarter_ended",
"accession",
"…"
],
"rows": [
[
"2026-07-29",
"Wednesday",
"16:04",
"after the close",
"2026-06-30",
"0001193125-26-323632",
"…"
],
[
"2026-04-29",
"Wednesday",
"16:03",
"after the close",
"2026-03-31",
"0001193125-26-191457",
"…"
],
[
"2026-01-28",
"Wednesday",
"16:04",
"after the close",
"2025-12-31",
"0001193125-26-027198",
"…"
],
[
"2025-10-29",
"Wednesday",
"16:07",
"after the close",
"2025-09-30",
"0001193125-25-256310",
"…"
]
]
},
"note": "Dates are when the company filed its results 8-K (Item 2.02); accepted_et is when EDGAR accepted it, usually minutes after the press release…",
"source": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=789019&type=8-K&dateb=&owner=include&count=40",
"limits": [
"From the company's own 8-K filings on EDGAR, as filed. Foreign private issuers furnish results on Form 6-K, which has no item numbers, and a…",
"Not investment advice."
]
}Prices, filings and statistics are as the sources published them on that day; run the call again for today's. Nothing here is investment advice.
The tools behind the answer
| Tool | Pack | What it does |
|---|---|---|
earnings_calendar | markets | Earnings dates from the companies' own 8-Ks (Item 2.02, results of operations). For a company: its recent results releases with the quarter each covered and whether it came before the open or after the close (EDGAR's acceptance time), and the next release estimated from the same quarter a year earlier, with a window. Across the market: who is due to report in a window, from when they reported in the same weeks last year, marked once they have. Estimates, not announcements. |
earnings_release | markets | A quarter's results press release (8-K Item 2.02): the headline, the results it states (each with the part of the business it belongs to and what a change is measured against), its guidance parsed into ranges (low, high, midpoint, unit, measure, basis, period, and the sentence or table row), and the previous release's guidance for this quarter set against the company's results: above, within or below the range, in basis points for rates. |
Add canli-mcp
claude mcp add canli -- npx -y canli-mcp{ "mcpServers": { "canli": { "command": "npx", "args": ["-y", "canli-mcp"] } } }https://canlicapital.com/mcp/canliEverything canli-mcp does · How it compares with other finance MCP servers
