TokenBel Financial Data
by AndreiDrang · remote · no sign-in to list tools · v1.0.1 · published by GitHub user AndreiDrang
Read-only MCP server for Belarusian securities: tokens, shares, bonds, companies.
19 tools: 1 do something that can't be undone and 18 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things0Claude Code: ask
- Only reads18Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http tokenbel https://mcp.tokenbel.dev/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "share_payouts_get" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"idempotentHint":true}; The name "share_payouts_get" says "payout": a word that usually means money moves, which cannot be taken back.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
19 tools
Can't be undone 1Claude Code: ask
Only reads 18Claude Code: allow
bond_get_by_uuidGet a BCSE bond's ticker, issuer, coupon, maturity and trading-today flag.No findings
Why it is in this group
- The name "bond_get_by_uuid" says "get": a word for reading.
Description, as the server wrote it Get a BCSE bond's ticker, issuer, coupon, maturity and trading-today flag. Resolve tickers with search_by_ticker first. Example: {"uuid":"76f01f65"}.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
bond_listList active BCSE bonds by issuer and trading-today status; returns bonds and next_cursor.No findings
Why it is in this group
- The name "bond_list" says "list": a word for reading.
Description, as the server wrote it List active BCSE bonds by issuer and trading-today status; returns bonds and next_cursor. Use an issuer row from search_by_name. Example: {"issuer_uuid":"45aca6f7","limit":20}.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
company_bonds_listList a company's active bond summary cards and next_cursor.No findings
Why it is in this group
- The name "company_bonds_list" says "list": a word for reading.
Description, as the server wrote it List a company's active bond summary cards and next_cursor. Accepts a company or linked issuer id. Example: {"uuid":"0d3bf3be","limit":20}.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
company_financial_params_getGet a company's financial statement metrics and ratios, newest periods first.No findings
Why it is in this group
- The name "company_financial_params_get" says "get": a word for reading.
Description, as the server wrote it Get a company's financial statement metrics and ratios, newest periods first. Accepts a company or linked issuer id from search_by_name. Example: {"uuid":"311ff09f","limit_periods":4}.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
company_get_by_uuidGet a company catalogue row, including name, UNP, industry and activity flag; includes inactive companies.No findings
Why it is in this group
- The name "company_get_by_uuid" says "get": a word for reading.
Description, as the server wrote it Get a company catalogue row, including name, UNP, industry and activity flag; includes inactive companies. Find company IDs with search_by_name. Example: {"uuid":"730f9a9e"}.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
company_listBrowse active companies by industry; returns companies and next_cursor, not issuer rows.No findings
Why it is in this group
- The name "company_list" says "list": a word for reading.
Description, as the server wrote it Browse active companies by industry; returns companies and next_cursor, not issuer rows. For issuers use search_by_name. Example: {"limit":20}.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
company_tokens_listList a company's active token summary cards and next_cursor.No findings
Why it is in this group
- The name "company_tokens_list" says "list": a word for reading.
Description, as the server wrote it List a company's active token summary cards and next_cursor. Accepts a company or linked issuer id. Example: {"uuid":"7b860c81","limit":20}.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
currency_rate_getGet NBRB FX rates in BYN per 1 USD/EUR/RUB.No findings
Why it is in this group
- The name "currency_rate_get" says "get": a word for reading.
Description, as the server wrote it Get NBRB FX rates in BYN per 1 USD/EUR/RUB. No dates = latest; date = one day; date_from/date_to = range; group_by + both bounds = weekly/monthly averages. Example: {"currency":"usd","date":"2026-06-18"}.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
entity_news_listList published news across a company/issuer and linked securities; returns events with links, tags and next_cursor.No findings
Why it is in this group
- The name "entity_news_list" says "list": a word for reading.
Description, as the server wrote it List published news across a company/issuer and linked securities; returns events with links, tags and next_cursor. Filter by event/impact type or date. Example: {"uuid":"f2c03989","impact_types":["negative"]}.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
search_by_nameFind companies and securities issuers by name or UNP; results tag entity_type.No findings
Why it is in this group
- The name "search_by_name" says "search": a word for reading.
Description, as the server wrote it Find companies and securities issuers by name or UNP; results tag entity_type. Use company uuid for company_get_by_uuid, issuer uuid for share_list/bond_list; linked_company_uuid joins them when known. Example: {"query":"Агрофинанс"}.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
search_by_tickerFind BCSE shares/bonds by ticker substring; returns entity_type and TokenBel uuid for detail or trading tools.No findings
Why it is in this group
- The name "search_by_ticker" says "search": a word for reading.
Description, as the server wrote it Find BCSE shares/bonds by ticker substring; returns entity_type and TokenBel uuid for detail or trading tools. Tokens have no tickers. Example: {"query":"ASB"}.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
token_get_by_uuidGet a token's platform, sale status, price, rate and issuer.No findings
Why it is in this group
- The name "token_get_by_uuid" says "get": a word for reading.
Description, as the server wrote it Get a token's platform, sale status, price, rate and issuer. Tokens have no tickers; find the id with token_list. Example: {"uuid":"78c7e502"}.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
token_listBrowse active tokenized securities by platform or sale status; returns tokens and next_cursor.No findings
Why it is in this group
- The name "token_list" says "list": a word for reading.
Description, as the server wrote it Browse active tokenized securities by platform or sale status; returns tokens and next_cursor. Tokens have no tickers. Example: {"platform":"finstore","limit":20}.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
token_trading_stats_getGet a token's primary-market tokens-sold daily series, totals and snapshot; not secondary trading.No findings
Why it is in this group
- The name "token_trading_stats_get" says "get": a word for reading.
Description, as the server wrote it Get a token's primary-market tokens-sold daily series, totals and snapshot; not secondary trading. No dates = last 30 days; either date bound is allowed. Find the id with token_list. Example: {"uuid":"78c7e502"}.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
trading_stats_getGet share/bond trading totals and daily_series.No findings
Why it is in this group
- The name "trading_stats_get" says "get": a word for reading.
Description, as the server wrote it Get share/bond trading totals and daily_series. No dates = latest 30 days; both dates = range (yield_wavg and *_latest are null). Find the id with search_by_ticker. Example: {"uuid":"a97f1fed","date_from":"2026-06-01","date_to":"2026-06-30"}.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http tokenbel https://mcp.tokenbel.dev/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__tokenbel__token_get_by_uuid",
"mcp__tokenbel__token_list",
"mcp__tokenbel__share_get_by_uuid",
"mcp__tokenbel__share_list",
"mcp__tokenbel__bond_get_by_uuid",
"mcp__tokenbel__bond_list",
"mcp__tokenbel__company_get_by_uuid",
"mcp__tokenbel__company_list",
"mcp__tokenbel__search_by_ticker",
"mcp__tokenbel__search_by_name",
"mcp__tokenbel__currency_rate_get",
"mcp__tokenbel__trading_stats_get",
"mcp__tokenbel__token_trading_stats_get",
"mcp__tokenbel__company_financial_params_get",
"mcp__tokenbel__company_tokens_list",
"mcp__tokenbel__company_shares_list",
"mcp__tokenbel__company_bonds_list",
"mcp__tokenbel__entity_news_list"
],
"ask": [
"mcp__tokenbel__share_payouts_get"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as tokenbel. Review it before you use it.
