{"ok":true,"site":{"host":"dapan.app","url":"https://dapan.app/","type":"live","desc":"","tools":[{"name":"list_heatmap_themes","kind":"answer","impl":"imperative","description":"List all built-in and saved custom color themes available for the stock heatmap, including their IDs and names.","title":"List heatmap color themes","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_heatmap_theme","kind":"act","impl":"imperative","description":"Apply an existing heatmap theme by themeId, or create and apply a custom theme from positiveColor, negativeColor, and flatColor. Colors must be six-digit hexadecimal values with an optional leading #.","title":"Set heatmap color theme","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","oneOf":[{"type":"object","properties":{"themeId":{"type":"string","description":"Existing built-in or saved custom theme ID. Call list_heatmap_themes first to discover custom IDs."}},"required":["themeId"],"additionalProperties":false},{"type":"object","properties":{"positiveColor":{"type":"string","pattern":"^#?[0-9a-fA-F]{6}$","description":"Color for positive price changes, such as #ef4444."},"negativeColor":{"type":"string","pattern":"^#?[0-9a-fA-F]{6}$","description":"Color for negative price changes, such as #22c55e."},"flatColor":{"type":"string","pattern":"^#?[0-9a-fA-F]{6}$","description":"Color for near-zero price changes, such as #64748b."}},"required":["positiveColor","negativeColor","flatColor"],"additionalProperties":false}]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_heatmap_state","kind":"answer","impl":"imperative","description":"Read the current A-share heatmap view, filters, selected item, loaded data summary, and data freshness.","title":"Get heatmap state","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_heatmap_view","kind":"act","impl":"imperative","description":"Change the heatmap market universe, performance period, area metric, or thumbnail mode. Omitted values stay unchanged.","title":"Set heatmap view","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"market":{"type":"string","enum":["all","sse","szse","hs300","zza50","zza500","main","cyb","kcb","watchlist"]},"period":{"type":"string","enum":["day","week","month","year"]},"sizeMode":{"type":"string","enum":["marketCap","turnover"]},"thumbnailMode":{"type":"boolean"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_heatmap_filters","kind":"act","impl":"imperative","description":"Set board, rising/falling, and percentage-change filters. Omitted values stay unchanged; use an empty boardNames array or trend all to clear filters.","title":"Set heatmap filters","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"boardNames":{"type":"array","items":{"type":"string"},"maxItems":30},"trend":{"type":"string","enum":["all","rising","falling"]},"minChangePct":{"type":["number","null"]},"maxChangePct":{"type":["number","null"]}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_top_stocks","kind":"answer","impl":"imperative","description":"List the leading stocks in the currently loaded heatmap by change percentage, turnover, or market-cap area.","title":"Get top stocks","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":50,"default":10},"sortBy":{"type":"string","enum":["changePct","turnoverAmount","marketCap"],"default":"changePct"},"direction":{"type":"string","enum":["desc","asc"],"default":"desc"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_board_rankings","kind":"answer","impl":"imperative","description":"Rank the industry boards represented in the current heatmap by weighted change, turnover, market cap, or stock count.","title":"Get board rankings","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":50,"default":10},"sortBy":{"type":"string","enum":["changePct","turnoverAmount","marketCap","stockCount"],"default":"changePct"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"search_stocks","kind":"answer","impl":"imperative","description":"Search the A-share stock directory by name or code before adding a stock to the local watchlist.","title":"Search stocks","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"description":"A Chinese stock name or six-digit stock code."},"limit":{"type":"integer","minimum":1,"maximum":20,"default":8}},"required":["query"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_watchlist","kind":"answer","impl":"imperative","description":"Read the stocks saved in the local A-share watchlist, with the latest available quotes when possible.","title":"Get watchlist","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"includeQuotes":{"type":"boolean","default":true}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"add_to_watchlist","kind":"act","impl":"imperative","description":"Add one A-share stock to the locally persisted watchlist by exact code or an unambiguous name query.","title":"Add stock to watchlist","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","oneOf":[{"type":"object","properties":{"code":{"type":"string"}},"required":["code"],"additionalProperties":false},{"type":"object","properties":{"query":{"type":"string"}},"required":["query"],"additionalProperties":false}]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"remove_from_watchlist","kind":"act","impl":"imperative","description":"Remove one stock from the local watchlist by its exact exchange-qualified code when possible.","title":"Remove stock from watchlist","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"code":{"type":"string","description":"For example 600519.SH or 000001.SZ."}},"required":["code"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"clear_watchlist","kind":"transact","impl":"imperative","description":"Remove every stock from the local watchlist. This requires confirm=true because it affects saved local data.","title":"Clear watchlist","annotations":{"readOnlyHint":false,"destructiveHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"confirm":{"type":"boolean","const":true,"description":"Must be true to clear the watchlist."}},"required":["confirm"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Finance & Crypto","favicon":"/favicons/dapan.app.png","apiSurface":"spec","toolCount":12}}