TradeAlmanac
TradeAlmanac market data: dividends, screener, sentiment indicators, calendar effects, stock lists.
| Endpoint | https://tradealmanac.com/mcp (streamable-http) |
|---|---|
| Registry version | 2026.10.7 |
| Now | 28 tools · grade D (56) · pin ts_2842ae47f69333143c87d793946780d8 · protocol 2025-06-18 |
| First / last listed | 2026-10-25 01:44 UTC / 2026-10-25 01:44 UTC |
| Grade over time | 2026-10-25: D (56), 28 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: dividends_by_ticker dividends_calendar screener screener_fields sectors list_indicators get_indicator get_indicator_history get_almanac_effect list_rankings get_ranking afgi afgi_history analysis_by_ticker market_overview world_benchmarks currency_reference_rates api_meta watchlists_list watchlist_create watchlist_add_item watchlist_remove_item alerts_list alert_create alert_delete paper_portfolio_state paper_trades_list paper_order_place
dividends_by_ticker | Dividend history and the next payout of ONE security listed on the Moscow Exchange, by ticker. Use it when the question names one company or ticker and asks what it paid, when the record date is or what its dividend yield is. Do not use it to find which companies pay in a given period (dividends_calendar) or to compare securities by yield (screener). Amounts are per share in the currency of the cu params: ticker* |
dividends_calendar | Dividend record dates of ALL Moscow Exchange securities inside a date range, with the announcement status of every payout. Use it when the question is about a period: who pays in December, which record dates fall on next week. Always pass date_from and date_to as YYYY-MM-DD: without them the answer starts from the oldest records on file, not from today. Do not use it for the history of one company params: date_from, date_to, limit, cursor |
screener | Select Moscow Exchange stocks by fundamentals that are already computed: sector, a ceiling on trailing-twelve-month P/E, a floor on dividend yield — sorted by any field of the sort list, in either direction. Use it for "find / which stocks with …" questions and to get multiples, margins and returns of several securities at once; one call with the right sort and sort_dir is enough for "the cheapest params: sector, pe_ttm_max, dividend_yield_min, sort, sort_dir, limit, cursor |
screener_fields | Reference list of the field names the screening engine knows, with their types; accepted=true marks the few the screener tool takes as parameters (sector, pe_ttm_max, dividend_yield_min, sort, sort_dir). Use it only when the user asks what the screener can filter or sort by. It returns no securities and no values: for the selection itself call screener, whose own answer names the unit of every num params: none |
sectors | Sector codes of our classification of Moscow Exchange stocks, with the number of securities in each. Use it to turn a sector named in words into the code for the sector parameter of screener, or to answer which sectors exist. It carries no sector performance, index or sentiment: sector sentiment is an indicator — see list_indicators. params: none |
list_indicators | All indicators the platform calculates, each with its identifier, current value, scale zone and data date: Fear & Greed indices of the Russian market and of its sectors, of the US market, of the crypto market, of Bitcoin and of Ether. Use it when the user asks which indicators exist, when one current value is enough (it is already in the row), or to find the identifier for get_indicator and get_in params: none |
get_indicator | Current value of ONE indicator by identifier: the value on a 0–100 scale, its zone, the data date, the methodology version and the normalised components with their weights. Use it when the user asks what an index shows now and what it is made of: afgi — Russian market, us_sentiment — US market, crypto_fear_greed — crypto market; identifiers of the sector, Bitcoin and Ether indices come from list_i params: spec_id* |
get_indicator_history | Daily series of ONE indicator over a period: date, value on a 0–100 scale, zone, methodology version. Use it for "how has the index changed since …" and for a chart; pass date_from and date_to as YYYY-MM-DD. Do not use it when only the current value is needed (get_indicator or list_indicators). Without a key the last year is served and the full history needs a key; a cut period is marked depth_lim params: spec_id*, date_from, date_to |
get_almanac_effect | Calendar effects computed from history: how the Moscow Exchange index (subject IMOEX) or the government bond index (subject RGBITR) behaved by month (family month, codes month_01 … month_12), by weekday (family weekday, weekday_1 is Monday), around Bank of Russia rate meetings (family cbr), at the turn of a quarter (family quarter) and in the tax week (family tax). Use it for "is there a January e params: subject, family, code |
list_rankings | The ready-made stock rankings of the platform with the date and size of the latest snapshot: undervalued_relative — cheaper than their own history and their sector; fallen_1d, fallen_1w, fallen_1m, fallen_3m, fallen_1y — the ones that fell the most over a day, a week, a month, three months, a year. Use it when the user asks which rankings exist. For the line-up itself call get_ranking with the ide params: lang |
get_ranking | The latest snapshot of ONE ranking: place, ticker, name and sector of every stock, changes in the line-up and the selection rules. Use it for "which stocks are undervalued" (ranking_id undervalued_relative) and "which fell the most over a day / week / month / three months / year" (fallen_1d, fallen_1w, fallen_1m, fallen_3m, fallen_1y). In undervalued_relative the discounts to the stock's own five- params: ranking_id*, lang |
afgi | A former tool name kept for old clients: the current Fear & Greed Index of the Russian market — value on a 0–100 scale, zone and date. Prefer get_indicator with spec_id afgi, which also returns the components. It is the platform's estimate, not exchange data. status=absent means the value for the date was not published. params: none |
afgi_history | A former tool name kept for old clients: daily values of the Fear & Greed Index of the Russian market over a period — value on a 0–100 scale, zone and date. Prefer get_indicator_history with spec_id afgi. It is the platform's estimate, not an exchange figure. status=empty means there are no values in the period. params: date_from, date_to, limit |
analysis_by_ticker | Published write-ups of the platform about ONE security: for each, the question it answers, the verdict, the figures it rests on (already formatted, with their units) and the text. Use it when the user asks whether there is an analysis of a company or wants a qualitative view next to the numbers. Do not use it for dividends, multiples or sentiment. The texts are prepared by the platform's editorial params: ticker*, limit |
market_overview | The markets TradeAlmanac covers, in the order of the edition: for each market its code, name, status (live — its data is on the site), the sections it has (stocks, bonds, funds, futures, dividends and so on), the regular trading hours in the exchange's local time with the time zone, the symbol of the country's main index, the number of instruments on the platform and the page to cite. Use it when params: market, lang |
world_benchmarks | What TradeAlmanac shows as the main of the world in one section — the composition and the order only, exactly as the section page shows them. section=indices: the main stock index of every country in the order of the edition (the home market of the edition first, then the S&P 500, then the rest of the world by market size), followed by the second indices; section=commodities: energy, metals and gr params: section*, lang |
currency_reference_rates | The euro foreign exchange reference rates of the European Central Bank for the major currency pairs of the world and the main cross rates, in the order of the currency page (pairs by share of world turnover, euro–dollar first). Each row: pair, base, quote, rate — units of the quote currency per one unit of the base currency, change_pct against the previous publication, as_of — the publication date params: none |
api_meta | The API describing itself: which data it serves, what it does NOT serve (quotes, candles and the Moscow Exchange instrument directory; of world data — index levels, commodity prices, coin prices, official Bank of Russia rates), rate ceilings and the editions of the contract. Use it when the user asks what the service can do, and when a question needs data you are not sure the service has — a share params: lang |
watchlists_list | List the watchlists of the signed-in user's account: id, name, whether it is the default list, the number of instruments and the Moscow Exchange tickers on each. Pass watchlist_id to get one list with its items — item id, ticker and the user's note; the item id is what watchlist_remove_item takes. Use it to answer "what is on my watchlist" and before changing a list. It returns no prices: this ser params: watchlist_id |
watchlist_create | Create a new private watchlist in the user's account and return its id. Use it only when the user asks for a new list; to put an instrument on a list that already exists call watchlist_add_item. A list with a name that is already taken is refused (watchlist_name_taken), and so is a list beyond the limit of the account (watchlist_limit_reached). This changes the user's account: the list appears the params: name*, description |
watchlist_add_item | Add a Moscow Exchange instrument to one of the user's watchlists by ticker, optionally with a note. watchlist_id comes from watchlists_list. A ticker that is already on the list changes nothing: the existing item is returned and its note is kept. The answer says which happened: added is true when the instrument was put on the list by this call and false when it was already there. Only tickers of t params: watchlist_id*, ticker*, note |
watchlist_remove_item | Remove one instrument from one of the user's watchlists. It takes the id of the list and the id of the item — both from watchlists_list called with watchlist_id; a ticker is not accepted. The removal is immediate, and the note of the item is lost: this server can only add the ticker again without it. Call it only on a direct request of the user. Needs the watchlists permission of the sign-in. params: watchlist_id*, item_id* |
alerts_list | List the alert rules of the signed-in user's account: id, name, type, the instrument or indicator the rule watches, its parameters, whether it is enabled and when it last fired. Use it to answer "what alerts do I have", before creating a rule — to avoid a duplicate — and to get the rule_id that alert_delete takes. It lists rules, not the notifications already delivered. total is the number of rule params: none |
alert_create | Create an alert rule in the user's account; when the rule fires the user gets a notification in the notification centre of the account and in the channels they turned on. rule_type picks the rule — the enum lists what this server accepts now — and params carries its parameters. price_above / price_below: the last price of a Moscow Exchange instrument is at or above / at or below a level; ticker is params: rule_type*, ticker, params*, name |
alert_delete | Delete one alert rule of the user's account by its rule_id, which alerts_list returns. The rule stops firing at once; the notifications it has already sent stay in the history of the account. The deletion cannot be undone: the rule would have to be created again. Call it only on a direct request of the user. Needs the alerts permission of the sign-in. params: rule_id* |
paper_portfolio_state | Read the state of the practice (demo) account of the signed-in user: cash, the value of the account, its positions and the orders that are still open. This is a practice account: the money is virtual and no real order is sent to a broker or an exchange; valuations use stored, delayed quotes. Use it to answer "what is in my practice portfolio", before placing a practice order (available_cash, avail params: none |
paper_trades_list | List the trades (fills) of the practice (demo) account of the signed-in user, newest first. These are simulated trades: the money is virtual, no real order is sent to a broker or an exchange, and none of these trades took place on a real market. Use it to answer "what did I trade on the practice account" and to confirm that an order placed by paper_order_place has filled. Each trade: fill_id, orde params: ticker, limit, cursor |
paper_order_place | Place an order on the practice (demo) account of the signed-in user. It is a practice order: the money is virtual, and no real order is sent to a broker or an exchange — this server has no such path at all. Call it only on a direct request of the user, and tell the user that the account is a practice one. side is buy or sell. lots is the number of LOTS, not shares: one lot is lot_size shares (see params: ticker*, side*, lots*, order_type, limit_price, client_order_id, note |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.