/ Directorio / Playground / mcp-engine-public
● Comunidad maxanatsko ⚡ Instantáneo

mcp-engine-public

por 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.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

engine-public.replay ▶ listo
0/0

Instalar

Elige tu cliente

~/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
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

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

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

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

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

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

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

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

Continue usa un array de objetos de servidor en lugar de un mapa.

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

Añádelo a context_servers. Zed recarga en caliente al guardar.

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

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: mcp-engine-public

Write DAX without memorizing syntax

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

Cuándo usarlo: You know what you want in English; you don't want to debug CALCULATE for an hour.

Requisitos previos
  • 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
Flujo
  1. Orient the model
    List the tables in the open model and key measures.✓ Copiado
    → 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.✓ Copiado
    → DAX + creation confirmation
  3. Validate
    Run the measure over 2024 vs 2025 and spot-check 3 rows.✓ Copiado
    → Numbers that look right

Resultado: A working measure with validation, not a guess.

Errores comunes
  • 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

Cuándo usarlo: The original author is gone and the model has 40 tables of mystery.

Flujo
  1. Dump structure
    Dump the model: every table's role, every measure's DAX, every relationship.✓ Copiado
    → 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.✓ Copiado
    → Human-readable model doc

Resultado: Useful documentation without reading every measure yourself.

Combinar con: filesystem

Refactor measures to follow naming + modeling conventions

👤 Teams standardizing Power BI practices ⏱ ~30 min intermediate

Cuándo usarlo: Measures are named inconsistently (e.g. 'Total Sales' vs 'SumSales').

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

Resultado: A consistent measure catalog with broken references caught before you hit Apply.

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

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.✓ Copiado
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.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
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)

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
None — local only
Tokens por llamada
Model dumps can be large; focus queries
Monetario
Proprietary license with permitted personal + commercial use (see mcpengine.dev/license)
Consejo
Ask for specific tables rather than a full model dump on complex reports.

Seguridad

Permisos, secretos, alcance

Almacenamiento de credenciales: None required — uses PBI Desktop's session
Salida de datos: Zero telemetry claimed; all local to PBI Desktop

Resolución de problemas

Errores comunes y soluciones

No Power BI instance found

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

Verificar: 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.

Verificar: get_model_structure
Changes don't persist after closing PBI

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

Verificar: Title bar shows no asterisk

Alternativas

mcp-engine-public vs otros

AlternativaCuándo usarlaContrapartida
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

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills