Available Tools

The BEEM MCP server exposes 68 tools organized into the categories below. All tools use your BEEM account permissions — you can only access resources you have access to in BEEM.

Start with the Workflows — they bundle the most common multi-step tasks (create-and-deploy a dataset, build a dashboard, explore a schema) into a single call. The remaining categories expose the underlying granular operations.

Workflows (Composite Tools)

ToolDescription
Get Workspace OverviewGet a complete workspace overview in a single call. Returns workspace info (including SQL schema names), folder tree, all datasets (with status/rowCount), sources, flows, dashboards, and recent failures. Use this as the first call when orienting in a workspace — replaces the need to call get_workspace + list_folders + list_datasets + list_sources separately.
Search WorkspaceSearch for objects by name across the workspace. Searches datasets (by name and viewName), sources (by name and connection name), folders, dashboards, and flows. Case-insensitive contains match. Use to quickly find objects without listing everything.
Explore SchemaGet complete SQL-writing context in a single call. Returns all source tables (with column schemas) and deployed hub datasets (with view names), plus the correct schema prefixes. Use this before writing SQL queries to discover available tables and columns. Excludes the internal beem_file_no column automatically.
Get Dataset DetailsGet comprehensive dataset details in a single call. Returns dataset metadata (including status, rowCount, columns from cloudResourceInfo), current SQL query, tests, recent events, and visualizations. Use instead of calling get_dataset + get_sql_queries + list_tests + list_events + list_visualizations separately.
Create & Deploy DatasetCreate a new dataset AND deploy its SQL in a single call. This is the recommended way to create datasets — it auto-derives the SQL view name from the dataset name and deploys immediately, avoiding the "broken undeployed dataset" problem. Deployment is async — poll beem_get_dataset for cloudResourceInfo.status === "SUCCESS".
Create & Deploy Dataset TestCreate a new dataset test AND deploy its SQL in a single call. Test SQL must return these 4 columns in order: number (INT), category (VARCHAR), reason (VARCHAR), blocking (BOOLEAN). Zero rows = pass; any rows = failure. If blocking is true, the dataset "latest" view is NOT updated on refresh. Ensure the parent dataset is deployed with data before creating tests.
Edit Dataset ScheduleChange a dataset's refresh schedule in one step. Set trigger to CRON with an EventBridge cron expression to enable automatic refreshes, or MANUAL to disable them. Handles the EventBridge rule update and redeploy automatically. The dataset must already be deployed (not a draft).
Build DashboardCreate a complete dashboard with visualizations and widgets in a single call. Automatically creates visualizations for VISUALIZATION-type widgets and auto-lays them out in a 12-column grid (default: 2 columns at w=6). For each visualization widget, provide datasetId, chartType, and configurations — the configurations JSON must contain the keys that chart type requires (same contract as beem_create_visualization, e.g. TABLE needs {"columns":[...]}, BAR_CHART needs xAxisColumn/yAxisColumns/etc.) or the call fails with a validation error. For text/heading widgets, provide text content. Replaces manual create_dashboard + create_visualization + create_widget calls.
Deploy & WaitDeploy a dataset SQL query and wait for the Redshift view to be created. Polls beem_get_dataset until cloudResourceInfo shows a new version with SUCCESS or FAIL status. Returns the final status, row count, and elapsed time. Use instead of beem_deploy_dataset_sql_query when you need to confirm deployment succeeded before proceeding.
Await OperationWait for an async operation to complete by polling events. Monitors events for a dataset, data object, source, or flow until a terminal event (SUCCESS/FAIL) appears. Optionally wait for a specific action type. Use after triggering a deploy, refresh, or ingestion when you need to confirm completion.
Get Pipeline HealthGet an actionable pipeline health summary for a workspace. Categorizes all datasets as healthy (recent success), failing (recent failure), running (in progress), stale (scheduled but no recent events), or draft. Shows failure messages and timing. Use to quickly identify problems without scanning individual events.

Workspaces & Organizations

ToolDescription
Get Current UserGet the authenticated user's info. Use this first to get your userId (needed as ownerId for creating datasets and tests).
Get WorkspaceGet workspace details including seq number (needed for SQL schema names: ws{seq}_catalog, ws{seq}_hub).
List WorkspacesList all accessible workspaces. Step 2 of orientation — call after beem_list_user_organizations.
Get OrganizationGet details about a specific BEEM organization by ID, including workspaces and limits.
List User OrganizationsList all organizations the user belongs to. Step 1 of orientation — call this first to get organizationIds.
Get Organization Source ConfigGet the in-app source ingestion config (schedules, primary keys, S3 paths, etc.) for a BEEM organization. Returns the parsed wholeSourceConfig JSON. Optionally narrow to a specific source key (e.g. 'tempo') and/or table key (e.g. 'worklogs'). Large blob — only request when debugging ingestion pipeline configuration. Returns { hasConfig: false, sourceConfig: null } when the organization has not been migrated to the in-app source config model.

