MCP Tool Reference โ
All tools are available via the MCP server at http://127.0.0.1:37421/mcp.
Data tools โ
list_tables โ
List all tables and views currently loaded in DuckDB.
No parameters.
run_query โ
Execute a SQL query and return the results.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | โ | SQL to execute |
materialize_query โ
Run a SQL query and save the results as a persistent DuckDB table, then add it to the canvas as a data node.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | โ | SQL to execute |
table_name | string | โ | Name for the new table |
Canvas inspection โ
list_canvas_nodes โ
Return all nodes currently on the canvas with their IDs, types, positions, and sizes.
No parameters.
Node creation โ
add_query_node โ
Add a SQL query node to the canvas.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | โ | Display label for the node |
query | string | โ | SQL to populate the node |
add_chart_node โ
Add a chart node that visualizes query results.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | โ | Display label |
source_node | string | โ | Name of the query node to visualize |
chart_type | string | โ | See chart types below |
x_column | string | Column for the X axis (or labels for pie/donut) | |
y_column | string | Column for the Y axis (or values for pie/donut) |
Chart types:
chart_type | Label | Columns needed |
|---|---|---|
barY | Bar Y | X: category or time ยท Y: numeric |
barX | Bar X | X: numeric ยท Y: category |
lineY | Line | X: time or sequential ยท Y: numeric |
areaY | Area | X: time or sequential ยท Y: numeric |
dot | Scatter | X: numeric ยท Y: numeric |
cell | Cell / Heatmap | X: category ยท Y: category ยท Color: numeric |
pie | Pie | Label: category ยท Value: numeric |
donut | Donut | Label: category ยท Value: numeric |
histogram | Histogram | X: numeric column to bin |
boxplot | Box Plot | X: category (group) ยท Y: numeric |
sankey | Sankey | Source ยท Target ยท Value (flow weight) |
number | Number | Value: numeric โ first row only |
boolean | Badge | Value: boolean-like โ first row only |
conditional | Status | Value: any ยท rules evaluated top-to-bottom |
mermaid | Mermaid | No data columns โ write diagram code directly |
table | Table | All result columns shown by default |
add_markdown_node โ
Add a freeform markdown text node.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | โ | Title shown in the node header |
content | string | โ | Markdown body |
add_section โ
Add a section (grouped container) to the canvas.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | โ | Section label |
x | number | X position (canvas units) | |
y | number | Y position (canvas units) |
Node manipulation โ
update_query_node โ
Edit an existing query node's SQL or display name.
| Parameter | Type | Required | Description |
|---|---|---|---|
node_id | string | โ | ID from list_canvas_nodes |
query | string | New SQL (leave blank to keep current) | |
name | string | New display name |
move_node โ
Move a node to a new position on the canvas.
| Parameter | Type | Required | Description |
|---|---|---|---|
node_id | string | โ | ID from list_canvas_nodes |
x | number | โ | New X position |
y | number | โ | New Y position |
resize_node โ
Resize a node.
| Parameter | Type | Required | Description |
|---|---|---|---|
node_id | string | โ | ID from list_canvas_nodes |
width | number | โ | New width in pixels |
height | number | โ | New height in pixels |
set_node_color โ
Set the accent color for a node's header.
| Parameter | Type | Required | Description |
|---|---|---|---|
node_id | string | โ | ID from list_canvas_nodes |
color | string | โ | Hex color, e.g. #18b569 |
focus_node โ
Pan and zoom the canvas to center on a specific node.
| Parameter | Type | Required | Description |
|---|---|---|---|
node_id | string | โ | ID from list_canvas_nodes |
Import tools โ
import_file โ
Import a local file into DuckDB and add it to the canvas.
| Parameter | Type | Required | Description |
|---|---|---|---|
file_path | string | โ | Absolute path to the file |
table_name | string | โ | Table name to register |
import_url โ
Fetch a remote data file and load it into DuckDB.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | โ | Public URL to a CSV, Parquet, or JSON file |
table_name | string | โ | Table name to register |
import_s3 โ
Load a file from S3, Cloudflare R2, or MinIO into DuckDB. Requires S3 credentials configured in Settings โ S3 Storage.
| Parameter | Type | Required | Description |
|---|---|---|---|
s3_url | string | โ | s3://bucket/path/to/file.parquet |
table_name | string | โ | Table name to register |
import_csv_data โ
Import raw CSV text (e.g. pasted from the clipboard) as a table.
| Parameter | Type | Required | Description |
|---|---|---|---|
csv_data | string | โ | Raw CSV content |
table_name | string | โ | Table name to register |
Canvas utilities โ
fit_view โ
Zoom and pan the canvas to fit all nodes in view.
No parameters.
clear_canvas โ
Remove all nodes from the canvas. Does not drop DuckDB tables.
No parameters.