Luminon Luminon logo

5. Advanced topics for developers

5.3 Luminon tool

Luminon exposes MCP tools to read, create, and update dashboards and datasets. If you call the remote MCP over HTTP, the current shape is `tools/call` with `params.arguments.input`, even when the tool does not need parameters.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_datasets",
    "arguments": {
      "input": {}
    }
  }
}

The most useful tools for the API are:

ToolUseInput
list_dashboardsReturns the dashboard inventory.{}
list_datasetsReturns the dataset inventory.{}
describe_datasetShows columns and a short preview.{ datasetId }
list_dataset_contentReturns real rows with truncation.{ datasetId, limit? }
register_datasetRegisters a new dataset from `csv` or `rows`.{ name, csv? | rows?, id?, workspaceId?, createdBy? }
update_datasetUpdates a dataset in `append` or `replace`.{ datasetId, csv? | rows?, mode, allowSchemaChange? }
restore_dataset_snapshotRestores the snapshot from the latest dataset mutation.{ datasetId }
list_dashboard_versionsLists the stored dashboard snapshots.{ dashboardId, limit?, offset? }
restore_dashboard_versionRestores the dashboard from a snapshot.{ dashboardId, snapshotId, newName? }
update_dashboard_filtersAdds or removes global dashboard filters.{ dashboardId, add?, remove? }
set_chart_themeChanges the theme of a specific chart.{ dashboardId, chartId, themePreset }
set_chart_presentationAdjusts presentation overrides for a specific chart.{ dashboardId, chartId, presentation }
reset_chart_presentationRemoves the presentation override from a chart.{ dashboardId, chartId }
dashboard_nlMaps natural-language prompts to high-level mutations.{ request }

If you only need to inspect state, start with `list_dashboards`, `list_datasets`, `describe_dataset`, and `list_dataset_content`. If you need deterministic changes, use `update_dataset`, `update_dashboard_filters`, `set_chart_theme`, or `set_chart_presentation` with explicit ids. For prompt-driven flows, `dashboard_nl` is still useful, but it does not replace the direct tools when you need exact control.