The BEEM MCP server exposes 56 tools organized into the categories below. All tools use your BEEM account permissions — you can only access resources you have access to in BEEM.
| Tool | Description |
|---|
| Get Current User | Get the authenticated user's info. Use this first to get your userId (needed as ownerId for creating datasets and tests). |
| Get Workspace | Get workspace details including seq number (needed for SQL schema names: ws{seq}_catalog, ws{seq}_hub). |
| List Workspaces | List all accessible workspaces. Step 2 of orientation — call after beem_list_user_organizations. |
| Get Organization | Get details about a specific BEEM organization by ID, including workspaces and limits. |
| List User Organizations | List all organizations the user belongs to. Step 1 of orientation — call this first to get organizationIds. |
| Get Organization Source Config | Get 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. |
| Tool | Description |
|---|
| Get Folder | Get details about a specific BEEM folder including its parent, subfolders, and datasets. |
| List Folders | List folders in a workspace or under a parent folder. |
| Create Folder | Create a new folder in BEEM. |
| Update Folder | Update an existing folder in BEEM (rename or move). |
| Tool | Description |
|---|
| Get Dataset | Get 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 Datasets | List datasets in a BEEM workspace or folder. Use to discover available datasets in a workspace. Returns name, viewName, status, trigger, and folder info. |
| Create Dataset | Create 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 Dataset | Update an existing dataset in BEEM (description, folder, AI search settings). To rename a dataset, use beem_rename_dataset instead. |
| Rename Dataset | Rename 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 History | Get the SQL query history for a dataset, including both deployed and draft versions. |
| Get Dataset SQL Query | Get a specific SQL query version for a dataset. |
| Save Dataset SQL Query | Step 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 Query | Step 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 Dataset | Trigger 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. |
| Tool | Description |
|---|
| Query Dataset Content | Query 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 Query | Preview 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. |
| Tool | Description |
|---|
| Get Dataset Test | Get details about a specific BEEM dataset test. |
| List Dataset Tests | List all tests for a specific dataset. |
| Create Dataset Test | Create 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 Test | Update a dataset test (rename). |
| Delete Dataset Test | Delete a dataset test and all its SQL query history. |
| Get Test SQL Query History | Get the SQL query history for a dataset test. |
| Save Test SQL Query | Save 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 Query | Step 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. |
| Tool | Description |
|---|
| Get Source | Get details about a specific BEEM source (catalog) by ID, including its connection information. |
| List Sources | List data connections in a workspace. Use to discover available source tables before writing SQL. |
| Get Data Object | Get 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 Objects | List 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 Object | Create a new data object (source table) in BEEM. Data objects represent tables within a source/catalog. |
| Start Data Ingestion | Trigger 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. |
| Tool | Description |
|---|
| Get Dashboard | Get details about a specific BEEM dashboard. |
| List Dashboards | List dashboards in a workspace. |
| Create Dashboard | Create a new dashboard in BEEM. |
| Update Dashboard | Update an existing dashboard in BEEM (rename). |
| Get Dashboard Widget | Get details about a specific dashboard widget. |
| List Dashboard Widgets | List all widgets in a dashboard. |
| Create Dashboard Widget | Create 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: VISUALIZATION (links to a visualization), TEXT_BLOCK, HEADING, DYNAMIC_FILTERS, IMAGE_UPLOAD. For VISUALIZATION widgets, set both componentId and configurations.visualizationId. For DYNAMIC_FILTERS, columns must use {visualizationId}.{columnName}.remote format — bare column names will not work. |
| Update Dashboard Widget | Update an existing dashboard widget. |
| Tool | Description |
|---|
| Get Visualization | Get details about a specific dataset visualization. |
| List Visualizations by Dataset | List all visualizations for a specific dataset. |
| List Visualizations by Workspace | List all visualizations in a workspace (includes dataset name). |
| Create Visualization | Create a new visualization for a dataset. Types: BAR_CHART, LINE_CHART, PIE_CHART, DOUGHNUT_CHART, COLUMN_METRIC, TABLE, GAUGE_CHART. |
| Update Visualization | Update an existing visualization. |
| Delete Visualization | Delete a visualization. Also decrements the vizCount on the parent dataset. |
| Tool | Description |
|---|
| Get Flow | Get 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 Flows | List data flows (reverse ETL / data activation) in a workspace. Returns flow names, triggers, enabled status, and linked datasets/destinations. |
| Tool | Description |
|---|
| List Workspace Events | List 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 Events | List events for a specific data object or dataset. Use to monitor deployment/refresh status. |
| List User Events | List pipeline execution events triggered by a specific user. |
| Get DPU Usage | Get 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. |
This page is automatically generated from the tool definitions in the codebase.