Install
openclaw skills install dune-mcp-skillUse Dune MCP through UXC for blockchain table discovery, SQL query creation/execution, execution result retrieval, and visualization with help-first schema i...
openclaw skills install dune-mcp-skillUse this skill to run Dune MCP operations through uxc.
Reuse the uxc skill for shared protocol discovery, output parsing, and generic auth/binding flows.
uxc is installed and available in PATH.https://api.dune.com/mcp/v1.uxc https://api.dune.com/mcp/v1 -huxc auth credential set dune-mcp --auth-type api_key --header "x-dune-api-key={{secret}}" --secret-env DUNE_API_KEYuxc auth credential set dune-mcp --auth-type api_key --header "x-dune-api-key={{secret}}" --secret-op op://Engineering/dune/api-keyuxc auth binding add --id dune-mcp --host api.dune.com --path-prefix /mcp/v1 --scheme https --credential dune-mcp --priority 100command -v dune-mcp-cliuxc link dune-mcp-cli https://api.dune.com/mcp/v1dune-mcp-cli -hdune-mcp-cli searchTables -hdune-mcp-cli searchTablesByContractAddress -hdune-mcp-cli createDuneQuery -hdune-mcp-cli executeQueryById -hdune-mcp-cli getExecutionResults -hsearchDocssearchTableslistBlockchainssearchTablesByContractAddresscreateDuneQuerygetDuneQueryupdateDuneQueryexecuteQueryByIdgetExecutionResultsgenerateVisualizationgetTableSizegetUsagedune-mcp-cli searchTables query='uniswap swaps'dune-mcp-cli searchTablesByContractAddress contractAddress=0x...spell tables when they already expose the metrics you need.block_date, evt_block_date, or another partition/date column in WHERE--text.ok, kind, protocol, data, error.dune-mcp-cli as default command path.dune-mcp-cli <operation> ... is equivalent to uxc https://api.dune.com/mcp/v1 <operation> ....searchDocssearchTableslistBlockchainssearchTablesByContractAddressgetDuneQuerygetExecutionResultsgetTableSizegetUsagecreateDuneQueryupdateDuneQueryexecuteQueryByIdgenerateVisualizationis_private and is_tempkey=value input now supports automatic type conversion for numeric MCP arguments.key=value, for example:
query_id=6794106queryId=6794106{"executionId":"01...","timeout":90,"limit":20}key=value, wrap the whole SQL string in double quotes so inner SQL single quotes survive shell parsing.listBlockchains returns a Dune-side schema/facet error, fall back to searchTables with blockchains filters.The following flow was exercised successfully through uxc:
uniswap.uniswapx_tradesThe successful SQL shape was:
SELECT block_date,
ROUND(SUM(amount_usd), 2) AS daily_volume_usd,
COUNT(*) AS trades
FROM uniswap.uniswapx_trades
WHERE blockchain = 'base'
AND block_date >= date_add('day', -7, CURRENT_DATE)
GROUP BY 1
ORDER BY 1 DESC
LIMIT 7
references/usage-patterns.md