MCPInstall

semantic-model-consumption

Execute raw DAX queries and inspect metadata of Microsoft Fabric Power BI semantic models via the MCP server ExecuteQuery tool. Use when the user already knows the DAX to write, wants to run EVALUATE statements, or needs to inspect model metadata (tables, columns, measures, relationships, hierarchies) using INFO functions. For natural-language business questions (where you generate the DAX), use fabriciq. For creating, deploying, or managing semantic model definitions, use semantic-model-authoring. Triggers: "run DAX query", "execute EVALUATE", "semantic model metadata", "list semantic model tables", "INFO.VIEW.TABLES", "get measure expression", "DAX against", "query the model".

Installs
97
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/microsoft/skills-for-fabric --skill semantic-model-consumption
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads semantic-model-consumption automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Update Check — ONCE PER SESSION (mandatory) The first time this skill is used in a session, run the check-updates skill before proceeding.

  • GitHub Copilot CLI / VS Code: invoke the check-updates skill.
  • Claude Code / Cowork / Cursor / Windsurf / Codex: compare local vs remote package.json version.
  • Skip if the check was already performed earlier in this session.

CRITICAL NOTES

  1. To find the workspace details (including its ID) from workspace name: list all workspaces and, then, use JMESPath filtering
  2. To find the item details (including its ID) from workspace ID, item type, and item name: list all items of that type in that workspace and, then, use JMESPath filtering

Power BI Semantic Model Consumption

Table of Contents

TaskReferenceNotes
Finding Workspaces and Items in FabricCOMMON-CLI.md § Finding Workspaces and Items in FabricMandatory — READ link first [needed for finding workspace id by its name or item id by its name, item type, and workspace id]
Fabric Topology & Key ConceptsCOMMON-CORE.md § Fabric Topology & Key ConceptsHierarchy; Finding Things in Fabric
Environment URLsCOMMON-CORE.md § Environment URLsProduction (Public Cloud)
Authentication & Token AcquisitionCOMMON-CORE.md § Authentication & Token AcquisitionWrong audience = 401; covers token audiences, delegated vs app permissions, OAuth flows, identity types, and Entra app registration
Core Control-Plane REST APIsCOMMON-CORE.md § Core Control-Plane REST APIsIncludes workspace/item CRUD, resolve-by-name, pagination, LRO polling, and rate-limiting patterns
OneLake Data AccessCOMMON-CORE.md § OneLake Data AccessRequires storage.azure.com token, not Fabric token; covers URL structure, ADLS Gen2 parity, and shortcuts
Job ExecutionCOMMON-CORE.md § Job ExecutionRun On-Demand Job; Get / Cancel Job
Capacity ManagementCOMMON-CORE.md § Capacity ManagementList Capacities; Assign Workspace to Capacity
Gotchas, Best Practices & TroubleshootingCOMMON-CORE.md § Gotchas, Best Practices & TroubleshootingCommon Errors; Best Practices
Tool Selection RationaleCOMMON-CLI.md § Tool Selection Rationale
Authentication RecipesCOMMON-CLI.md § Authentication Recipesaz login flows, environment detection, token acquisition, and debugging
Fabric Control-Plane API via az restCOMMON-CLI.md § Fabric Control-Plane API via az restAlways pass --resource; includes workspace/item operations, pagination, and LRO patterns
OneLake Data Access via curlCOMMON-CLI.md § OneLake Data Access via curlUse curl not az rest (different token audience); file list/read/upload/delete and directory creation
SQL / TDS Data-Plane AccessCOMMON-CLI.md § SQL / TDS Data-Plane Accesssqlcmd (Go) connect, query, CSV export, service principal auth, and connection parameter discovery
Job Execution (CLI)COMMON-CLI.md § Job ExecutionRun notebooks/pipelines, refresh semantic models, check/cancel jobs
OneLake ShortcutsCOMMON-CLI.md § OneLake ShortcutsCreate a Shortcut; List Shortcuts; Delete a Shortcut
Capacity Management (CLI)COMMON-CLI.md § Capacity ManagementList Capacities; Assign Workspace to Capacity
Composite RecipesCOMMON-CLI.md § Composite RecipesEnd-to-end workspace→lakehouse→file, SQL endpoint→query, and notebook execution recipes
Gotchas & Troubleshooting (CLI-Specific)COMMON-CLI.md § Gotchas & Troubleshooting (CLI-Specific)
Quick ReferenceCOMMON-CLI.md § Quick Referenceaz rest Template; Token Audience ↔ CLI Tool Matrix
PrerequisitesSKILL.md § Prerequisites
Must/Prefer/AvoidSKILL.md § Must/Prefer/AvoidGuardrails for read-only semantic model usage. MUST DO; PREFER; AVOID
Metadata DiscoverySKILL.md § Metadata DiscoveryINFO.VIEW.* and INFO.* functions.
Recommended Discovery OrderSKILL.md § Recommended Discovery OrderPreferred order for metadata exploration
Frequently Used INFO FunctionsSKILL.md § Frequently Used INFO FunctionsHigh-usage function list for first-pass discovery
Complete INFO Function Catalog (Dynamic)discovery-queries.md § Complete INFO Function Catalog (Dynamic)
Metadata Object → INFO Function MapSKILL.md § Metadata Object → INFO Function MapInlined mapping for object-focused discovery
Query ExecutionSKILL.md § Query ExecutionExecuteQuery usage shape
TroubleshootingSKILL.md § TroubleshootingResolve common execution and metadata issues
ExamplesSKILL.md § ExamplesSample Metadata Query; Sample Data Query
Scope Estimation Queriesdiscovery-queries.md § Scope Estimation Queries
INFO Output Columnsdiscovery-queries.md § INFO Output ColumnsINFO.VIEW.* (preferred first-pass metadata); Critical INFO.* (deep metadata / diagnostics)
Narrowing Results (Projection + Filtering)discovery-queries.md § Narrowing Results (Projection + Filtering)
Deep Metadata Queriesdiscovery-queries.md § Deep Metadata Queries
Dependency Discoverydiscovery-queries.md § Dependency DiscoveryDependency rowset for a DAX query; Dependency rows scoped to a measure; Reverse dependencies (what references a measure)

Prerequisites

  • COMMON-CORE.md — Fabric concepts, authentication, and control-plane API context.
  • COMMON-CLI.md — CLI-oriented discovery and token/audience patterns.

Must/Prefer/Avoid

MUST DO

  • Call MCP tools for discovery and execution — use DiscoverArtifacts to find the semantic model GUID and ExecuteQuery to run DAX queries. These are MCP tool invocations, not shell commands. Do NOT use az rest, Get-Command, or PowerShell scripts to discover or invoke them.
  • Keep this skill read-only: metadata discovery and analytical DAX queries only.
  • Treat DAX data queries and INFO.VIEW.* as available to any user with read access to the semantic model; assume other INFO.* functions may require elevated permissions.
  • Resolve workspace and semantic model item identity dynamically; do not hardcode IDs.
  • Use DAX INFO.VIEW.* / INFO.* for metadata discovery before writing data queries.

PREFER

  • Validate semantic model scope early (artifactId) before iterative query refinement.
  • Discover semantic model schema progressively: use filtered and projected INFO.VIEW.* / INFO.* calls (e.g., SELECTCOLUMNS + FILTER) to fetch only the information directly relevant to the current task instead of retrieving the full schema up front. See discovery-queries.md § Narrowing Results (Projection + Filtering).
  • Keep guidance provider-agnostic so tool endpoint migration is low risk.

AVOID

  • Model-change operations in this skill.

Recommended Discovery Order

  1. Run the discovery-queries.md § Scope Estimation Queries to estimate metadata scope (table, column, measure, and relationship counts) before deep discovery.
  2. Start with INFO.VIEW.TABLES() for a fast table inventory.
  3. Expand to INFO.VIEW.COLUMNS() and INFO.VIEW.MEASURES() for semantic details.
  4. Use INFO.VIEW.RELATIONSHIPS() to validate joins and filter behavior.
  5. Use the full query catalog in discovery-queries.md for deeper patterns.

Frequently Used INFO Functions

  • INFO.VIEW.TABLES
  • INFO.VIEW.MEASURES
  • INFO.VIEW.COLUMNS
  • INFO.VIEW.RELATIONSHIPS
  • INFO.PARTITIONS
  • INFO.MODEL
  • INFO.STORAGETABLECOLUMNSEGMENTS
  • INFO.DEPENDENCIES
  • INFO.EXPRESSIONS
  • INFO.ROLES
  • INFO.STORAGETABLECOLUMNS
  • INFO.CALCULATIONGROUPS
  • INFO.CALCULATIONITEMS
  • INFO.CULTURES
  • INFO.OBJECTTRANSLATIONS
  • INFO.USERDEFINEDFUNCTIONS
  • INFO.REFRESHPOLICIES
  • INFO.ATTRIBUTEHIERARCHYSTORAGES
  • INFO.COLUMNPARTITIONSTORAGES
  • INFO.COLUMNSTORAGES
  • INFO.DICTIONARYSTORAGES
  • INFO.HIERARCHYSTORAGES
  • INFO.PARTITIONSTORAGES
  • INFO.RELATIONSHIPINDEXSTORAGES
  • INFO.RELATIONSHIPSTORAGES
  • INFO.SEGMENTMAPSTORAGES
  • INFO.SEGMENTSTORAGES
  • INFO.STORAGEFOLDERS
  • INFO.STORAGEFILES
  • INFO.TABLESTORAGES
  • INFO.GENERALSEGMENTMAPSEGMENTMETADATASTORAGES
  • INFO.DELTATABLEMETADATASTORAGES
  • INFO.PARQUETFILESTORAGES
  • INFO.STORAGETABLES

Metadata Object → INFO Function Map

Metadata ObjectPrimary INFO functions
ModelINFO.MODEL
TablesINFO.VIEW.TABLES
ColumnsINFO.VIEW.COLUMNS, INFO.GROUPBYCOLUMNS, INFO.RELATEDCOLUMNDETAILS
MeasuresINFO.VIEW.MEASURES, INFO.FORMATSTRINGDEFINITIONS, INFO.DETAILROWSDEFINITIONS
RelationshipsINFO.VIEW.RELATIONSHIPS
PartitionsINFO.PARTITIONS, INFO.EXPRESSIONS, INFO.QUERYGROUPS, INFO.REFRESHPOLICIES, INFO.DATACOVERAGEDEFINITIONS
Security roles & permissionsINFO.ROLES, INFO.TABLEPERMISSIONS, INFO.COLUMNPERMISSIONS
HierarchiesINFO.HIERARCHIES, INFO.LEVELS, INFO.ATTRIBUTEHIERARCHIES, INFO.VARIATIONS
Calculation groups/itemsINFO.CALCULATIONGROUPS, INFO.CALCULATIONITEMS, INFO.CALCULATIONEXPRESSIONS
PerspectivesINFO.PERSPECTIVES, INFO.PERSPECTIVETABLES, INFO.PERSPECTIVECOLUMNS, INFO.PERSPECTIVEHIERARCHIES, INFO.PERSPECTIVEMEASURES
CalendarsINFO.CALENDARS, INFO.CALENDARCOLUMNGROUPS, INFO.CALENDARCOLUMNREFERENCES
CulturesINFO.CULTURES
Object translationsINFO.OBJECTTRANSLATIONS
FunctionsINFO.USERDEFINEDFUNCTIONS
Dependencies / lineageINFO.DEPENDENCIES, INFO.CHANGEDPROPERTIES, INFO.EXCLUDEDARTIFACTS
Storage internals / sizeINFO.STORAGEFOLDERS, INFO.STORAGEFILES, INFO.TABLESTORAGES, INFO.COLUMNSTORAGES, INFO.PARTITIONSTORAGES, INFO.SEGMENTMAPSTORAGES, INFO.DICTIONARYSTORAGES, INFO.COLUMNPARTITIONSTORAGES, INFO.SEGMENTSTORAGES, INFO.RELATIONSHIPSTORAGES, INFO.RELATIONSHIPINDEXSTORAGES, INFO.ATTRIBUTEHIERARCHYSTORAGES, INFO.HIERARCHYSTORAGES, INFO.GENERALSEGMENTMAPSEGMENTMETADATASTORAGES, INFO.DELTATABLEMETADATASTORAGES, INFO.PARQUETFILESTORAGES, INFO.STORAGETABLES, INFO.STORAGETABLECOLUMNS, INFO.STORAGETABLECOLUMNSEGMENTS

Query Execution

Use the FabricIQ MCP server tools directly — call them as MCP tool invocations:

ParameterDescription
artifactIdGUID of the target semantic model
daxQueriesArray of 1–4 DAX queries (each must contain a single EVALUATE statement)
maxRowsOptional. Default 250, max 1,000 rows per query

How to find the artifact ID

  1. Preferred: Call DiscoverArtifacts (MCP tool) with searchQuery set to the model name and artifactTypes: ["SemanticModel"].
  2. Fallback only if MCP discovery is unavailable: Resolve via Fabric REST (az rest) — list items of type SemanticModel in the workspace and filter by displayName.

Executing a query

Call the ExecuteQuery MCP tool directly:

ExecuteQuery(
  artifactId = "<SEMANTIC_MODEL_GUID>",
  daxQueries = ["EVALUATE SUMMARIZECOLUMNS(...)"]
)

Getting the schema first

Call GetSemanticModelSchema(artifactId = "<SEMANTIC_MODEL_GUID>") to retrieve table/column/measure definitions before writing DAX.

Troubleshooting

  • ExecuteQuery capability is unavailable in the MCP server
    • Issue: Query execution cannot start because ExecuteQuery is not available in the active tool list.
    • Cause: The FabricIQ MCP server is not registered, not loaded, or the current client session has stale tool metadata.
    • Fix: Verify the active MCP server/tool inventory and confirm ExecuteQuery is exposed.
  • Advanced INFO functions return permission errors
    • Issue: Queries against INFO.* fail with authorization or privilege-related errors.
    • Cause: Many INFO.* functions require elevated semantic model permissions beyond standard read access.
    • Fix: Start with INFO.VIEW.* functions for read-oriented discovery.
  • Metadata output volume is too large for focused analysis
    • Issue: Returning full metadata rowsets introduces too many properties and crowds the working context.
    • Cause: Unbounded INFO.VIEW.* and INFO.* queries return broad object/property surfaces that are often unnecessary for the current task.
    • Fix: Use the scope estimation queries in discovery-queries.md § Scope Estimation Queries to estimate scope and inspect output schemas, then narrow results with projection and filtering as shown in discovery-queries.md § Narrowing Results (Projection + Filtering).
  • Do not use INFO DAX functions to retrieve role memberships
    • Issue: INFO.ROLEMEMBERSHIPS() returns empty or incomplete results.
    • Cause: Role members are assigned at the service level (Entra ID) after deployment, not in the model definition — so DAX INFO functions cannot reliably surface them.
    • Fix: Redirect to Manage role membership documentation for current guidance on role membership management.

Examples

For the full query catalog (including dependency patterns), see discovery-queries.md.

Sample Metadata Query

EVALUATE
INFO.VIEW.TABLES()
ORDER BY [Name]

Sample Data Query

DEFINE
MEASURE 'Sales'[Total Sales] = SUM('Sales'[Amount])
EVALUATE
SUMMARIZECOLUMNS(
    'Customer'[Customer Name],
    "Total Sales", [Total Sales]
)
ORDER BY [Total Sales] DESC

FAQ

What does the semantic-model-consumption skill do?

Execute raw DAX queries and inspect metadata of Microsoft Fabric Power BI semantic models via the MCP server ExecuteQuery tool. Use when the user already knows the DAX to write, wants to run EVALUATE statements, or needs to inspect model metadata (tables, columns, measures, relationships, hierarchies) using INFO functions. For natural-language business questions (where you generate the DAX), use fabriciq. For creating, deploying, or managing semantic model definitions, use semantic-model-authoring. Triggers: "run DAX query", "execute EVALUATE", "semantic model metadata", "list semantic model tables", "INFO.VIEW.TABLES", "get measure expression", "DAX against", "query the model".

How do I install semantic-model-consumption?

Run npx skills add https://github.com/microsoft/skills-for-fabric --skill semantic-model-consumption in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/semantic-model-consumption/ (personal) or .claude/skills/semantic-model-consumption/ (project).

Which AI agents can use semantic-model-consumption?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is semantic-model-consumption safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains semantic-model-consumption?

It is published by microsoft in microsoft/skills-for-fabric. It has 97 recorded installs.

More from microsoft/skills-for-fabric

View all →

semantic-model-authoring

microsoft/skills-for-fabric

Open the skill to read its SKILL.md instructions.

410 installs

powerbi-report-authoring

microsoft/skills-for-fabric

Open the skill to read its SKILL.md instructions.

Docs & Writing407 installs

powerbi-report-design

microsoft/skills-for-fabric

Open the skill to read its SKILL.md instructions.

Docs & Writing394 installs

powerbi-report-planning

microsoft/skills-for-fabric

Open the skill to read its SKILL.md instructions.

e2e-medallion-architecture

microsoft/skills-for-fabric

Open the skill to read its SKILL.md instructions.

OfficialTesting & QA277 installs

powerbi-report-management

microsoft/skills-for-fabric

Open the skill to read its SKILL.md instructions.

Docs & Writing265 installs

Popular backend & apis skills

View category →

find-skills

vercel-labs/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

OfficialBackend & APIs4.1M installs

entra-app-registration

microsoft/azure-skills

Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.

OfficialBackend & APIs566.7K installs

This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).

Backend & APIs514.8K installs

embedded-captions

heygen-com/hyperframes

Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet anchor rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.

Backend & APIs453.3K installs

entra-agent-id

microsoft/azure-skills

Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmipath token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registration (use entra-app-registration), Microsoft Foundry agent authoring (use microsoft-foundry).

OfficialBackend & APIs336.6K installs

neon

neondatabase/agent-skills

Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, the AI Gateway, and Realtime. Start here to choose Neon for undecided login, files, APIs, and LLM calls, set up the CLI or MCP server, and follow the branch-first workflow. Use when building an app or backend on Neon, or when "Neon" or "Lakebase Postgres" is mentioned. Child skill neon-postgres wins for an existing DATABASEURL, SQL, schema, inspect, or search. Child skill neon-auth wins for login, users, sessions, identity routing, and Managed Better Auth setup. Child skill neon-realtime wins for live queries in reactive apps and agents. Also use for object storage, S3, buckets, serverless functions, function triggers, cron, AI gateway, LLM calls, realtime, logs, Loki, Grafana, observability, postgres, database, backend, Claimable Neon, neon.new, or a no-signup database.

Backend & APIs237.1K installs