Skip to content

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.

Final · 1

19 tools: 1 do something that can't be undone and 18 only read.

Scanned Oct 21, 2026

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/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "share_payouts_get" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched 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.

    What this check looks for

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
  • share_payouts_getGet a share's dividend events and declared-payout summary.1 finding

    Why it is in this group

    • The name "share_payouts_get" says "payout": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "share_payouts_get" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched 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.

      What this check looks for
    Description, as the server wrote it
    Get a share's dividend events and declared-payout summary. dividend_yield_pct uses nominal value, not market price; no_dividend/cancelled events are excluded from money totals. Example: {"uuid":"a97f1fed"}.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
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_shares_listList a company's active share summary cards and next_cursor.No findings

    Why it is in this group

    • The name "company_shares_list" says "list": a word for reading.
    Description, as the server wrote it
    List a company's active share 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_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
  • share_get_by_uuidGet a BCSE share's ticker, issuer, nominal value and trading-today flag.No findings

    Why it is in this group

    • The name "share_get_by_uuid" says "get": a word for reading.
    Description, as the server wrote it
    Get a BCSE share's ticker, issuer, nominal value and trading-today flag. Resolve tickers with search_by_ticker first. Example: {"uuid":"a97f1fed"}.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
  • share_listList active BCSE shares by issuer and trading-today status; returns shares and next_cursor.No findings

    Why it is in this group

    • The name "share_list" says "list": a word for reading.
    Description, as the server wrote it
    List active BCSE shares by issuer and trading-today status; returns shares and next_cursor. Use an issuer row from search_by_name. Example: {"issuer_uuid":"0d3bf3be","limit":20}.

    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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.