MCP tools
Every tool OpenBI Studio gives an AI agent, generated from the studio’s own registrations, with the first sentence of each tool’s description: the agent’s manual. A plug-in that is on adds its own (see What a plug-in can do).
To connect an agent, see Connect your AI agent; for how it uses these, How agents work with OpenBI, and for the notebook tools, a real session call by call in Agents and notebooks.
Tools named dax_*, and those that take a measure’s or a filter’s expression, take OAX, OpenBI’s expression language, which is compatible with DAX (see OAX and DAX). The descriptions below are the tools’ own, which call it DAX.
OpenBI Studio 0.3.75 gives an agent 152 tools, in 13 areas. Read only marks a tool that changes nothing.
The guide
OpenBI's guidance for agents, searched or read on demand. 2 tools.
guide_readRead only- Reads a section of OpenBI's guide for agents whole.
guide_searchRead only- Searches all of OpenBI's guidance for agents and returns the sections that say how, best first.
The studio
What the developer has open, what happened, and the studio's own views. 6 tools.
engine_restart- Starts the studio's engine again on the open project.
excel_open- Analyze in Excel: opens Excel on the developer's computer with a PivotTable connected live to the model (Windows) …
studio_activityRead only- What was done in the open project, as the Activity panel showed it and kept since: the developer's actions and the agents' (which agent, which tool), newest first.
studio_screenshotRead only- A picture of the studio as the developer sees it.
studio_show- Shows a view of the studio to the developer.
studio_statusRead only- What is open in the studio.
Projects and versions
Open, create, import, copy and share projects; versions in git. 15 tools.
example_project_open- Opens one of OpenBI's example projects (copied once to Documents\OpenBI as a project of the user's own).
examplesRead only- The analytics tabs' examples for newcomers: each a question, the tables it reads, the notebook's kind and name, and a brief to build it from.
powerbi_desktopsRead only- The Power BI Desktops open on this computer, each with the file it has open (a .pbix, a .pbip, or none: a model not saved yet), its Analysis Services port and database (new at every launch), and its model's tables, rows and size.
project_changesRead only- What changed in the project since its last saved version (git): the files, a suggested version message and, with diff=true, the unified diff (TMDL, queries).
project_connect_live- A new OpenBI project connected live to a model in Analysis Services, Power BI or Fabric (its first saved version), opened.
project_copy- Copies the open project to a new project under a new name and opens it.
project_historyRead only- The project's saved versions (git log), newest first.
project_import- Imports a Power BI semantic model as a new OpenBI project (its first saved version) and opens it.
project_new- Creates an empty OpenBI project (a git repository with an empty model) and opens it.
project_open- Opens a project folder (the folder holding <Name>.SemanticModel) in the studio.
project_open_shared- Opens a shared model (an .openbimodel Share the model made).
project_restore_version- Goes back to a saved version (project_history).
project_save_version- Saves the project as a version (a git commit of everything changed) with a message saying what changed and why.
project_share- Share the model: the open project as one file (.openbimodel, a zip) the developer sends a colleague, who double-clicks it to open it in their studio (project_open_shared).
project_version_changesRead only- What a saved version changed (project_history's version; none: the changes not saved yet): its files and, with diff=true, the unified diff (of one file with path).
Data sources and queries
Sources, sign-ins, and the Power Query M or DuckDB SQL queries that load tables. 23 tools.
datasource_listRead only- The model's data sources (databases, S3, Azure).
datasource_sign_in- Asks the developer to sign in (again) to a data source of the model, e.g. after its password changed, and waits for them: a person must act.
duckdb_previewRead only- Runs DuckDB SQL in the project's engine and returns its columns and first rows (or runs a statement).
model_power_queryRead only- The tables that load with Power Query's M, each with its M, and the model's shared expressions (parameters and queries their M uses by name).
query_add_step- Adds a step at the end of a query and returns the new preview.
query_apply- Close & apply, as the developer presses it in Open Query (Transform data).
query_close- Closes a query without applying it (its changes are discarded).
query_dependenciesRead only- Open Query's Query dependencies (as Power Query's).
query_destination_clear- Removes a query's destination from its lake load (its attribute and its _DataDestination query; the query stays in the load, without one).
query_destination_set- Sets a query's destination (Transform data's Save to lake).
query_edit_table- Opens the query that loads an existing table in the transform editor.
query_from_m- Opens a new query written in M (let ... in ..., as Power Query writes queries): its steps show in the transform editor.
query_from_sql- Opens a new query whose source is any DuckDB SQL (joins, several files, functions).
query_listRead only- Every query of the model, as Open Query's Queries pane (Transform data) lists them, in their order.
query_new- Opens a new query in the transform editor for an item of a source (as source_browse lists them); item: its name (default: the first).
query_organize- What a query's menu does in Open Query, the transform editor, as Power Query's (applied to the model with query_apply).
query_remove_step- Removes a step (not the source) from a query.
query_set_m- Replaces an M query's whole M (let, its steps, in): it is read back into steps.
query_set_sql- Replaces a SQL query's whole SQL (as query_show returns it, with its '-- step:' lines); it is read back into steps.
query_showRead only- A query being edited: its steps, its text (M, or SQL), the SQL its M folded into, and a preview at a step (default: the last).
source_browseRead only- What a source offers (files, sheets, tables, views), each with the DuckDB SQL that reads it.
source_kindsRead only- The kinds of sources the studio reads (through DuckDB) and the values each needs.
sql_show- Shows a SQL query over the model (its tables by name; dax('EVALUATE ...') for OAX inside SQL) in the studio's query view and runs it, so the developer sees the query and its rows.
The model
Tables, columns, relationships and measures. 25 tools.
calculated_column_add- Adds a calculated column: OAX evaluated for each row of the table (RELATED reaches the one side of a relationship).
column_delete- Deletes a calculated column (a column from the table's query goes with a step in Transform data).
column_set- Changes a column: new_name, format, folder, description, hidden, sort_by (a column of the table), data_category, and the OAX of a calculated column (expression).
dax_formatRead only- OAX (compatible with DAX) formatted as DAX Formatter (www.daxformatter.com) lays it out, by SQLBI's rules.
measure_checkRead only- Evaluates an OAX (compatible with DAX) measure expression over the whole model without saving it.
measure_delete- Deletes a measure.
measure_describe- Proposes descriptions for measures, for the developer to review.
measure_folders- Puts measures in display folders, many at once (Power BI's display folders: the Data pane shows them as folders, Excel too).
measure_propose- Puts OAX in the developer's formula bar for them to review, without saving it.
measure_server_set- A live connection: this project's properties of one of the server's measures - format, folder, description, hidden - kept in the project's TMDL, not on the server (whose model stays as it is).
measure_set- Adds or changes a measure (old_name renames one).
measures_format- Formats the OAX of the project's measures (all, or one table's) as DAX Formatter lays it out, in one change the developer can undo.
measures_undescribedRead only- The model's measures that have no description, with what you need to write one.
model_measuresRead only- The model's measures with their OAX (compatible with DAX), format, display folder and description: where a number starts.
model_relationshipsRead only- The model's relationships: from the many side to the one side (oneToOne: each key once on both), active or not, filtering one way or both.
model_reload- Re-reads the model from disk (after files changed, e.g. git pull) and loads its data.
model_set- Changes the model's own settings.
model_sizeRead only- What makes the model big: its size in memory table by table and column by column, as the studio's Model analyzer shows it (DAX Studio's VertiPaq Analyzer).
model_tablesRead only- The model's tables with their columns (types) and measures, and their rows.
project_server_differencesRead only- A live connection: what this project has differently from the server's model (Analysis Services, Power BI, Fabric), kept in its files only.
relationship_delete- Deletes a relationship by its name (model_relationships lists them).
relationship_set- Adds a relationship, or changes one (name): from = the many side as Table[Column], to = the one side.
table_mark_date- Marks a table as a date table (Power BI's Mark as date table) by its column of dates: each date once, none blank, every day from the first to the last (checked first).
table_set- Changes a table's description or whether it is hidden from report authors.
table_view- Shows a table's rows to the developer in the Tables view, as Power BI's table view.
OAX queries
Questions answered with OAX queries (compatible with DAX), timed and compared. 4 tools.
dax_benchmarkRead only- Runs an OAX query several times and says how long it takes, as DAX Studio's Run Benchmark.
dax_compareRead only- "Improve this DAX" in one call.
dax_queryRead only- Runs an OAX (compatible with DAX) query (EVALUATE ...) against the loaded model and returns a page of its rows.
dax_show- Shows an OAX (compatible with DAX) query in the studio's OAX view (and runs it), so the developer sees the query and its rows.
Report pages
Pages written, checked, looked at and exported. 24 tools.
report_checkRead only- Opens a page in the studio and returns its state.
report_copy- Copies components of a page to another page or the same one, as selecting them and Ctrl+C, Ctrl+V do in the studio.
report_delete- Deletes a page (it stays in the project's earlier versions).
report_duplicate- Copies a page to a new page right after it (its title "<title> (copy)" unless given one), and shows it.
report_edit- Changes one component, or one piece of the page's own text, without rewriting the page (its other text stays as written, so the change is a small diff and the developer's edits elsewhere on the page are kept).
report_export- A table's or a matrix's data as it shows it now: every row its filters, search and sort give (a matrix's every level), as the menu's Excel and OpenBI.data have it.
report_filters- A page's filters (on every one of its components, as Power BI's filters on this page: <obi-page-filter> elements) and the report's (on every page, as Power BI's filters on all pages: reports/report.json), and changes to them.
report_import- Imports whole report pages of another project into this one, as the studio's Import pages… and a page tab's Copy page / Paste page do.
report_lab- Saves one page as an offline lab.
report_order- Puts the report's pages in this order (their names): the tabs, the page menu (obi-nav) and /r/ list them so.
report_pagesRead only- The report's pages in the report's order (reports/<name>.html, opened at /r/<name>).
report_plan_snapshot- The review page of a saved plan version (an operations research notebook's Results.Save(name, solution)): what a person looks at before approving it.
report_readRead only- A page's components, numbered as report_edit and the page's state number them, its text blocks (texts: each paragraph, heading or text box of the page's own, numbered as report_edit's text_block takes them, with its id and first words) …
report_referenceRead only- How to write report pages.
report_screenshotRead only- A picture of a page as it renders in the studio, as its readers see it (Design mode's gridlines and selection left out; a visual still loading after 30 seconds is pictured as it is).
report_select- Chooses on a page in the studio's view, as the developer would by clicking, and answers once it has drawn with {errors, state} (report_state's).
report_settings- The report's presets of columns and its own descriptions (reports/report.json); with no arguments, both as they are.
report_slides- Saves the report's pages as slides, a visual per step as presenting has them (in reading order, cards in a row together; step="n" on a visual sets its own, 0: with the page).
report_stateRead only- What a page shows now and why, as the developer sees it in the studio.
report_theme- The report's theme, its look on every page (reports/report.json "theme", the studio's Design tab).
report_undo- Undoes the report's last change (the developer's Ctrl+Z).
report_view- How the Report view shows a page to the developer, as its toolbar and panes set it.
report_what_if- Writes a what-if page for an operations research plan or a valuation in use.
report_write- Writes a whole page (new or replacing it): HTML that loads /openbi.js and places components (see report_reference).
Roles and security
Roles, groups and who sees what. 8 tools.
group_delete- Deletes a group (and its place in other groups and in roles).
group_set- Adds or changes a group (old_name renames it, and every reference to it): members are e-mails and group:name, email_domains take everyone of a domain (e.g. partner.no).
role_delete- Deletes a role (and its members in security/directory.json).
role_set- Adds or changes a role (old_name renames one).
security_checkRead only- What roles (comma-separated, combined as the server does) or a user see: each table's visible rows of all its rows, and the tables and columns hidden from them.
security_groupsRead only- The groups of security/directory.json: their members (e-mails, group:name) and e-mail domains.
security_peopleRead only- Who sees what: everyone security/directory.json names, their groups and the roles they get in this model (none: the server does not let them in).
security_rolesRead only- The model's roles: their row filters (OAX per table), tables and columns hidden from them, and their members (from security/directory.json, and those the model names itself).
Predictions
Churn, forecasts and scores, from the business question to a version in use. 10 tools.
prediction_check- Runs a prediction's notebook up to the learning, without learning.
prediction_create- Creates a prediction from a pattern and writes it as a notebook (predictions/<name>/: prediction.json and notebook.ipynb), shown to the developer.
prediction_delete- Deletes a prediction: its definition, notebook, model versions and its table in the model (what git keeps stays in the project's earlier versions; the versions' training rows, never in git, do not).
prediction_getRead only- A prediction: its pattern's definition, its notebook's steps, its model versions (which is in use, which wait for approval), the latest version's verdict (strong, useful, weak, no better, uncertain), in words, with its warnings …
prediction_listRead only- The project's predictions: pattern, question, the version in use and the one waiting for approval, the latest verdict, the table in the model.
prediction_patternsRead only- The business questions OpenBI answers with predictions, each a pattern.
prediction_set- Changes a prediction's definition.
prediction_suggestRead only- What the open model offers a pattern.
prediction_train- Runs a prediction's notebook from the start (the developer watches it).
prediction_use- Puts a prediction's version in use into the model.
Notebooks and analytics
Notebooks, the versions they save, and the analytics catalog. 19 tools.
analytics_catalogRead only- What OpenBI's notebooks can do for a goal of serious analytics, and how.
explainRead only- A notebook's version in use (else its latest: a draft is solved as the studio's own test) in words, for the developer or a decision maker.
model_import- A LightGBM model a data scientist made elsewhere, as a draft version of the notebook's prediction.
model_reproduce- Retrains a version from what it kept (its training rows, features, parameters) and says whether the model is the same, bit for bit.
model_use- Puts the notebook's version in use in the model.
model_version_compareRead only- Two versions side by side.
model_versionsRead only- A notebook's versions (a prediction's models; a plan's, a valuation's or a network's results).
model_versions_checkRead only- Checks every version against its fingerprints, each version against the one before, and the history's chain: unchanged, or what changed.
notebook_create- A new notebook, shown to the developer.
notebook_from_prediction- A pattern's prediction (prediction_create) as a notebook in its folder.
notebook_interrupt- Stops the running step; one that does not stop is ended by restarting the kernel (its variables are then gone).
notebook_listRead only- The project's notebooks - predictions, operations research models, valuations (quantitative), networks - each with its kind and versions.
notebook_pdf- The notebook as a paper, typeset with Typst into a PDF.
notebook_readRead only- A notebook's steps in order.
notebook_restart- Starts the notebook's kernel afresh, as its Restart button does: every variable is gone, so run the steps again.
notebook_run- Runs steps on the notebook's kernel, in order, stopping at the first that fails.
notebook_step_add- Adds a step (after the step 'after' names - its id or its name, as notebook_read lists them; a name no step has is an error listing the steps -, else at the end).
notebook_step_edit- Changes a step (step: its id or its name): its code, its name, its parameters (JSON object; {} removes them).
notebook_step_remove- Removes a step (step: its id or its name; the project's earlier versions keep it).
Lakes
OpenBI Lake: lakes, their tables, loads and backups. 11 tools.
lake_backup- Backs up a lake now and waits for it (lake: name or address; default the project's own "Lake").
lake_backup_verifyRead only- Checks a backup where it is and waits (backup: its id from lake_backups; default the newest).
lake_backupsRead only- A lake's backups (lake: default the project's "Lake").
lake_create- Makes a lake.
lake_listRead only- The OpenBI lakes the studio knows.
lake_load- Runs a lake load and waits for it.
lake_maintain- A lake's maintenance.
lake_previewRead only- Rows of a lake's table (table: schema.table, or a table of main), as it is now or at a version (lake_snapshots lists them).
lake_restore- Restores a backup as a NEW lake and waits (backup: its id; default the newest; folder: a new or empty folder - default the project's .openbi\restored\<name>-v<version>-<time>).
lake_snapshotsRead only- A lake's versions (DuckLake's snapshots), newest first.
lake_tablesRead only- A lake's tables (lake: its name or address; default the project's "Lake").
OpenBI Server
Publishing to a server and pulling pages edited there. 3 tools.
project_publish- Publishes the open project to a workspace on OpenBI Server, where the workspace's people open its reports in their browser.
project_pull- The newer versions OpenBI Server has of the item this computer published the open project as - a report edited in the browser (Editing), another developer's publish - and their pages pulled into the project.
server_workspacesRead only- The workspaces on an OpenBI Server the developer is in.
Plug-ins and PDFs
Installing a plug-in, and checking a PDF. 2 tools.
pdf_checkRead only- Looks at a PDF as a reader would, before you call it done.
plugin_install- Installs an OpenBI Studio plug-in from its downloaded zip (OpenBI-Plugin-<Name>-<version>.zip from www.openbi.no/sdk/, or a publisher's own).