Preferences Runtime Settings
This page is part of the Preferences (Memory) docs:
Settings (runtime behavior and safety)
These are “knobs” that change how the server behaves at runtime. Common user-visible effects:
- Smaller responses (row limits for queries/previews)
- Formatting behavior (DAX/M formatting on/off)
- Data masking behavior for returned results (PII/numeric masking, with exclusions)
Scope note (important): runtime settings behave like server configuration. If you ask for “model-specific settings”, the assistant may suggest using a separate MCP server instance or using rules/guardrails instead, depending on what you’re trying to achieve.
Runtime settings you can ask to change
If you’re not sure what’s available in your environment, ask:
“List all available runtime settings and show current values.”These are regular user settings, not “expert-only” settings.
If your mode/policy allows edits, you can set them directly through manage_memory.
Settings typically override built-in defaults for this server environment, but admins can still centrally lock down capabilities (for example, online formatting).
Common settings:
- Output size:
max_query_rows,max_preview_rows - Completion:
completion_fuzzy_enabled,completion_fuzzy_threshold - Notifications:
notification_log_level
Formatting settings (regular users)
These control how online formatters behave when formatting is used.
| Setting ID | Tier | Accepted values | What it controls |
|---|---|---|---|
dax_formatting_enabled | Free | true / false | Enables/disables online DAX formatting for this server session/environment. |
dax_formatting_line_style | Free | short / long | DAX line wrapping style. |
dax_formatting_spacing_style | Free | best_practice / no_space | DAX function spacing style. |
dax_formatting_list_separator | Free | single character | DAX list separator (for example , or ;). |
dax_formatting_decimal_separator | Free | single character | DAX decimal separator (for example . or ,). |
m_formatting_enabled | Free | true / false | Enables/disables online Power Query (M) formatting. |
m_formatting_line_width | Free | integer >= 1 | Target line width for formatted M code. |
m_formatting_indent_length | Free | integer >= 1 | Indentation width for M formatting. |
m_formatting_indent_style | Free | spaces / tabs | Indentation style for M formatting. |
Important:
- Formatting settings are global runtime settings.
- Formatting still requires consent in write operations that call online formatters.
- If your org centrally disables online formatting, turning it on via settings may still be blocked.
Prompts:
“Setdax_formatting_line_style=long and dax_formatting_spacing_style=best_practice.”
“Set m_formatting_indent_style=spaces, m_formatting_indent_length=4, and m_formatting_line_width=120.”
“Disable online DAX and M formatting in this environment.”
Masking settings (Pro, but regular usage)
Masking settings are frequently used in day-to-day analyst/consultant workflows.
| Setting ID | Tier | Accepted values | What it controls |
|---|---|---|---|
pii_masking_enabled | Pro | true / false | Toggles PII masking in query/preview outputs. |
pii_masking_exclude_tables | Pro | string list | Tables that should never be PII-masked. |
pii_masking_exclude_columns | Pro | string list | Columns that should never be PII-masked. |
numeric_masking_enabled | Pro | true / false | Toggles numeric masking in query/preview outputs. |
numeric_masking_exclude_tables | Pro | string list | Tables that should never be numerically masked. |
numeric_masking_exclude_columns | Pro | string list | Columns that should never be numerically masked. |
String-list format for excludes:
- comma/semicolon/newline separated:
Date,Calendar - JSON array:
["Date","Calendar"] - columns can be unqualified (
CustomerId) or qualified (Customers[CustomerId]/Customers.CustomerId)
Prompts:
“Enable PII masking and numeric masking.” “Exclude tableDate from numeric masking.”
“Exclude Customers[CustomerId] and Customers[CustomerNumber] from PII masking.”
“Set pii_masking_exclude_columns to [\"Customers[Email]\",\"Customers[Phone]\"].”
What masking is and isn’t configurable in Preferences
What you can configure with manage_memory settings:
- on/off toggles for PII and numeric masking,
- table/column exclusion lists.
What is currently deployment/admin-level (not end-user manage_memory settings):
- custom PII regex patterns (
MCP_ENGINE_PII_PATTERNS), - base masking enable flags (
MCP_ENGINE_PII_MASKING,MCP_ENGINE_NUMERIC_MASKING), - default masking exclusions from deployment config.
What is not currently user-configurable via manage_memory:
- custom PII hint dictionaries,
- numeric masking scalar range and token dictionaries.
If a setting change is rejected, ask:
“Explain why this setting can’t be changed here (mode, policy, or license), and propose a safe alternative.”Note: in some org deployments, online formatting can be centrally disabled. In that case, the assistant can help you turn it off, but turning it on may still be blocked.
Example prompts:
“Set query results to max 200 rows and table previews to max 50 rows.” “Turn ondax_formatting_enabled and set DAX style to long + best_practice.”
“Enable numeric masking, but exclude Date and Calendar tables.”