/ Annuaire / Playground / mcp-engine-public
● Communauté maxanatsko ⚡ Instantané

mcp-engine-public

par maxanatsko · maxanatsko/mcp-engine-public

Chat with your Power BI model — read schema, run DAX, create measures, manage relationships — all locally, no cloud round-trip.

MCP Engine (mcp-engine-public) by Maxim Anatsko connects to a local Power BI Desktop instance. Read model structure, run DAX queries, create and modify measures, and manage relationships via natural language. Runs locally (Windows/macOS) with zero telemetry.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

engine-public.replay ▶ prêt
0/0

Installer

Choisissez votre client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "engine-public": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/maxanatsko/mcp-engine-public"
      ],
      "_inferred": true
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "engine-public": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/maxanatsko/mcp-engine-public"
      ],
      "_inferred": true
    }
  }
}

Cursor utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "engine-public": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/maxanatsko/mcp-engine-public"
      ],
      "_inferred": true
    }
  }
}

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "engine-public": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/maxanatsko/mcp-engine-public"
      ],
      "_inferred": true
    }
  }
}

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "engine-public",
      "command": "TODO",
      "args": [
        "See README: https://github.com/maxanatsko/mcp-engine-public"
      ]
    }
  ]
}

Continue utilise un tableau d'objets serveur plutôt qu'une map.

~/.config/zed/settings.json
{
  "context_servers": {
    "engine-public": {
      "command": {
        "path": "TODO",
        "args": [
          "See README: https://github.com/maxanatsko/mcp-engine-public"
        ]
      }
    }
  }
}

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

claude mcp add engine-public -- TODO 'See README: https://github.com/maxanatsko/mcp-engine-public'

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : mcp-engine-public

Write DAX without memorizing syntax

👤 Power BI analysts new to DAX ⏱ ~15 min intermediate

Quand l'utiliser : You know what you want in English; you don't want to debug CALCULATE for an hour.

Prérequis
  • Power BI Desktop with a model open — Launch Power BI Desktop and open your .pbix
  • MCP Engine installed and connected — See mcpengine.dev — installer under 5 min
Déroulement
  1. Orient the model
    List the tables in the open model and key measures.✓ Copié
    → Model map
  2. Write the measure
    Create a DAX measure 'YoY Revenue' that returns current revenue minus same period prior year, using Date[Date] for time intelligence.✓ Copié
    → DAX + creation confirmation
  3. Validate
    Run the measure over 2024 vs 2025 and spot-check 3 rows.✓ Copié
    → Numbers that look right

Résultat : A working measure with validation, not a guess.

Pièges
  • Time intelligence requires a properly marked date table — Verify Date table is marked as a date table first
  • Model calculations differ between DirectQuery and Import — Be aware of your storage mode; DirectQuery imposes DAX restrictions

Auto-document an existing Power BI model

👤 Analysts inheriting a .pbix ⏱ ~25 min beginner

Quand l'utiliser : The original author is gone and the model has 40 tables of mystery.

Déroulement
  1. Dump structure
    Dump the model: every table's role, every measure's DAX, every relationship.✓ Copié
    → Full structural listing
  2. Write prose docs
    Write a one-page explanation of this model for a new analyst: what it reports on, main tables, key measures.✓ Copié
    → Human-readable model doc

Résultat : Useful documentation without reading every measure yourself.

Combiner avec : filesystem

Refactor measures to follow naming + modeling conventions

👤 Teams standardizing Power BI practices ⏱ ~30 min intermediate

Quand l'utiliser : Measures are named inconsistently (e.g. 'Total Sales' vs 'SumSales').

Déroulement
  1. Find violations
    List measures that don't follow the naming convention '<Verb> <Subject> [<Modifier>]'.✓ Copié
    → Violation list
  2. Rename safely
    Propose renames; list any visuals or calculated tables that reference each old name.✓ Copié
    → Rename plan with dependencies

Résultat : A consistent measure catalog with broken references caught before you hit Apply.

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

engine-public + filesystem

Export model documentation as a Markdown file alongside the .pbix

Document the model and save as ~/Docs/PBI/sales-model.md next to sales.pbix.✓ Copié
engine-public + postgres

Cross-check PBI measures against raw Postgres queries

PBI says Q1 revenue is $4.2M. Run the same query on the source Postgres DB and tell me if there's a discrepancy.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
get_model_structure (none) Session start free (local)
run_dax query: str Ad-hoc DAX query free (local)
create_measure table, name, expression Add new measure free (write)
update_measure table, name, expression Modify existing free (write)
manage_relationship from_table, from_col, to_table, to_col, action: create|delete|update Schema changes free (write)

Coût et limites

Coût d'exécution

Quota d'API
None — local only
Tokens par appel
Model dumps can be large; focus queries
Monétaire
Proprietary license with permitted personal + commercial use (see mcpengine.dev/license)
Astuce
Ask for specific tables rather than a full model dump on complex reports.

Sécurité

Permissions, secrets, portée

Stockage des identifiants : None required — uses PBI Desktop's session
Sortie de données : Zero telemetry claimed; all local to PBI Desktop

Dépannage

Erreurs courantes et correctifs

No Power BI instance found

Ensure Power BI Desktop is running with a report open; the MCP connects to the local port it exposes.

Vérifier : Check Task Manager for msmdsrv process
DAX error: Column not found

Table/column reference is case-sensitive and must match exactly. Use the model structure dump to get names right.

Vérifier : get_model_structure
Changes don't persist after closing PBI

PBI Desktop doesn't auto-save — Ctrl+S after each batch of changes.

Vérifier : Title bar shows no asterisk

Alternatives

mcp-engine-public vs autres

AlternativeQuand l'utiliserCompromis
Tabular Editor 3 (scripting)You want a full scripting environment for PBI/SSAS modelsPaid; no MCP surface
DAX StudioYou only need a DAX query toolNo write operations; no AI layer

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills