Prompting Playbook (How to Work Effectively with MCP)
This page is a reusable “prompt library” and set of habits for developers and analysts using an LLM with MCP Engine against semantic models.
You do not need to mention tool names. Focus on intent, constraints, and safety; the assistant will choose the right tools.
The 5 rules that prevent most mistakes
Connect intentionally
Don’t auto-select; tell the LLM which model/dataset to use.
Confirm context
Verify Desktop vs Service and the specific model name/id.
Explore before acting
Have the LLM list and search relevant objects to build a mental model.
Plan first, then apply
Ask for a plan, impact analysis, and a confirmation gate before any writes.
Validate immediately
Re-run queries and check results (and optionally run tests) after changes.
Core templates (copy/paste)
Prompting patterns (what to ask, and why)
1) Confirm model + environment early
Bad: “Fix our measures.”
Better: “List available models/datasets, ask me which one to connect to, then show what we’re currently connected to.”
2) Start with discovery, not edits
Bad:
“Rename Customers[Region] to Customers[Sales Region].”
Better:
“Find Customers[Region], list dependents/impact, then propose a safe rename plan. Don’t apply until I confirm.”
3) Ask for impact and alternatives
Use these often: “What depends on this?” “What could break?” “What’s the safest option?”
4) Prefer incremental changes
Bad: “Refactor all measures to match a new standard in one go.”
Better: “Refactor measures in 3 batches: (1) naming/folders/descriptions, (2) logic refactors, (3) calc group introduction. Validate after each batch.”
5) Always control output size (LLM-friendly + safer)
Ask for:
- “top N” results
- aggregates (by month, by category)
- a 1–2 query “sanity suite”
Examples:
“Return top 20 products by[Total Sales] last 30 days.”
“Return monthly totals for the last 12 months only.”
6) Ask for safe sharing (masking + redaction)
If outputs may be pasted into tickets/PRs:
“Enable masking and keep row limits conservative. Summarize results; don’t include sensitive values.”7) Be explicit about consent for external services
If you’re in a regulated environment:
“Do not send any code/metadata to external services. Proceed without online formatting.”If you do want formatting:
“Format DAX/M for readability, but tell me if that uses an online service and ask me to confirm first.”Anti-patterns (what not to do)
When blocked (mode/policy/license)
When the assistant says an operation is blocked, see Modes and restrictions for what each mode allows and fallback strategies. The short version:
"Explain which policy rule blocked this or requires confirmation, and propose the allowed alternative."Task-specific recipes
These prompts cover common workflows. Replace quoted names with your model's objects.