Salta l'installazione. Attivo in meno di 2 minuti.
Avvia una prova gratuita su cloud.anythingmcp.com, aggiungi Microsoft Power BI con un clic, poi punta il tuo client AI (Claude, ChatGPT, Copilot o Cursor) all'endpoint MCP generato. Niente Docker, niente git clone, nessuna esperienza di sviluppo richiesta.
AnythingMCP è nella directory dei connettori di Claude: aggiungilo a Claude con un clic (si apre in una nuova scheda), poi accedi e scegli quali server MCP può usare Claude.
In breve
Power BI REST API, con accesso tramite il tuo account Microsoft aziendale: workspace, modelli semantici, report, dashboard, dataflow, gateway e app, query DAX su un modello, origini dati, parametri, cronologia e pianificazione degli aggiornamenti, avvio o annullamento degli aggiornamenti. La modifica dei parametri del modello è disattivata all'installazione.
Prova a chiedere
Prompt di esempio per Microsoft Power BI
Clicca su un prompt per copiarlo. Incollalo in Claude, ChatGPT, Cursor, Gemini, Copilot o OpenClaw per eseguirlo contro questo connettore.
Claude è un'AI e può sbagliare. Verifica sempre le risposte.
💡 Niente installazione? Vai direttamente su cloud.anythingmcp.com. Accedi, clicca Connectors → Microsoft Power BI, inserisci le credenziali, genera una MCP API key e hai finito. Niente Docker, niente
git clone, niente server locale.
Microsoft Power BI + Claude
Power BI REST API, con accesso tramite il tuo account Microsoft aziendale: workspace, modelli semantici, report, dashboard, dataflow, gateway e app, query DAX su un modello, origini dati, parametri, cronologia e pianificazione degli aggiornamenti, avvio o annullamento degli aggiornamenti. La modifica dei parametri del modello è disattivata all'installazione.
Prerequisiti
Le istruzioni di setup complete sono incluse nel connettore stesso (visibili nello store quando lo selezioni). Le variabili d'ambiente richieste sono:
MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRET, MICROSOFT_TENANT_ID
Step 1 — Ottieni le credenziali
La configurazione richiede circa 10 minuti, una volta sola. Ti servono un account Microsoft aziendale o dell'istituto con licenza Power BI (Free, Pro o Premium Per User) e una registrazione app gratuita in Microsoft Entra. In alcune organizzazioni solo un amministratore può dare il consenso.
- Apri https://entra.microsoft.com, poi Applications, App registrations, New registration. Si può riutilizzare la registrazione app di un altro connettore Microsoft.
- Tipi di account supportati: di solito Accounts in this organizational directory only. Power BI funziona solo con account aziendali o dell'istituto, non con account Microsoft personali.
- URI di reindirizzamento: piattaforma Web,
https://cloud.anythingmcp.com/api/mcp-oauth/callbacksu AnythingMCP Cloud, oppure<your AnythingMCP URL>/api/mcp-oauth/callbackse ospiti AnythingMCP in proprio. Deve coincidere carattere per carattere, altrimenti Microsoft risponde AADSTS50011. - API permissions, Add a permission, Power BI Service, Delegated permissions: seleziona
Workspace.Read.All,Dataset.ReadWrite.All,Report.Read.All,Dashboard.Read.All,Dataflow.ReadWrite.All,Gateway.Read.AlleApp.Read.All. Per un connettore che deve solo leggere, usa inveceDataset.Read.AlleDataflow.Read.All. Poi clicca Grant admin consent se nella tua organizzazione gli utenti non possono dare il consenso da soli. - Certificates & secrets, New client secret: copia il Value del segreto (mostrato una sola volta), non il Secret ID.
- Incolla l'Application (client) ID in
MICROSOFT_CLIENT_IDe il valore del segreto inMICROSOFT_CLIENT_SECRET. ImpostaMICROSOFT_TENANT_IDsul Directory (tenant) ID, sul tuo dominio comecontoso.onmicrosoft.comoppure suorganizationsper un'app multi-tenant;commoneconsumersnon valgono. Installa il connettore. - Nella pagina del connettore clicca Authorize with Provider e accedi con un utente che ha una licenza Power BI. Il refresh token viene salvato cifrato e gli access token si rinnovano da soli. Esegui
power_bi_list_workspacesper verificare.
Scope: il connettore chiede https://analysis.windows.net/powerbi/api/.default offline_access. .default concede i permessi Power BI selezionati al passo 4 (aggiungili o toglili lì, poi autorizza di nuovo) e offline_access fornisce il refresh token. Non aggiungere scope di Microsoft Graph a questo connettore: un token serve una sola API.
Con quali accessi: l'AI vede esattamente ciò che l'utente collegato può vedere nel servizio Power BI. I modelli con sicurezza a livello di riga restituiscono solo le righe che quell'utente può vedere.
Cosa legge: i workspace e chi vi ha accesso con quale ruolo; per ogni workspace i modelli semantici (dataset), i report e le loro pagine, le dashboard e i loro riquadri, i dataflow e le importazioni di file .pbix, .rdl, .xlsx o .json; il contenuto dell'area di lavoro personale dell'utente (My workspace), che non ha un ID di workspace, con power_bi_list_my_datasets, power_bi_list_my_reports e power_bi_list_my_dashboards; le app installate con i loro report e dashboard; le origini dati e i parametri Power Query di un modello; la cronologia degli aggiornamenti (un aggiornamento fallito riporta l'errore in serviceExceptionJson), i dettagli di un aggiornamento avanzato e la pianificazione; le transazioni di aggiornamento e le origini dati dei dataflow; i gateway locali che l'utente amministra, le loro origini dati e se un gateway riesce a raggiungerne una.
Query DAX: power_bi_execute_dax_query risponde a domande con numeri presi da un modello semantico. Richiede l'impostazione del tenant Dataset Execute Queries REST API (nei portali di amministrazione più recenti Semantic model Execute Queries REST API; Admin portal, Tenant settings, Integration settings) e i permessi Read e Build sul modello. I modelli ospitati in Azure Analysis Services non sono supportati. Una query per chiamata, che inizia con EVALUATE (eventualmente dopo DEFINE), solo DAX. Per conoscere un modello, EVALUATE COLUMNSTATISTICS() elenca tabelle e colonne e EVALUATE TOPN(5, 'Table') mostra righe di esempio. L'API non elenca le misure (funzioni INFO e query DMV vengono rifiutate), quindi l'AI ti chiede i nomi delle misure o usa quelle mostrate nel report, e preferisce le misure del modello alla somma di colonne grezze. impersonated_user_name verifica la vista di un altro utente con la sicurezza a livello di riga e richiede il permesso di scrittura sul modello.
Cosa scrive: power_bi_refresh_dataset, power_bi_cancel_refresh e power_bi_refresh_dataflow sono attivi all'installazione. Un aggiornamento carica le origini e conta nel limite giornaliero, quindi l'AI chiede conferma prima di avviarlo. L'aggiornamento di un dataset risponde 202 senza contenuto; la nuova esecuzione compare in cima a power_bi_get_refresh_history con stato Unknown finché è in corso. La capacità condivisa (Pro) consente 8 aggiornamenti al giorno per modello, compresi quelli pianificati, e solo notify_option. Opzioni come type, objects o commit_mode lo rendono un aggiornamento avanzato, che richiede capacità Premium, PPU o Fabric e non deve inviare notify_option. Solo gli aggiornamenti avanzati si possono seguire con power_bi_get_refresh_details e annullare con power_bi_cancel_refresh.
Disattivato all'installazione: power_bi_update_dataset_parameters, che modifica i parametri Power Query di un modello (per esempio quale server o quale periodo carica) e ha effetto al prossimo aggiornamento. Attivalo come singolo tool solo se l'AI deve farlo.
Formati dei dati: gli elenchi arrivano come {"value": [...]}. Gli ID sono GUID. Gli orari sono ISO 8601 in UTC. webUrl apre l'elemento nel servizio Power BI. I risultati DAX arrivano in results[0].tables[0].rows, con chiavi di colonna come Table[Column] e colonne calcolate come [Name].
Paginazione e filtri: i tool di elenco restituiscono tutto in una volta, tranne power_bi_list_workspaces e power_bi_list_workspace_users, che si sfogliano con top e skip. I workspace si filtrano con OData, per esempio contains(name,'Sales').
Limiti: una query DAX restituisce una tabella con al massimo 100.000 righe o 1.000.000 di valori, a seconda di quale soglia si raggiunge prima, e 15 MB; ogni utente può eseguire 120 query al minuto. La Power BI REST API limita le chiamate per utente e per tenant, e una risposta 429 contiene Retry-After. Le capacità Premium rallentano gli aggiornamenti quando sono sovraccariche, e un aggiornamento rallentato per più di un'ora fallisce.
Errori comuni: 401 indica che l'autorizzazione è scaduta o revocata, o che il client secret è scaduto: incolla un nuovo segreto se serve e clicca di nuovo Authorize with Provider. 403 PowerBINotAuthorizedException o Unauthorized indica che l'utente non ha accesso a quel workspace o elemento, che manca un permesso del passo 4, oppure, per DAX, che mancano il permesso Build o l'impostazione del tenant. 404 ItemNotFound o PowerBIEntityNotFound indica un ID errato o un elemento in un altro workspace. 400 DatasetExecuteQueriesError indica una query DAX non valida; il messaggio del motore spiega perché. 400 su un aggiornamento indica notify_option inviato con opzioni avanzate, opzioni avanzate su capacità condivisa o un aggiornamento già in corso.
Il connettore non crea, modifica né elimina report, dashboard o modelli, non carica file .pbix e non usa Microsoft Graph. Non funziona con account Microsoft personali.
Step 2 — Installa l'adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Aggiungi il connettore in Claude
L'URL del tuo server: in AnythingMCP apri MCP Servers → il server su cui si trova questo connettore e copia il suo URL (
https://cloud.anythingmcp.com/mcp/…). Usalo ovunque questa guida mostraYOUR_SERVER_ID.
Percorso consigliato: funziona su claude.ai web senza toccare alcun file di configurazione.
- In Claude apri Customize → Connectors.
- Clicca + e poi Add custom connector.
- Inserisci un nome, ad esempio
Microsoft Power BI, e l'URL del server MCP remotohttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID, poi clicca Add. - Clicca Connect e accedi ad AnythingMCP (OAuth) per consentire l'accesso.
Tutti i tool sotto compaiono nella tua chat: inizia a scrivere prompt.
Tool disponibili
| Tool | What it does |
|---|---|
power_bi_list_workspaces | List the workspaces (groups) the signed-in user can access: id, name, isReadOnly, isOnDedicatedCapacity (Premium or Fabric capacity) and… |
power_bi_get_workspace | Read one workspace: name, read-only flag, capacity and default semantic model storage format |
power_bi_list_workspace_users | List who has access to a workspace: email or app id, display name, principalType (User, Group, App) and groupUserAccessRight (Admin… |
power_bi_list_datasets | List the semantic models (datasets) of a workspace: id, name, configuredBy (owner), isRefreshable, isOnPremGatewayRequired… |
power_bi_list_my_datasets | List the semantic models (datasets) in the signed-in user's My workspace |
power_bi_get_dataset | Read one semantic model (dataset) of a workspace: name, owner (configuredBy), isRefreshable, storage mode, whether it needs a gateway or an… |
power_bi_execute_dax_query | Run a DAX query against a semantic model and get the rows back as JSON (results[0].tables[0].rows, keys like "Table[Column]" or "[Measure]") |
power_bi_list_dataset_datasources | List the data sources of a semantic model: datasourceType (Sql, AnalysisServices, SharePointList, Web, File, ...), connectionDetails… |
power_bi_list_dataset_parameters | List the Power Query parameters of a semantic model: name, type, currentValue, isRequired and suggestedValues |
power_bi_get_refresh_history | Refresh history of a semantic model, newest first: requestId, refreshType (Scheduled, OnDemand, ViaApi, ...), startTime, endTime, status… |
power_bi_get_refresh_details | Execution details of one refresh of a semantic model (enhanced refreshes started through the API on Premium, PPU or Fabric capacity)… |
power_bi_get_refresh_schedule | The scheduled refresh of a semantic model: enabled, days, times, localTimeZoneId and notifyOption |
power_bi_list_reports | List the reports of a workspace: id, name, reportType (PowerBIReport or PaginatedReport), the datasetId it reads, description and webUrl |
power_bi_list_my_reports | List the reports in the signed-in user's My workspace: id, name, type, datasetId and webUrl |
power_bi_get_report | Read one report of a workspace: name, type, the datasetId (semantic model) behind it, description and webUrl |
power_bi_list_report_pages | List the pages of a Power BI report: name (the internal id used in URLs), displayName and order |
power_bi_list_dashboards | List the dashboards of a workspace: id, displayName, isReadOnly and webUrl |
power_bi_list_my_dashboards | List the dashboards in the signed-in user's My workspace: id, displayName, isReadOnly and webUrl |
power_bi_list_dashboard_tiles | List the tiles of a dashboard: id, title, the reportId and datasetId each tile comes from, and its size (rowSpan, colSpan) |
power_bi_list_dataflows | List the dataflows (Gen1) of a workspace: objectId, name, description and configuredBy |
power_bi_list_dataflow_transactions | Refresh transactions of a dataflow, newest first: id, refreshType, startTime, endTime and status |
power_bi_list_dataflow_datasources | List the data sources a dataflow reads: type, connection details and gateway ids |
power_bi_list_gateways | List the on-premises data gateways the signed-in user administers: id, name, type and gatewayStatus |
power_bi_list_gateway_datasources | List the data sources configured on a gateway: id, datasourceName, datasourceType, connectionDetails and credentialType |
power_bi_get_gateway_datasource_status | Check whether a gateway can reach one of its data sources |
power_bi_list_apps | List the Power BI apps installed for the signed-in user: id, name, description, publishedBy and lastUpdate |
power_bi_get_app | Read one installed app: name, description, publisher and last update |
power_bi_list_app_reports | List the reports of an installed app (ids are the app copies; datasetId names the semantic model) |
power_bi_list_app_dashboards | List the dashboards of an installed app: id, displayName, isReadOnly and webUrl |
power_bi_list_imports | List the imports (uploads of .pbix, .rdl, .xlsx or .json files) of a workspace: id, name, importState (Publishing, Succeeded, Failed)… |
power_bi_get_import | Read one import of a workspace: its state and the reports and semantic models it created |
power_bi_refresh_dataset | Start a refresh of a semantic model |
power_bi_cancel_refresh | Cancel a running enhanced refresh of a semantic model (one started through the API with enhanced options) |
power_bi_refresh_dataflow | Start a refresh of a dataflow |
power_bi_update_dataset_parameters | Change Power Query parameter values of a semantic model (for example a server name or a date range) |
Esempi di prompt
- "Quali modelli semantici del workspace Vendite hanno fallito l'ultimo aggiornamento, e perché?"
- "Secondo il modello dietro il report Panoramica vendite, qual è stato il fatturato per regione nel Q3 2026?"
- "Mostrami tabelle e colonne del modello Finanza e cinque righe di esempio della tabella Ordini."
- "Elenca le pagine del report Executive Summary e i riquadri della dashboard KPI."
- "Mostra la cronologia di oggi degli aggiornamenti del modello Magazzino, poi avvia un aggiornamento quando confermo."
FAQ
Funziona con Claude Code come con Claude Desktop? Sì, punta entrambi a https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID.
Prossimi passi
- Landing del connettore
- Collegare a ChatGPT
- Collegare a Cursor
- Collegare a Gemini
- Collegare a Meta Muse
- Collegare a Microsoft Copilot
Questa guida ti è stata utile?