Serveur MCP

TokenBank — tokenized real-world assets

world.tokenbank/tokenbank
Crypto et Web3 Finance et investissement Public et accessible MCP 2026-07-28

Ce que fait ce MCP

Searches and compares tokenized real-world assets by yield, risk, custody, eligibility, geographic availability, issuer, and verification status.

compare_assets
Put two or more instruments side by side on the fields that decide between them: yield, risk, minimum, custody, the three access gates, EU availability, issuer and verification date. Use for "X vs Y" questions instead of calling get_product_details repeatedly.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['tickers'], 'properties': {'tickers': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 6, 'minItems': 2, 'description': 'e.g. ["USDY", "OUSG", "BUIDL"]'}}}
Schéma de sortie
{'type': 'object', 'required': ['compared'], 'properties': {'compared': {'type': 'array', 'items': {'type': 'object'}}, 'notFound': {'type': 'array', 'items': {'type': 'string'}}, 'readThis': {'type': 'array', 'items': {'type': 'string'}}}}
compare_tokenized_access
For a security tokenized by more than one issuer, return every token on it with a verdict on WHO MAY BUY each. This is the right tool for "which tokenized Apple should I buy?" — a question that cannot be answered from a token list, because the tokens differ mainly in eligibility. Hundreds of securities here are tokenized more than once — Apple exists as seven separate tokens — and in most of them the answer differs between them: one is offered to EU retail, another is gated to MiFID II professional clients, a third states nothing at all. The response carries the exact counts; do not quote a figure from this description. Call this before recommending any tokenized stock. Omit `query` to list every such security.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max results (default 10)'}, 'query': {'type': 'string', 'description': 'Company name, underlying ticker or ISIN — e.g. "Apple", "AAPL", "US0378331005". Omit to list all.'}, 'reach': {'enum': ['retail', 'professional', 'closed', 'unknown'], 'type': 'string', 'description': 'Only underlyings with at least one instrument of this reach. Use "retail" to find what a normal EU investor can buy.'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Skip this many matches before returning. Use the nextOffset from the previous answer to walk the whole set; its absence means you reached the end.'}, 'split_only': {'type': 'boolean', 'description': 'Only securities where the reach DIFFERS between their tokens — i.e. the company is buyable, but not through every token on it. Default false.'}}}
Schéma de sortie
{'type': 'object', 'required': ['matched', 'underlyings'], 'properties': {'matched': {'type': 'integer'}, 'nextOffset': {'type': 'integer', 'description': 'Pass as offset to fetch the next page; absent when there is no more'}, 'underlyings': {'type': 'array', 'items': {'type': 'object'}}}}
compare_with_savings_account
Compare low-risk, instant-access crypto savings instruments against a typical bank savings account rate. Returns the honest trade-offs, not just the bigger number.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'eu_only': {'type': 'boolean', 'description': 'Optional: restrict to EU-available instruments. Default false — everything is shown, each row carries an euAvailable flag instead.'}, 'bank_rate_pct': {'type': 'number', 'description': "Your bank's rate in percent (default 2.0)"}}}
Schéma de sortie
{'type': 'object', 'required': ['bankRatePct', 'instruments'], 'properties': {'bankRatePct': {'type': 'number'}, 'instruments': {'type': 'array', 'items': {'type': 'object'}}, 'honestTradeoffs': {'type': 'array', 'items': {'type': 'string'}}}}
find_permissionless_assets
Instruments a self-custody wallet can buy without KYC and hold itself. This is the question a token list cannot answer: for real-world assets the gate to MINT and the gate to BUY on a secondary market routinely differ, so a fund can be permissioned at the issuer while its token trades freely. Strict by design — an instrument whose access is merely unverified is excluded, not included.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max results (default 20)'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Skip this many matches before returning. Use the nextOffset from the previous answer to walk the whole set; its absence means you reached the end.'}, 'pillar': {'enum': ['Fixed Income', 'Real Assets', 'Market Tokens', 'Staking'], 'type': 'string', 'description': 'Limit to one category pillar'}, 'eu_only': {'type': 'boolean', 'description': 'Only instruments explicitly stated as EU-available'}, 'min_yield_pct': {'type': 'number', 'description': 'Minimum comparable yield in percent'}, 'include_unverified': {'type': 'boolean', 'description': 'Default false. When true, also returns instruments whose secondary-market gate is unknown — clearly flagged. Use only when the user asked what MIGHT be open, never to answer what IS open.'}}}
Schéma de sortie
{'type': 'object', 'required': ['count', 'results'], 'properties': {'count': {'type': 'integer'}, 'results': {'type': 'array', 'items': {'type': 'object'}}, 'nextOffset': {'type': 'integer', 'description': 'Pass as offset to fetch the next page; absent when there is no more'}, 'unverified': {'type': 'integer', 'description': 'Possibly open, not confirmed — excluded from results'}, 'confirmedOpen': {'type': 'integer', 'description': 'Verified as buyable without KYC'}, 'totalMatching': {'type': 'integer'}}}
find_tokenized_security
Does a tokenized version of a given company, ETF or bond exist, and from which issuer? Searches the whole imported tier by company name, ticker or ISIN: Backed / xStocks, Ondo Global Markets, Swiss SME share registers from Aktionariat, tokenized property from Binaryx, and an aggregated tier covering Dinari, Coinbase, Robinhood Chain, bStocks, Anchored Finance and others. Use this BEFORE saying a stock is not available on-chain. THREE THINGS MATTER IN THE ANSWER: (1) many companies are issued SEVERAL times over — Apple exists as seven different tokens — and those are not duplicates. They differ in issuer, legal form and, decisively, in WHO MAY BUY THEM: Backed xStocks reach EU retail via Kraken, Ondo Stocks are offered inside the EEA to MiFID II professional clients only. Always report the eligibility line, not just that the token exists. (2) Sources differ in AUTHORITY. Issuer catalogues state what that issuer issued, including access terms. The aggregated rows only observe that a token exists: they carry no eligibility, no KYC gate and no custody claim, so never turn one into an availability answer. (3) This is identity data: the source states no yield, no minimum and no risk grade, so those fields are absent rather than zero. For instruments that do carry a comparable rate, use search_yield_products instead.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['query'], 'properties': {'line': {'enum': ['xstocks', 'btokens'], 'type': 'string', 'description': 'Backed only. xstocks = retail line via Kraken; btokens = older DeFi line, primary issuance for eligible investors only.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max results (default 20)'}, 'query': {'type': 'string', 'description': 'Company name, ticker or ISIN — e.g. "Apple", "AAPL", "US0378331005", "Silver Trust"'}, 'issuer': {'enum': ['backed', 'ondo'], 'type': 'string', 'description': 'Restrict to one issuer. Omit to search both, which is usually what you want — the comparison between them is the useful part.'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Skip this many matches before returning. Use the nextOffset from the previous answer to walk the whole set; its absence means you reached the end.'}, 'include_halted': {'type': 'boolean', 'description': 'Include instruments Backed has flagged as trading-halted. Default false.'}}}
Schéma de sortie
{'type': 'object', 'required': ['matched', 'instruments'], 'properties': {'matched': {'type': 'integer'}, 'readThis': {'type': 'array', 'items': {'type': 'string'}}, 'catalogues': {'type': 'object'}, 'nextOffset': {'type': 'integer', 'description': 'Pass as offset to fetch the next page; absent when there is no more'}, 'instruments': {'type': 'array', 'items': {'type': 'object'}}, 'issuedByMoreThanOneIssuer': {'type': 'array', 'items': {'type': 'string'}}}}
get_market_coverage
Which countries this dataset can see into, which it cannot, and why — the question "what is tokenized in Japan / Korea / Brazil / India" answers from here rather than from a general search. This matters because the honest answer is uncomfortable: roughly $9bn of tokenized securities sits in markets NO Western aggregator indexes, this one included. Japan holds over ¥1tn on a permissioned consortium chain run by eighteen banks. Korea issued $2.2bn in 2026 under regulatory sandbox exemptions, with legal recognition phased in from 4 February 2027 and retail capped by amount PER VENUE. India, Vietnam, Indonesia and Thailand have no stablecoin in their own currency at all. Call this before stating what a market holds, or before quoting any total as if it were the world. Omit `country` for every market.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'country': {'type': 'string', 'description': 'Country slug or name, e.g. japan, korea, brazil, india, switzerland. Omit to list all.'}, 'readable_only': {'type': 'boolean', 'description': 'Only markets whose instruments we can actually read (default false — the closed ones are the point)'}}}
Schéma de sortie
{'type': 'object', 'required': ['markets'], 'properties': {'markets': {'type': 'array', 'items': {'type': 'object'}}, 'summary': {'type': 'object'}}}
get_market_stats
Shape of the dataset: how many instruments, split by pillar, category and risk, how many are EU-available, how many are buyable without KYC, and how fresh the figures are. Use to ground a claim about coverage before making one.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'required': ['total', 'byTier'], 'properties': {'total': {'type': 'integer', 'description': 'Every instrument, both tiers'}, 'byTier': {'type': 'object', 'properties': {'curated': {'type': 'integer'}, 'imported': {'type': 'integer'}}}}}
get_product_details
Full record for one instrument by ticker (case-insensitive): yield, risk, custody, availability, how to buy, source link, verification date.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'e.g. USDY, stETH, PAXG'}}}
Schéma de sortie
{'type': 'object', 'required': ['ticker'], 'properties': {'name': {'type': 'string'}, 'tier': {'type': 'string'}, 'ticker': {'type': 'string'}}}
search_realt_properties
Drill into the RealT portfolio: the individual tokenized US rental properties behind the REALT entry, each with its own net rental yield (computed as annual net rent / tokenized property value), token price, monthly rent and occupancy. Use this when someone asks which specific tokenized property to buy, or for the yield/price spread within one issuer.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'city': {'type': 'string', 'description': 'City name, e.g. Detroit, Cleveland, Chicago'}, 'sort': {'enum': ['yield', 'price', 'rent'], 'type': 'string', 'description': 'Sort by net yield (default), token price (cheapest first) or monthly rent'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max results (default 20)'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Skip this many matches before returning. Use the nextOffset from the previous answer to walk the whole set; its absence means you reached the end.'}, 'rented_only': {'type': 'boolean', 'description': 'Only properties with at least one rented unit (default true)'}, 'min_yield_pct': {'type': 'number', 'description': 'Minimum net rental yield in percent'}, 'max_token_price_usd': {'type': 'number', 'description': 'Maximum price per token in USD'}}}
Schéma de sortie
{'type': 'object', 'required': ['issuer', 'totalMatching'], 'properties': {'issuer': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object'}}, 'nextOffset': {'type': 'integer', 'description': 'Pass as offset to fetch the next page; absent when there is no more'}, 'portfolioUrl': {'type': 'string'}, 'snapshotDate': {'type': 'string'}, 'totalMatching': {'type': 'integer'}, 'portfolioTotal': {'type': 'integer'}, 'medianNetYieldPct': {'type': ['number', 'null']}}}
search_yield_products
Search and filter TokenBank's instruments for earning yield with crypto. Searches the CURATED tier by default (the rows that state a yield, minimum and risk); pass tier to reach the imported issuer-catalogue rows (tokenized treasuries, yield stablecoins, gold, real estate, tokenized stocks, staking, DeFi/CeFi earn, alternative funds). Returns compact records; use get_product_details for the full record.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'tier': {'enum': ['curated', 'imported', 'all'], 'type': 'string', 'description': 'Which tier to search. Default "curated": the instruments that state a yield, minimum and risk — the only ones that can answer "what does this pay". "imported" and "all" reach the issuer-catalogue rows, which carry identity and classification only. Use them for identity questions ("is X tokenized"), never for yield rankings.'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max results (default 20)'}, 'query': {'type': 'string', 'description': 'Free-text match on name, ticker, issuer or type'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Skip this many matches before returning. Use the nextOffset from the previous answer to walk the whole set; its absence means you reached the end.'}, 'pillar': {'enum': ['Fixed Income', 'Real Assets', 'Market Tokens', 'Staking'], 'type': 'string', 'description': 'Limit to one category pillar'}, 'eu_only': {'type': 'boolean', 'description': 'Only instruments available to EU investors'}, 'max_risk': {'type': 'integer', 'maximum': 5, 'minimum': 1, 'description': 'Maximum risk on a 1-5 scale (1=very low, 3=medium, 5=high)'}, 'min_yield_pct': {'type': 'number', 'description': 'Minimum headline yield in percent'}}}
Schéma de sortie
{'type': 'object', 'required': ['count', 'totalMatching', 'results'], 'properties': {'tier': {'type': 'string'}, 'count': {'type': 'integer', 'description': 'Rows returned'}, 'results': {'type': 'array', 'items': {'type': 'object'}}, 'nextOffset': {'type': 'integer', 'description': 'Pass as offset to fetch the next page; absent when there is no more'}, 'totalMatching': {'type': 'integer', 'description': 'Rows that matched before the limit'}}}
Modifié
search_realt_properties
1 October 2026 02:51
Ajouté
compare_tokenized_access
17 September 2026 12:55
Ajouté
find_tokenized_security
17 September 2026 12:55
Ajouté
search_realt_properties
17 September 2026 12:55
Ajouté
get_market_coverage
17 September 2026 12:55
Ajouté
get_market_stats
17 September 2026 12:55
Ajouté
compare_assets
17 September 2026 12:55
Ajouté
find_permissionless_assets
17 September 2026 12:55
Ajouté
compare_with_savings_account
17 September 2026 12:55
Ajouté
get_product_details
17 September 2026 12:55
Ajouté
search_yield_products
17 September 2026 12:55