{"id":"semantic-model-mcp-server","name":"semantic-model-mcp-server","homepage":"https://pypi.org/project/semantic-model-mcp-server/","repo_url":"https://github.com/nahtheking/semantic-model-mcp","category":"ai-ml","subcategories":[],"tags":["mcp","power-bi","fabric","semantic-model","tmsl","dax","best-practice-analyzer","python","development-tools"],"what_it_does":"semantic-model-mcp-server is a Python MCP server that connects to Microsoft Fabric and Power BI semantic models to browse workspaces/datasets, retrieve and validate TMSL, execute DAX queries, and create/update models via TMSL. It also includes a Best Practice Analyzer (BPA) that evaluates TMSL against a set of industry/Microsoft-recommended rules, plus tooling for detecting and using local Power BI Desktop instances for development/testing.","use_cases":["Chat with a semantic model from an MCP-capable client (e.g., VS Code Copilot) using your own LLM","Analyze Fabric/Power BI semantic models for best-practice violations and quality gates","Retrieve TMSL definitions for review, validation, and version control","Run DAX queries against models for exploration and debugging","Generate or update semantic models by applying TMSL","Run BPA on models during development prior to deployment","Detect local Power BI Desktop instances and run local BPA/DAX validation"],"not_for":["Production-grade automated CI/CD without verification of operational safety (create/modify tooling suggests risk if misused)","Environments lacking access to Fabric/Power BI or where the required authentication/permissions cannot be obtained","Teams that require a strongly specified, vendor-neutral REST/SDK interface for integration","Use cases requiring guaranteed, documented rate-limit behavior and idempotent semantics"],"best_when":"You are already working with Microsoft Fabric/Power BI semantic models and want MCP-driven tooling plus a TMSL/BPA workflow, including optional local Power BI Desktop validation.","avoid_when":"You cannot reliably provide Azure AD authentication/permissions or you need rigorous API contracts (OpenAPI/structured error codes) and operational guarantees (idempotency, pagination, retry guidance).","alternatives":["Microsoft Fabric/Power BI tooling and APIs (where available) for model management and metadata extraction","Direct use of Analysis Services/Tabular object model or TMSL tooling for TMSL validation/deployment","Other MCP servers or custom wrappers around Fabric/Power BI APIs and DAX/TMSL endpoints"],"af_score":44.0,"security_score":57.2,"reliability_score":27.5,"package_type":"mcp_server","discovery_source":["pypi"],"priority":"low","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-04-04T21:44:53.361628+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["Microsoft authentication (Azure AD) for Fabric/Power BI access (implied by prerequisites and dependency on msal/azure-identity)"],"oauth":false,"scopes":false,"notes":"README states 'Valid Microsoft authentication (Azure AD)' is required. Specific OAuth flow details, required scopes, and token handling are not documented in the provided README content."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing information is provided in the supplied content; this appears to be a self-hosted/open-source Python tool."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":44.0,"security_score":57.2,"reliability_score":27.5,"mcp_server_quality":55.0,"documentation_accuracy":60.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":55.0,"rate_limit_clarity":0.0,"tls_enforcement":80.0,"auth_strength":60.0,"scope_granularity":40.0,"dependency_hygiene":55.0,"secret_handling":50.0,"security_notes":"Uses msal/azure-identity and pyodbc/pythonnet/psutil/requests per dependency manifest, suggesting standard enterprise auth patterns, but provided content does not describe token/secret handling (e.g., logging redaction) or specific authorization model/scope granularity. No documented TLS requirements or certificate validation settings are included in the provided README/manifests.","uptime_documented":0.0,"version_stability":35.0,"breaking_changes_history":45.0,"error_recovery":30.0,"idempotency_support":"false","idempotency_notes":"The README describes tools for create/modify/update semantic models, but does not document idempotency behavior for write operations.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Write operations (create/update semantic models) could have side effects if the agent mis-specifies TMSL; guardrails/validation are not documented in the provided README.","Local Power BI Desktop detection relies on running processes/ports; behavior may vary across machines and can be timing-sensitive.","No explicit guidance is provided for safe retries of DAX execution/model updates."]}}