{"serverId":"mcp-registry/io.stocksonchain/stocks-on-chain","tools":[{"name":"get_contract","fixed":{"name":"get_contract","description":"What this site holds about one address, in two independent halves. `listings` says what the token IS - the stock, its company, the issuer and the chain - and is present whenever the address is a listing we track. `matches` says what the CODE at the address 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; it is present only where we have read the code. The code half is reproducible: fetch eth_getCode and t","inputSchema":{"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},"annotations":{"readOnlyHint":true},"title":"Look up a contract address"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":244,"tokensAfter":244},{"name":"get_manifest","fixed":{"name":"get_manifest","description":"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.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get the agent tier terms"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":90,"tokensAfter":90},{"name":"get_stock","fixed":{"name":"get_stock","description":"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.","inputSchema":{"type":"object","required":["ticker"],"properties":{"ticker":{"type":"string","description":"Ticker or slug, for example NVDA or nvda."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get one tokenized stock"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":163,"tokensAfter":163},{"name":"list_chains","fixed":{"name":"list_chains","description":"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.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"List chains"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":75,"tokensAfter":75},{"name":"list_events","fixed":{"name":"list_events","description":"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.","inputSchema":{"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},"annotations":{"readOnlyHint":true},"title":"List corporate actions"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":155,"tokensAfter":155},{"name":"list_issuers","fixed":{"name":"list_issuers","description":"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.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"List issuers"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":139,"tokensAfter":139},{"name":"search_stocks","fixed":{"name":"search_stocks","description":"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.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"A ticker (NVDA) or part of a company name (Nvidia). Case insensitive."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Search tokenized stocks"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":141,"tokensAfter":141}],"toolsChanged":7,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}