The evidence
Dividends and buybacks
How a company returns capital: dividend-rate history with each raise or cut, buyback authorizations beside the cash actually spent, splits and name changes. Forward ex-dates are not served.
get_capital_returnscurl 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_capital_returns","arguments":{"entity":"AAPL","limit":4}}}'When a model calls it
Models choose a tool from its description. This is the one the server publishes:
How a company returns capital: dividend-rate history with each raise or cut, buyback authorizations beside the cash actually spent, splits and name changes. Forward ex-dates are not served. Use when the user asks: did X raise its dividend; is X buying back stock; has X cut it. Args: entity; kind = dividends | buybacks | actions.
- did X raise its dividend
- is X buying back stock
- has X cut it
Parameters
entitystringrequired
The company: a ticker (AAPL, BRK.B), a company name (Apple) or an SEC CIK.
kindstringdefault "dividends"
dividends- the declared per-share dividend over time, each raise or cut named
buybacks- repurchase authorisations beside the cash actually spent
actions- stock splits and name changes
calendar- the declared dividends (forward ex-dates are not served)
Accepts dividends, dividend, buybacks, buyback, repurchase, repurchases, actions, action, corporate_actions, split, splits, name_change, calendar, upcoming, dividend_calendar.
periodsintegerdefault 8
How many of the latest filed periods to read (usually quarters).
limitintegerdefault 10
Most records 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:
[
{
"entity": {
"figi": "BBG000B9XRY4",
"cik": "0000320193",
"ticker": "AAPL",
"name": "Apple Inc."
},
"type": "dividend",
"direction": "backward",
"event_time": "2026-06-27",
"as_of": "2026-07-31",
"confidence": "confirmed",
"source": {
"name": "SEC XBRL 10-Q",
"url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000320193.json",
"license": "public"
},
"data": {
"kind": "dividend_per_share",
"date": "2026-06-27",
"value": 0.27,
"unit": "USD/shares",
"concept": "CommonStockDividendsPerShareDeclared",
"change": "raised",
"previous": 0.26,
"period_start": "2026-03-29",
"form": "10-Q",
"filed": "2026-07-31"
}
},
{
"entity": {
"figi": "BBG000B9XRY4",
"cik": "0000320193",
"ticker": "AAPL",
"name": "Apple Inc."
},
"type": "dividend",
"direction": "backward",
"event_time": "2026-03-28",
"as_of": "2026-05-01",
"confidence": "confirmed",
"source": {
"name": "SEC XBRL 10-Q",
"url": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000320193.json",
"license": "public"
},
"data": {
"kind": "dividend_per_share",
"date": "2026-03-28",
"value": 0.26,
"unit": "USD/shares",
"concept": "CommonStockDividendsPerShareDeclared",
"change": "maintained",
"previous": 0.26,
"period_start": "2025-12-28",
"form": "10-Q",
"filed": "2026-05-01"
}
},
"… 7 more"
]Fields are explained in Reading a response.
Errors
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.