Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 0 additions & 12 deletions app/en/resources/integrations/search/_meta.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -57,18 +57,6 @@ const meta: MetaRecord = {
title: "Exa API",
href: "/en/resources/integrations/search/exa-api",
},
"-- Partners": {
type: "separator",
title: "Partners",
},
nimble: {
title: "Nimble",
href: "/en/resources/integrations/search/nimble",
},
tavily: {
title: "Tavily",
href: "/en/resources/integrations/search/tavily",
},
};

export default meta;
8 changes: 4 additions & 4 deletions toolkit-docs-generator/data/toolkits/index.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"generatedAt": "2026-08-13T11:20:08.312Z",
"generatedAt": "2026-08-25T11:09:45.211Z",
"version": "1.0.0",
"toolkits": [
{
Expand Down Expand Up @@ -698,7 +698,7 @@
{
"id": "MicrosoftPowerbi",
"label": "Microsoft Power BI",
"version": "0.3.0",
"version": "0.3.1",
"category": "productivity",
"type": "arcade",
"toolCount": 15,
Expand All @@ -716,7 +716,7 @@
{
"id": "MicrosoftSharepoint",
"label": "Microsoft SharePoint",
"version": "0.2.2",
"version": "0.2.3",
"category": "productivity",
"type": "arcade",
"toolCount": 36,
Expand Down Expand Up @@ -905,7 +905,7 @@
{
"id": "Snowflake",
"label": "Snowflake",
"version": "0.1.0",
"version": "0.1.2",
"category": "databases",
"type": "arcade",
"toolCount": 7,
Expand Down
35 changes: 18 additions & 17 deletions toolkit-docs-generator/data/toolkits/microsoftpowerbi.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"id": "MicrosoftPowerbi",
"label": "Microsoft Power BI",
"version": "0.3.0",
"version": "0.3.1",
"description": "Arcade MCP toolkit for Microsoft Power BI",
"metadata": {
"category": "productivity",
Expand All @@ -27,7 +27,7 @@
{
"name": "DatasetGatewayHealth",
"qualifiedName": "MicrosoftPowerbi.DatasetGatewayHealth",
"fullyQualifiedName": "MicrosoftPowerbi.DatasetGatewayHealth@0.3.0",
"fullyQualifiedName": "MicrosoftPowerbi.DatasetGatewayHealth@0.3.1",
"description": "Report whether each of a dataset's gateway-bound data sources is currently\nreachable.\n\nPoint this at a dataset whose refresh failed to tell whether the gateway path is\nhealthy before escalating. Stored credentials are never returned.",
"parameters": [
{
Expand Down Expand Up @@ -100,7 +100,7 @@
{
"name": "GetDatasetRefreshHistory",
"qualifiedName": "MicrosoftPowerbi.GetDatasetRefreshHistory",
"fullyQualifiedName": "MicrosoftPowerbi.GetDatasetRefreshHistory@0.3.0",
"fullyQualifiedName": "MicrosoftPowerbi.GetDatasetRefreshHistory@0.3.1",
"description": "Get the most recent refresh runs of a semantic model, with status and timing.\n\nReturns each run newest first with its status, type, start/end time, and any error.\nPower BI reports a run's status as 'Unknown' while it is still in progress or its\noutcome is not yet known, so each run also carries `is_terminal`: false while the run\nis still running (status 'Unknown'), true once it has settled ('Completed', 'Failed',\nor 'Disabled'). Re-poll this tool while the newest run is not terminal to obtain its\nfinal status.",
"parameters": [
{
Expand Down Expand Up @@ -186,7 +186,7 @@
{
"name": "GetReport",
"qualifiedName": "MicrosoftPowerbi.GetReport",
"fullyQualifiedName": "MicrosoftPowerbi.GetReport@0.3.0",
"fullyQualifiedName": "MicrosoftPowerbi.GetReport@0.3.1",
"description": "Get a single Power BI report's detail, including the semantic model (dataset) it is built on.",
"parameters": [
{
Expand Down Expand Up @@ -259,7 +259,7 @@
{
"name": "GetSchema",
"qualifiedName": "MicrosoftPowerbi.GetSchema",
"fullyQualifiedName": "MicrosoftPowerbi.GetSchema@0.3.0",
"fullyQualifiedName": "MicrosoftPowerbi.GetSchema@0.3.1",
"description": "Get the full structure of a Power BI semantic model.\n\nReturns each table with its columns and measures and the relationships between tables,\nso a caller can compose valid DAX that references real table and column names. Each\nmeasure carries its DAX expression when the model exposes it; a read-only caller may\nnot receive measure formulas, in which case expression_available is false.",
"parameters": [
{
Expand Down Expand Up @@ -332,7 +332,7 @@
{
"name": "InspectDataset",
"qualifiedName": "MicrosoftPowerbi.InspectDataset",
"fullyQualifiedName": "MicrosoftPowerbi.InspectDataset@0.3.0",
"fullyQualifiedName": "MicrosoftPowerbi.InspectDataset@0.3.1",
"description": "Inspect one dataset in a single call: where it pulls data from, what parameters\ndrive it, when it refreshes, and its core detail (owner, storage mode, refreshable).\n\nUse this to diagnose a dataset that \"looks wrong\" without three separate calls.\nStored credentials are never returned for any data source.",
"parameters": [
{
Expand Down Expand Up @@ -405,7 +405,7 @@
{
"name": "ListDatasets",
"qualifiedName": "MicrosoftPowerbi.ListDatasets",
"fullyQualifiedName": "MicrosoftPowerbi.ListDatasets@0.3.0",
"fullyQualifiedName": "MicrosoftPowerbi.ListDatasets@0.3.1",
"description": "List the Power BI semantic models (datasets) in a workspace.\n\nResults are paginated: when next_cursor is non-empty, pass it back verbatim to fetch\nthe next page.",
"parameters": [
{
Expand Down Expand Up @@ -491,7 +491,7 @@
{
"name": "ListGateways",
"qualifiedName": "MicrosoftPowerbi.ListGateways",
"fullyQualifiedName": "MicrosoftPowerbi.ListGateways@0.3.0",
"fullyQualifiedName": "MicrosoftPowerbi.ListGateways@0.3.1",
"description": "List the data gateways the caller administers, with the id needed to reference\neach one.",
"parameters": [],
"auth": {
Expand Down Expand Up @@ -536,7 +536,7 @@
{
"name": "ListReports",
"qualifiedName": "MicrosoftPowerbi.ListReports",
"fullyQualifiedName": "MicrosoftPowerbi.ListReports@0.3.0",
"fullyQualifiedName": "MicrosoftPowerbi.ListReports@0.3.1",
"description": "List the Power BI reports in a workspace, each with the semantic model (dataset) it is built on.\n\nResults are paginated: when next_cursor is non-empty, pass it back verbatim to fetch\nthe next page.",
"parameters": [
{
Expand Down Expand Up @@ -622,7 +622,7 @@
{
"name": "ListWorkspaceMembers",
"qualifiedName": "MicrosoftPowerbi.ListWorkspaceMembers",
"fullyQualifiedName": "MicrosoftPowerbi.ListWorkspaceMembers@0.3.0",
"fullyQualifiedName": "MicrosoftPowerbi.ListWorkspaceMembers@0.3.1",
"description": "List who can access a workspace and the role each principal holds, for an\naccess review.\n\nA single call returns one consistent snapshot of the page it serves, in a stable\nsorted order (by principal identifier) so pages are deterministic. The default limit\nis the maximum (50), so a definitive access review should fit in one page; when\nnext_cursor is non-empty the listing was truncated and multi-page reads are best-effort\n(membership changes between pages can skip or duplicate principals) -- the warning field\nflags this. Only what the Power BI portal itself shows for a member is returned; no\nsecrets.",
"parameters": [
{
Expand Down Expand Up @@ -708,7 +708,7 @@
{
"name": "ListWorkspaces",
"qualifiedName": "MicrosoftPowerbi.ListWorkspaces",
"fullyQualifiedName": "MicrosoftPowerbi.ListWorkspaces@0.3.0",
"fullyQualifiedName": "MicrosoftPowerbi.ListWorkspaces@0.3.1",
"description": "List the Power BI workspaces (groups) the calling user can access.\n\nReturns each workspace's id and name. Results are paginated: when next_cursor is\nnon-empty, pass it back verbatim to fetch the next page.",
"parameters": [
{
Expand Down Expand Up @@ -781,7 +781,7 @@
{
"name": "RunDax",
"qualifiedName": "MicrosoftPowerbi.RunDax",
"fullyQualifiedName": "MicrosoftPowerbi.RunDax@0.3.0",
"fullyQualifiedName": "MicrosoftPowerbi.RunDax@0.3.1",
"description": "Run a DAX query against a semantic model and return the rows as structured data.\n\nThe query must be a DAX EVALUATE statement, for example:\n EVALUATE TOPN(100, 'Sales')\n EVALUATE SUMMARIZECOLUMNS('Date'[Year], \"Revenue\", SUM('Sales'[Amount]))\n EVALUATE FILTER('Product', 'Product'[Category] = \"Bikes\")\nResults are capped at max_rows and a size budget; when capped, truncated is true,\nso narrow the query rather than assume the rows are complete. columns lists the full\nprojection the query returned even when a wide row is size-trimmed, so a column may\nappear in columns without a matching key in every returned row. Invalid DAX is\nreported as a clear error.",
"parameters": [
{
Expand Down Expand Up @@ -880,7 +880,7 @@
{
"name": "TriggerDatasetRefresh",
"qualifiedName": "MicrosoftPowerbi.TriggerDatasetRefresh",
"fullyQualifiedName": "MicrosoftPowerbi.TriggerDatasetRefresh@0.3.0",
"fullyQualifiedName": "MicrosoftPowerbi.TriggerDatasetRefresh@0.3.1",
"description": "Start an on-demand refresh of a semantic model.\n\nA refresh can take a long time (minutes or more for a large model), so this\nreturns as soon as the refresh is accepted rather than waiting for it to finish.\nThe run's progress and final success or failure are recorded in the model's\nrefresh history.",
"parameters": [
{
Expand Down Expand Up @@ -953,7 +953,7 @@
{
"name": "UpdateDatasetSettings",
"qualifiedName": "MicrosoftPowerbi.UpdateDatasetSettings",
"fullyQualifiedName": "MicrosoftPowerbi.UpdateDatasetSettings@0.3.0",
"fullyQualifiedName": "MicrosoftPowerbi.UpdateDatasetSettings@0.3.1",
"description": "Repoint a dataset's parameters and/or change its refresh timing in one request.\n\nUpsert/patch semantics: only the fields supplied are applied; everything else is\nleft untouched. Setting a parameter the dataset does not define is refused with the\nlist of parameter names it actually exposes, rather than reported as a false success.\nPower BI ignores day/time edits while scheduled refresh is disabled, so set\nrefresh_enabled=true in the same call when you want new times to take effect.\nEach applied parameter is returned with the previous_value observed just before the\nwrite, so the change is auditable and the prior value can be restored. A committed\nparameter change only updates the model definition -- run trigger_dataset_refresh\nafterwards so query and report results reflect the new values.",
"parameters": [
{
Expand Down Expand Up @@ -1123,7 +1123,7 @@
{
"name": "ValidateDax",
"qualifiedName": "MicrosoftPowerbi.ValidateDax",
"fullyQualifiedName": "MicrosoftPowerbi.ValidateDax@0.3.0",
"fullyQualifiedName": "MicrosoftPowerbi.ValidateDax@0.3.1",
"description": "Check whether a DAX query is valid for a semantic model without returning its rows.\n\nReturns valid=true when the query is accepted, or valid=false with a short error\nwhen it is not. Transient, auth, and server errors are raised (not reported as\ninvalid) so the caller retries rather than rewriting valid DAX.",
"parameters": [
{
Expand Down Expand Up @@ -1209,7 +1209,7 @@
{
"name": "WhoAmI",
"qualifiedName": "MicrosoftPowerbi.WhoAmI",
"fullyQualifiedName": "MicrosoftPowerbi.WhoAmI@0.3.0",
"fullyQualifiedName": "MicrosoftPowerbi.WhoAmI@0.3.1",
"description": "Report the Microsoft account the toolkit is acting as: id, name, UPN, and tenant.\n\nUse this to confirm which user the current connection authenticates as before\nreading or changing anything. Identity is read from the signed-in user's own Power\nBI access token (Power BI has no current-user endpoint); it is for display and\nconfirmation only, not an authorization decision, and the fields are best-effort.\nBecause identity is derived from the token's claims, it is unavailable when Microsoft\nissues an opaque or encrypted (non-JWT) access token -- Microsoft is rolling out\nencrypted access tokens for Microsoft-owned APIs -- in which case this tool fails with\na clear error while every other Power BI tool keeps working.",
"parameters": [],
"auth": {
Expand Down Expand Up @@ -1255,6 +1255,7 @@
"documentationChunks": [],
"customImports": [],
"subPages": [],
"generatedAt": "2026-07-16T11:38:49.699Z",
"curationSourceHash": "da70ed30d9201488046d1ae1b04dc45cf6378210501e24b53236a4aa02f1ef89",
"generatedAt": "2026-08-25T11:09:44.969Z",
"summary": "Microsoft Power BI toolkit for Arcade enables AI agents and developers to query, inspect, manage, and refresh Power BI semantic models, reports, workspaces, and gateways through the Power BI REST API.\n\n## Capabilities\n\n- **Workspace & access management:** List workspaces, enumerate workspace members with their roles, and identify the authenticated user identity for pre-flight checks.\n- **Report & dataset discovery:** List and retrieve reports and semantic models (datasets), including paginated browsing across large workspaces.\n- **Schema inspection & DAX execution:** Fetch full semantic model schemas (tables, columns, measures, relationships) to compose valid DAX; run `EVALUATE` queries against live data; validate DAX syntax without returning rows.\n- **Dataset diagnostics:** Inspect a dataset's data sources, parameters, refresh schedule, and owner in a single call; check gateway/data-source reachability; retrieve paginated refresh history with terminal-state tracking.\n- **Refresh & settings management:** Trigger on-demand semantic model refreshes; update dataset parameters and refresh schedules with patch semantics, with before/after audit values returned.\n- **Gateway management:** List administered data gateways and their identifiers for downstream configuration and health checks.\n\n## OAuth\n\nThis toolkit uses OAuth 2.0 delegated authentication via the **Microsoft Power BI** provider. Arcade handles the OAuth flow; see the [Microsoft Power BI auth provider docs](https://docs.arcade.dev/en/references/auth-providers/microsoft-powerbi) for setup details, required permissions, and configuration."
}
Loading
Loading