MCP 服务器

Stocks On Chain

io.stocksonchain/stocks-on-chain
加密货币与 Web3 金融与投资 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Provides read-only registry data for tokenized stocks, including issuers, chains, contract addresses, listings, and corporate actions.

get_contract
Look up a contract address
What this site holds about one address: the name and category our registry records and who told us, plus what the code at that address actually is - its runtime bytecode hash, the implementation behind it if it is a proxy, and how many other addresses we track run byte-identical code. The code half is reproducible: fetch eth_getCode and take its keccak256 and you get the same hash. An address that is a token listing but not in the contract registry returns the listing (stock, issuer, chain) with no code record. This never says an address is safe, genuine or correct, and there is no field that could: check it against the issuer before you act on it.
输入模式
{'type': 'object', 'required': ['address'], 'properties': {'chain': {'type': 'string', 'description': 'Chain slug, for example ethereum or robinhood-chain. Optional. Omit it to find the address on every chain we hold it.'}, 'address': {'type': 'string', 'description': 'The contract address, in any case.'}}, 'additionalProperties': False}
get_manifest
Get the agent tier terms
What this service offers a machine reader: the free keyless endpoints, the bulk dataset and its price if the paid tier is live, and the licence. No human reader is ever charged or asked to connect a wallet.
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
get_stock
Get one tokenized stock
Everything known about one stock: every instrument (one per issuer, with the mechanics union describing how it handles corporate actions), every listing under it (chain, contract address, supply, price), and the events recorded against it. Report instruments as the options; listings are addresses. Read mechanics.kind before reaching for any field inside mechanics.
输入模式
{'type': 'object', 'required': ['ticker'], 'properties': {'ticker': {'type': 'string', 'description': 'Ticker or slug, for example NVDA or nvda.'}}, 'additionalProperties': False}
list_chains
List chains
Every chain carrying tokenized stocks, with its explorer, and the matrix of which issuer has listed what where. Registry order, which is not a ranking.
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
list_events
List corporate actions
The corporate-action tape: splits, distributions and multiplier changes read from chain state, each with a transaction hash. Newest first by the time the event took effect, which is chronology and not a ranking.
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'How many events to return. Default 50, maximum 500.'}, 'since': {'type': 'string', 'description': 'ISO 8601 date. Only return events effective on or after this date.'}}, 'additionalProperties': False}
list_issuers
List issuers
Every issuer whose tokens are tracked, in registry order, with the legal wrapper it uses, the chains it issues on, and a link to where that issuer publishes its own rule on who may buy. The rule itself is deliberately not included: it can change without this site noticing, so answer eligibility questions by sending the caller to eligibility.sourceUrl rather than by stating a rule.
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
report_gap
Report something this site does not have
Tell us you wanted something and did not get it: a stock we do not track, a chain a stock is not on, a field no endpoint carries, a tool that does not exist, a figure you believe is wrong, or a path that failed. Call this when another tool has just answered with a miss - the answer names the kind to send. THERE IS NO FREE-TEXT FIELD AND THERE WILL NOT BE ONE: a report is an enumerated kind plus a short subject, because the counts are what is useful and prose from an anonymous caller is a prompt-injection surface pointed at the people who read it. Nothing about you is recorded - no address, no header, no identifier - so a report cannot be joined to a caller and there is no reply. The report is counted in aggregate and returned to you with a prefilled link a human can open to track it. Reporting costs nothing and is never required.
输入模式
{'type': 'object', 'required': ['kind', 'subject'], 'properties': {'kind': {'enum': ['missing_stock', 'missing_listing', 'missing_field', 'missing_tool', 'wrong_figure', 'broken_endpoint'], 'type': 'string', 'description': 'What was missing. One of: missing_stock (A stock this site does not track at all.) missing_listing (A stock we track, but not on the chain the caller wanted.) missing_field (A field no endpoint carries.) missing_tool (An MCP tool that does not exist.) wrong_figure (A published figure the caller believes is wrong.) broken_endpoint (A path that failed or answered in an unusable shape.)'}, 'subject': {'type': 'string', 'description': 'What it was about - a ticker, a field name, a tool name or a path. Letters, digits, dot, slash, hyphen and underscore, up to 64 characters. Not a sentence: there is no free-text field. A wallet or contract address is refused - send the ticker or the path instead.'}}, 'additionalProperties': False}
search_stocks
Search tokenized stocks
Find tokenized stocks by ticker or company name. Returns every match with its issuers and chains, alphabetical by ticker. If a ticker is a real stock but has not been tokenized, this reports that too, which is a correct answer rather than an empty result.
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'A ticker (NVDA) or part of a company name (Nvidia). Case insensitive.'}}, 'additionalProperties': False}
已添加
report_gap
2026年10月1日 02:50
已添加
get_manifest
2026年9月17日 12:53
已添加
get_contract
2026年9月17日 12:53
已添加
list_events
2026年9月17日 12:53
已添加
list_chains
2026年9月17日 12:53
已添加
list_issuers
2026年9月17日 12:53
已添加
get_stock
2026年9月17日 12:53
已添加
search_stocks
2026年9月17日 12:53