Folders

ToolDescription
Get FolderGet details about a specific BEEM folder including its parent, subfolders, and datasets.
List FoldersList folders in a workspace or under a parent folder.
Create FolderCreate a new folder in BEEM.
Update FolderUpdate an existing folder in BEEM (rename or move).

Datasets

ToolDescription
Get DatasetGet details about a specific BEEM dataset including metadata, owner, and configuration. Returns full dataset metadata including cloudResourceInfo (timing, rowCount, status). Parse the parents field for lineage.
List DatasetsList datasets in a BEEM workspace or folder. Use to discover available datasets in a workspace. Returns name, viewName, status, trigger, and folder info.
Create DatasetCreate a new dataset in BEEM. The dataset starts as a draft until SQL is deployed. IMPORTANT: You must deploy SQL immediately after creating — an undeployed dataset is broken and causes "version undefined" errors in the app.
Update DatasetUpdate an existing dataset in BEEM (description, folder, AI search settings). To rename a dataset, use beem_rename_dataset instead.
Rename DatasetRename a dataset in BEEM. Updates the dataset name, derives a new SQL-compatible view name, and redeploys the Redshift view under the new name. Warning: renaming changes the Redshift view name. Downstream datasets referencing the old viewName will break.
Get Dataset SQL Query HistoryGet the SQL query history for a dataset, including both deployed and draft versions.
Get Dataset SQL QueryGet a specific SQL query version for a dataset.
Save Dataset SQL QueryStep 1 of SQL update: saves SQL as a draft without executing. Follow with beem_deploy_dataset_sql_query to create the Redshift view. Never use SELECT — always list columns explicitly. Include a SQL header comment with name, description, and changelog. For CRON triggers, use bare 6-field format (min hour dom month dow year) without cron() wrapper — cannot use in both day-of-month and day-of-week, use ? for one.
Deploy Dataset SQL QueryStep 2 of SQL update: deploys the saved SQL. This creates the view in Redshift and schedules execution if needed. Deployment is async — data is NOT ready when this returns. Poll beem_get_dataset and check cloudResourceInfo until rowCount > 0, version changed from pre-deploy value, and status = SUCCESS (poll every 30s, timeout 5min).
Refresh DatasetTrigger a manual refresh of a deployed dataset without redeploying SQL. Use after upstream data changes. The dataset must have been deployed at least once. Will not trigger if the dataset is already refreshing.

Dataset SQL & Content

ToolDescription
Query Dataset ContentQuery and retrieve rows from a deployed BEEM dataset. Returns results as a Markdown table by default (set format to "json" for raw data). This is an async operation that may take time for large datasets.
Preview SQL QueryPreview the results of a SQL query without deploying it. Useful for testing queries before saving. Returns results as a Markdown table by default. Source tables use ws{seq}_catalog schema; datasets use ws{seq}_hub schema (get seq from beem_get_workspace). Avoid $ in REGEXP_REPLACE — the platform wraps SQL in a subquery that mangles $ anchors. Use RIGHT()/LEFT() instead.

Dataset Tests

ToolDescription
Get Dataset TestGet details about a specific BEEM dataset test.
List Dataset TestsList all tests for a specific dataset.
Create Dataset TestCreate a new test for a dataset. After creating, you MUST deploy test SQL immediately. Tests validate data quality with SQL assertions. Test SQL must return these 4 columns first in exact order: number (INT), category (VARCHAR), reason (VARCHAR), blocking (BOOLEAN). Zero rows = pass; any rows = failure. If blocking is true, the dataset "latest" view is NOT updated.
Update Dataset TestUpdate a dataset test (rename).
Delete Dataset TestDelete a dataset test and all its SQL query history.
Get Test SQL Query HistoryGet the SQL query history for a dataset test.
Save Test SQL QuerySave a SQL query as a draft for a dataset test (does not execute). Follow with beem_deploy_dataset_test_sql_query to deploy.
Deploy Test SQL QueryStep 2 of test creation: deploys the test SQL. This executes the test query. Ensure the parent dataset has been deployed and has data before deploying tests — tests run against the hub table.

