io.github.AndreiDrang/tokenbel-mcp
Official15 toolsTokenBel Financial Data
Read-only MCP server for Belarusian securities: tokens, shares, bonds, companies.
Look up Belarusian securities including tokens, shares, and bonds.
Captured live from the server via tools/list.
token_get_by_uuid
Get a single token by its TokenBel internal identifier (field name: uuid). Tokens are TokenBel-native tokenized corporate securities on fintech platforms (fainex/finstore/bynex/whitebird), not BCSE-listed tickers. Returns platform, lifecycle status, pricing, coupon rate, and company info.
Parameters (1)
- uuidstringrequired
TokenBel internal identifier: opaque hexadecimal string, usually 8 characters such as "78c7e502"; despite uuid field/tool names, it is not an RFC UUID and normally has no hyphens. Token id, usually discovered via token_list.
token_list
List active tokens with optional filtering by fintech platform and token lifecycle status. Tokens do not have tickers; use this list tool to browse tokenized securities by platform/status. Supports cursor-based pagination.
Parameters (5)
- limitinteger
Max results (1-1000, default 50)
- cursor_uuidstring
TokenBel internal identifier: opaque hexadecimal string, usually 8 characters such as "78c7e502"; despite uuid field/tool names, it is not an RFC UUID and normally has no hyphens. Pagination cursor id from next_cursor before the | delimiter.
- cursor_created_atstring
Pagination cursor datetime (ISO 8601)
- platformstring
Filter by tokenization platform: fainex, finstore, bynex, or whitebird.
- statusstring
Filter by token lifecycle status: SELL_NOT_STARTED (sale not open yet), SELL_IN_PROGRESS (currently selling), SELL_SUSPENDED (sale paused), SOLD_OUT (fully sold), SELL_ENDED (sale ended), CIRCULATION_ENDED (matured/circulation ended), OBLIGATIONS_COMPLETED (issuer obligations completed).
share_get_by_uuid
Get a single BCSE exchange-listed share by its TokenBel internal identifier (field name: uuid). Returns ticker, issuer_uuid/issuer_name, share_kind (common/preferred), nominal value, lot size, and is_trading (traded today, not historical liquidity). Use search_by_ticker first when starting from a ticker.
Parameters (1)
- uuidstringrequired
TokenBel internal identifier: opaque hexadecimal string, usually 8 characters such as "78c7e502"; despite uuid field/tool names, it is not an RFC UUID and normally has no hyphens. Share id, usually discovered via search_by_ticker.
share_list
List active BCSE exchange-listed shares with optional filtering by securities issuer TokenBel internal id (parameter name: issuer_uuid) and today-trading flag. Use issuer_uuid from search_by_name results where entity_type="issuer". Supports cursor-based pagination.
Parameters (5)
- limitinteger
Max results (1-1000, default 50)
- cursor_uuidstring
TokenBel internal identifier: opaque hexadecimal string, usually 8 characters such as "78c7e502"; despite uuid field/tool names, it is not an RFC UUID and normally has no hyphens. Pagination cursor id from next_cursor before the | delimiter.
- cursor_created_atstring
Pagination cursor datetime (ISO 8601)
- issuer_uuidstring
TokenBel internal identifier: opaque hexadecimal string, usually 8 characters such as "78c7e502"; despite uuid field/tool names, it is not an RFC UUID and normally has no hyphens. Filter by security_issuer id from search_by_name result with entity_type="issuer".
- is_tradingboolean
Filter by is_traded_today flag: true means traded today, not historical liquidity
share_payouts_get
Get dividend/payout history and an aggregate summary for a single share by its TokenBel internal identifier (field name: uuid). Use search_by_ticker to find a share, then call this tool with the returned uuid value. Event period_type is annual/halfyear/quarterly. Event status meanings: declared = payout declared/expected/paid depending on dates, no_dividend = issuer declared no payout, cancelled = revoked. Summary money totals use declared events only. dividend_yield_pct is a nominal-based proxy (latest declared amount / nominal value * 100), not a market-price dividend yield.
Parameters (1)
- uuidstringrequired
TokenBel internal identifier: opaque hexadecimal string, usually 8 characters such as "78c7e502"; despite uuid field/tool names, it is not an RFC UUID and normally has no hyphens. Share id, usually discovered via search_by_ticker.
bond_get_by_uuid
Get a single BCSE exchange-listed bond by its TokenBel internal identifier (field name: uuid). Returns ticker, issuer_uuid/issuer_name, bond_kind, current coupon/annual yield rate, payment type, maturity date, and is_trading (traded today). Use search_by_ticker first when starting from a ticker. Trading history is available via trading_stats_get; no separate bond payout schedule is exposed by this worker.
Parameters (1)
- uuidstringrequired
TokenBel internal identifier: opaque hexadecimal string, usually 8 characters such as "78c7e502"; despite uuid field/tool names, it is not an RFC UUID and normally has no hyphens. Bond id, usually discovered via search_by_ticker.
bond_list
List active BCSE exchange-listed bonds with optional filtering by securities issuer TokenBel internal id (parameter name: issuer_uuid) and today-trading flag. Use issuer_uuid from search_by_name results where entity_type="issuer". Supports cursor-based pagination.
Parameters (5)
- limitinteger
Max results (1-1000, default 50)
- cursor_uuidstring
TokenBel internal identifier: opaque hexadecimal string, usually 8 characters such as "78c7e502"; despite uuid field/tool names, it is not an RFC UUID and normally has no hyphens. Pagination cursor id from next_cursor before the | delimiter.
- cursor_created_atstring
Pagination cursor datetime (ISO 8601)
- issuer_uuidstring
TokenBel internal identifier: opaque hexadecimal string, usually 8 characters such as "78c7e502"; despite uuid field/tool names, it is not an RFC UUID and normally has no hyphens. Filter by security_issuer id from search_by_name result with entity_type="issuer".
- is_tradingboolean
Filter by is_traded_today flag: true means traded today, not historical liquidity
company_get_by_uuid
Get a single company catalogue row by its TokenBel internal identifier (field name: uuid). Returns name, full_name, UNP (Belarusian tax ID), industry, logo, and activity flag. Companies are not always the same row as securities issuers; use search_by_name to discover both companies and issuers.
Parameters (1)
- uuidstringrequired
TokenBel internal identifier: opaque hexadecimal string, usually 8 characters such as "78c7e502"; despite uuid field/tool names, it is not an RFC UUID and normally has no hyphens. Company id, usually from search_by_name entity_type="company".
company_list
List active company catalogue rows with optional filtering by industry. This does not list security_issuer rows directly; use search_by_name to find issuers and then share_list/bond_list with issuer_uuid. Supports cursor-based pagination.
Parameters (4)
- limitinteger
Max results (1-1000, default 50)
- cursor_uuidstring
TokenBel internal identifier: opaque hexadecimal string, usually 8 characters such as "78c7e502"; despite uuid field/tool names, it is not an RFC UUID and normally has no hyphens. Pagination cursor id from next_cursor before the | delimiter.
- cursor_created_atstring
Pagination cursor datetime (ISO 8601)
- industrystring
Filter by company_industry.name exact value
search_by_ticker
Search BCSE exchange-listed shares and bonds by ticker (case-insensitive substring match). Tokens are excluded because they do not have ticker symbols. Use the returned uuid value as an opaque TokenBel internal id (usually 8 hex chars, not an RFC UUID) with share_get_by_uuid/bond_get_by_uuid, share_payouts_get for share rows, or trading_stats_get for either share/bond row. Returns entity_type, ticker, issuer_uuid, issuer_name, and is_trading (traded today).
Parameters (2)
- querystringrequired
Ticker search query for listed shares/bonds only (case-insensitive substring, e.g. 'MTB' matches 'MTBank')
- limitinteger
Max results (1-100, default 20)
search_by_name
Search companies AND securities issuers by name, full name, or UNP (Belarusian tax ID). Results are tagged with entity_type: "company" (use company_get_by_uuid) or "issuer" (use uuid as issuer_uuid in share_list/bond_list). The returned uuid/issuer_uuid values are opaque TokenBel internal ids (usually 8 hex chars, not RFC UUIDs). Companies and issuers are different tables and may overlap; linked_company_uuid connects an issuer to a company when known.
Parameters (2)
- querystringrequired
Company/issuer name or UNP (Belarusian tax ID) search query; case-insensitive, e.g. 'bank' matches 'MTBank', 'Priorbank'
- limitinteger
Max results (1-100, default 20)
currency_rate_get
Get NBRB (National Bank of Belarus) official FX rates against BYN (Belarusian ruble) for USD, EUR, and/or RUB. Rates are BYN per 1 unit of foreign currency. Modes: latest (no dates), single_date (date), range (date_from/date_to, either bound optional), or grouped weekly/monthly aggregates (group_by + range). Only usd/eur/rub are supported; BYN is the implicit base currency.
Parameters (5)
- currencystring
Filter to one supported foreign currency: usd, eur, or rub. Omit to return all three. BYN is the base currency, not a target.
- datestring
Single date in YYYY-MM-DD format. Mutually exclusive with date_from/date_to.
- date_fromstring
Range start date in YYYY-MM-DD format (inclusive). Can be omitted for open-start range.
- date_tostring
Range end date in YYYY-MM-DD format (inclusive, >= date_from). Open-ended or today-bounded ranges bypass cache.
- group_bystring
Aggregate by week or month. Requires a date range (date_from/date_to), not a single date.
trading_stats_get
Get trading statistics for a BCSE exchange-listed share or bond by TokenBel internal identifier (field name: uuid). Use search_by_ticker first. Modes: latest_30d (default, no dates) reads the refreshed 30-day materialized view and includes latest price/yield plus yield_wavg; range (both date_from and date_to, YYYY-MM-DD, inclusive) aggregates raw trade history live and returns yield_min/yield_max only — yield_wavg and all *_latest fields are null in range mode. Omit both dates or provide both; one bound is rejected. Both modes also return daily_series: one point per trade_date (same-day buckets collapsed across market_type/trade_mode/payment_code) with per-day turnover, transactions, price_wavg/min/max, and yield_min/max — no range-level rollup.
Parameters (3)
- uuidstringrequired
TokenBel internal identifier: opaque hexadecimal string, usually 8 characters such as "78c7e502"; despite uuid field/tool names, it is not an RFC UUID and normally has no hyphens. Listed share or bond id, usually discovered via search_by_ticker.
- date_fromstring
Range start date YYYY-MM-DD (inclusive). Provide both date_from and date_to for range mode; omit both for latest_30d mode.
- date_tostring
Range end date YYYY-MM-DD (inclusive, >= date_from). Provide both date_from and date_to for range mode; ranges ending today bypass cache.
token_trading_stats_get
Get primary-market sales statistics for a token by its TokenBel internal identifier (field name: uuid). Returns a per-day series of tokens sold (derived from the cumulative instrument_log.sold counter), range totals, and a token snapshot (status, token_price, percent_rate, sold_total, total_tokens, sold_pct). Find the id via token_list first. Always a date range: omit both dates for the last 30 days, or provide date_from and/or date_to. Secondary-market data is not included.
Parameters (3)
- uuidstringrequired
TokenBel internal identifier: opaque hexadecimal string, usually 8 characters such as "78c7e502"; despite uuid field/tool names, it is not an RFC UUID and normally has no hyphens. Token id, usually discovered via token_list.
- date_fromstring
Range start date YYYY-MM-DD (inclusive). Defaults to date_to minus 30 days when omitted.
- date_tostring
Range end date YYYY-MM-DD (inclusive, >= date_from). Defaults to today when omitted.
company_financial_params_get
Get financial parameters for a company or securities issuer by TokenBel internal identifier (field name: uuid). Returns periodic financial statement metrics (balance, equity, long/short-term assets and liabilities) and calculated financial ratios (liquidity, leverage, independence, stability, capitalization). Accepts a company id or an issuer id — issuer ids are resolved to their linked company. Find the id via search_by_name first.
Parameters (2)
- uuidstringrequired
TokenBel internal identifier: opaque hexadecimal string, usually 8 characters such as "78c7e502"; despite uuid field/tool names, it is not an RFC UUID and normally has no hyphens. Company or issuer id, usually discovered via search_by_name.
- limit_periodsinteger
Max number of periods to return (newest first). Default 8.
README not available yet.
Install
claude_desktop_config.json
{
"mcpServers": {
"tokenbel-mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.tokenbel.info/mcp"
]
}
}
}Desktop config is stdio-only; this bridges via mcp-remote. Native remote: Settings > Connectors.