TokenBank — tokenized real-world assets
REMOTE · MCP.TOKENBANK.WORLD · SCANNED SEP 28
4,168 tokenized real-world assets: yield, risk, and who is actually allowed to buy each one
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability66
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2132 tokens (~213/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management40
- Stability observed for 12 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 10 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
How do I install the TokenBank — tokenized real-world assets MCP server?
TokenBank — tokenized real-world assets is a hosted endpoint at https://mcp.tokenbank.world/, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.tokenbank.world
claude mcp add --transport http world-tokenbank-tokenbank 'https://mcp.tokenbank.world/'
{
"mcpServers": {
"world-tokenbank-tokenbank": {
"url": "https://mcp.tokenbank.world/"
}
}
} {
"servers": {
"world-tokenbank-tokenbank": {
"type": "http",
"url": "https://mcp.tokenbank.world/"
}
}
} [mcp_servers.world-tokenbank-tokenbank] url = "https://mcp.tokenbank.world/"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"world-tokenbank-tokenbank": {
"type": "remote",
"url": "https://mcp.tokenbank.world/",
"enabled": true
}
}
} openclaw mcp add world-tokenbank-tokenbank --url 'https://mcp.tokenbank.world/' --transport streamable-http
mcp_servers:
world-tokenbank-tokenbank:
url: "https://mcp.tokenbank.world/" {
"McpServers": {
"world-tokenbank-tokenbank": {
"Transport": "http",
"Url": "https://mcp.tokenbank.world/"
}
}
} assistant mcp add world-tokenbank-tokenbank -t streamable-http -u 'https://mcp.tokenbank.world/'
{
"mcpServers": {
"world-tokenbank-tokenbank": {
"type": "http",
"url": "https://mcp.tokenbank.world/"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 25 Sept 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 23 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 +1
- Stability: unverified → 0.03 ▲ functional
- 16 Sept 26 63
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 28 Sept 2026 · Probed https://mcp.tokenbank.world
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=tokenbank.world | CN=WE1,O=Google Trust Services,C=US | 7 Sept 2026 | 6 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | 94ada326d8868e021338fbf726f267d4 |
| SANs: tokenbank.world, *.tokenbank.world | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.tokenbank.world. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| world. | present | 13081 | 8 | Verified |
| tokenbank.world. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.tokenbank.world | Verified | 200 | |
| http (plaintext) | http://mcp.tokenbank.world | Inconclusive | 405 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
compare_assets ~84
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.
| Name | Type | Req | Description |
|---|---|---|---|
| tickers | array | yes | e.g. ["USDY", "OUSG", "BUIDL"] |
| Name | Type | Req | Description |
|---|---|---|---|
| compared | array | yes | – |
| notFound | array | – | – |
| readThis | array | – | – |
No examples provided.
compare_tokenized_access ~318
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max results (default 10) |
| offset | integer | – | 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. |
| query | string | – | Company name, underlying ticker or ISIN — e.g. "Apple", "AAPL", "US0378331005". Omit to list all. |
| reach | string | – | Only underlyings with at least one instrument of this reach. Use "retail" to find what a normal EU investor can buy. |
| split_only | boolean | – | Only securities where the reach DIFFERS between their tokens — i.e. the company is buyable, but not through every token on it. Default false. |
| Name | Type | Req | Description |
|---|---|---|---|
| matched | integer | yes | – |
| nextOffset | integer | – | Pass as offset to fetch the next page; absent when there is no more |
| underlyings | array | yes | – |
No examples provided.
compare_with_savings_account ~93
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.
| Name | Type | Req | Description |
|---|---|---|---|
| bank_rate_pct | number | – | Your bank's rate in percent (default 2.0) |
| eu_only | boolean | – | Optional: restrict to EU-available instruments. Default false — everything is shown, each row carries an euAvailable flag instead. |
| Name | Type | Req | Description |
|---|---|---|---|
| bankRatePct | number | yes | – |
| honestTradeoffs | array | – | – |
| instruments | array | yes | – |
No examples provided.
find_permissionless_assets ~228
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.
| Name | Type | Req | Description |
|---|---|---|---|
| eu_only | boolean | – | Only instruments explicitly stated as EU-available |
| include_unverified | boolean | – | 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. |
| limit | integer | – | Max results (default 20) |
| min_yield_pct | number | – | Minimum comparable yield in percent |
| offset | integer | – | 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 | string | – | Limit to one category pillar |
| Name | Type | Req | Description |
|---|---|---|---|
| confirmedOpen | integer | – | Verified as buyable without KYC |
| count | integer | yes | – |
| nextOffset | integer | – | Pass as offset to fetch the next page; absent when there is no more |
| results | array | yes | – |
| totalMatching | integer | – | – |
| unverified | integer | – | Possibly open, not confirmed — excluded from results |
No examples provided.
find_tokenized_security ~473
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.
| Name | Type | Req | Description |
|---|---|---|---|
| include_halted | boolean | – | Include instruments Backed has flagged as trading-halted. Default false. |
| issuer | string | – | Restrict to one issuer. Omit to search both, which is usually what you want — the comparison between them is the useful part. |
| limit | integer | – | Max results (default 20) |
| line | string | – | Backed only. xstocks = retail line via Kraken; btokens = older DeFi line, primary issuance for eligible investors only. |
| offset | integer | – | 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. |
| query | string | yes | Company name, ticker or ISIN — e.g. "Apple", "AAPL", "US0378331005", "Silver Trust" |
| Name | Type | Req | Description |
|---|---|---|---|
| catalogues | object | – | – |
| instruments | array | yes | – |
| issuedByMoreThanOneIssuer | array | – | – |
| matched | integer | yes | – |
| nextOffset | integer | – | Pass as offset to fetch the next page; absent when there is no more |
| readThis | array | – | – |
No examples provided.
get_market_coverage ~239
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.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | Country slug or name, e.g. japan, korea, brazil, india, switzerland. Omit to list all. |
| readable_only | boolean | – | Only markets whose instruments we can actually read (default false — the closed ones are the point) |
| Name | Type | Req | Description |
|---|---|---|---|
| markets | array | yes | – |
| summary | object | – | – |
No examples provided.
get_market_stats ~60
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| byTier | object | yes | – |
| total | integer | yes | Every instrument, both tiers |
No examples provided.
get_product_details ~58
Full record for one instrument by ticker (case-insensitive): yield, risk, custody, availability, how to buy, source link, verification date.
| Name | Type | Req | Description |
|---|---|---|---|
| ticker | string | yes | e.g. USDY, stETH, PAXG |
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | – |
| ticker | string | yes | – |
| tier | string | – | – |
No examples provided.
search_realt_properties ~223
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.
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | – | City name, e.g. Detroit, Cleveland, Chicago |
| limit | integer | – | Max results (default 20) |
| max_token_price_usd | number | – | Maximum price per token in USD |
| min_yield_pct | number | – | Minimum net rental yield in percent |
| offset | integer | – | 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 | boolean | – | Only properties with at least one rented unit (default true) |
| sort | string | – | Sort by net yield (default), token price (cheapest first) or monthly rent |
| Name | Type | Req | Description |
|---|---|---|---|
| issuer | string | yes | – |
| medianNetYieldPct | number|null | – | – |
| nextOffset | integer | – | Pass as offset to fetch the next page; absent when there is no more |
| portfolioTotal | integer | – | – |
| properties | array | – | – |
| snapshotDate | string | – | – |
| totalMatching | integer | yes | – |
No examples provided.
search_yield_products ~316
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.
| Name | Type | Req | Description |
|---|---|---|---|
| eu_only | boolean | – | Only instruments available to EU investors |
| limit | integer | – | Max results (default 20) |
| max_risk | integer | – | Maximum risk on a 1-5 scale (1=very low, 3=medium, 5=high) |
| min_yield_pct | number | – | Minimum headline yield in percent |
| offset | integer | – | 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 | string | – | Limit to one category pillar |
| query | string | – | Free-text match on name, ticker, issuer or type |
| tier | string | – | 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 row… |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | Rows returned |
| nextOffset | integer | – | Pass as offset to fetch the next page; absent when there is no more |
| results | array | yes | – |
| tier | string | – | – |
| totalMatching | integer | yes | Rows that matched before the limit |
No examples provided.
What is the TokenBank — tokenized real-world assets MCP server?
TokenBank — tokenized real-world assets is an MCP server listed in the public MCP registry as world.tokenbank/tokenbank. 4,168 tokenized real-world assets: yield, risk, and who is actually allowed to buy each one. This page covers its hosted endpoint (https://mcp.tokenbank.world).
Is the TokenBank — tokenized real-world assets MCP server safe to use?
TokenBank — tokenized real-world assets scores 69 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the TokenBank — tokenized real-world assets MCP server expose?
TokenBank — tokenized real-world assets exposes 10 tools: search_yield_products, get_product_details, compare_with_savings_account, find_permissionless_assets, compare_assets, and 5 more. Their descriptions and schemas cost roughly 2,092 tokens of context every time the server is loaded.
Does the TokenBank — tokenized real-world assets MCP server require authentication?
No. We connected to TokenBank — tokenized real-world assets without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the TokenBank — tokenized real-world assets MCP server still maintained?
TokenBank — tokenized real-world assets is still listed as active in the MCP registry. We last reached this channel on 28 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.