Sources & Ingestion

ToolDescription
Get SourceGet details about a specific BEEM source (catalog) by ID, including its connection information.
List SourcesList data connections in a workspace. Use to discover available source tables before writing SQL.
Get Data ObjectGet a source table's details including column schema in cloudResourceInfo. Parse cloudResourceInfo.columns for column names when writing SQL. Exclude the internal beem_file_no column.
List Data ObjectsList source tables for a data connection. Parse cloudResourceInfo.columns for column schemas. When writing SQL from source tables, exclude the internal beem_file_no column — skip objects with null cloudResourceInfo.
Create Data ObjectCreate a new data object (source table) in BEEM. Data objects represent tables within a source/catalog.
Start Data IngestionTrigger a manual data ingestion (sync) for a source data object. Equivalent to "Sync Now" in the BEEM app. The ingestion runs asynchronously — use beem_list_events_by_object to check status.

Dashboards

ToolDescription
Get DashboardGet details about a specific BEEM dashboard.
List DashboardsList dashboards in a workspace.
Create DashboardCreate a new dashboard in BEEM.
Update DashboardUpdate an existing dashboard in BEEM (rename).
Get Dashboard WidgetGet details about a specific dashboard widget.
List Dashboard WidgetsList all widgets in a dashboard.
Create Dashboard WidgetCreate a new widget on a dashboard. Position uses a 12-column grid. Common layout: w=6 for half-width, w=12 for full-width. Widget types and their required configurations keys: VISUALIZATION → set componentId and configurations {"visualizationId":"<id>"}. HEADING / TEXT_BLOCK → configurations {"content":"<text>"} (the key MUST be "content", not "text", or the dashboard renders blank). DYNAMIC_FILTERS → configurations {"filters":[{"label":...,"type":...,"columns":["{visualizationId}.{columnName}.remote"]}]} — filters must be a non-empty array of complete filters, and columns must use the fully-qualified {visualizationId}.{columnName}.remote format (bare column names and empty filters will not work). IMAGE_UPLOAD → configurations with the image reference.
Update Dashboard WidgetUpdate an existing dashboard widget.
Delete Dashboard WidgetDelete a widget from a dashboard. Use this to remove a widget that was created incorrectly or is no longer needed.

Visualizations

ToolDescription
Get VisualizationGet details about a specific dataset visualization.
List Visualizations by DatasetList all visualizations for a specific dataset.
List Visualizations by WorkspaceList all visualizations in a workspace (includes dataset name).
Create VisualizationCreate a new visualization for a dataset. The configurations JSON must match the chart type exactly or the chart will not render: BAR_CHART/LINE_CHART → {"isStacked":bool,"isHorizontal":bool,"xLabel":str,"yLabel":str,"xAxisColumn":str,"yAxisColumns":[str],"groupBy":str OR "series":[...]}. PIE_CHART/DOUGHNUT_CHART → {"xAxisColumn":str,"yAxisColumn":str}. GAUGE_CHART → {"column":str,"metric":str,"description":str,"maxValue":num OR "maxValueColumn":str}. COLUMN_METRIC → {"column":str,"metric":str,"description":str}. TABLE → {"columns":[str]}. Column values are dataset column names.
Update VisualizationUpdate an existing visualization. If configurations is provided it must match the chart type exactly (same per-type keys as beem_create_visualization) or the chart will not render. When changing configurations without passing type, the existing chart type is used for validation.
Delete VisualizationDelete a visualization. Also decrements the vizCount on the parent dataset.

Flows

ToolDescription
Get FlowGet details of a specific flow (reverse ETL / data activation) by ID. Flows connect datasets to destination connections with scheduling. Returns flow configuration, trigger type, linked dataset/destination, and cloud resource info.
List FlowsList data flows (reverse ETL / data activation) in a workspace. Returns flow names, triggers, enabled status, and linked datasets/destinations.

Events & Usage

ToolDescription
List Workspace EventsList pipeline events filtered by object type, status, and date range. Use to check pipeline health. Events track data object syncs, dataset transformations, and flow runs.
List Object EventsList events for a specific data object or dataset. Use to monitor deployment/refresh status.
List User EventsList pipeline execution events triggered by a specific user.
Get DPU UsageGet DPU (data processing unit) billing/consumption data for the organization. Returns daily DPU usage records, total consumption, allowance, and billing cycle info. By default returns usage for the current billing cycle.