Monte Carlo Monitor Creation Skill
This skill teaches you to create Monte Carlo monitors correctly via MCP. Every creation tool runs in dry-run mode and returns monitors-as-code (MaC) YAML. No monitors are created directly -- the user applies the YAML via the Monte Carlo CLI or CI/CD.
Reference files live next to this skill file. Use the Read tool (not MCP resources) to access them:
- Metric monitor details:
references/metric-monitor.md(relative to this file) - Validation monitor details:
references/validation-monitor.md(relative to this file) - Custom SQL monitor details:
references/custom-sql-monitor.md(relative to this file) - Comparison monitor details:
references/comparison-monitor.md(relative to this file) - Table monitor details:
references/table-monitor.md(relative to this file)
When to activate this skill
Activate when the user:
- Asks to create, add, or set up a monitor (e.g. "add a monitor for...", "create a freshness check on...", "set up validation for...")
- Mentions monitoring a specific table, field, or metric
- Wants to check data quality rules or enforce data contracts
- Asks about monitoring options for a table or dataset
- Requests monitors-as-code YAML generation
- Wants to add monitoring after new transformation logic (when the prevent skill is not active)
When NOT to activate this skill
Do not activate when the user is:
- Just querying data or exploring table contents
- Triaging or responding to active alerts (use the prevent skill's Workflow 3)
- Running impact assessments before code changes (use the prevent skill's Workflow 4)
- Asking about existing monitor configuration (use
getMonitorsdirectly) - Editing or deleting existing monitors
Available MCP tools
All tools are available via the monte-carlo MCP server.
| Tool | Purpose |
|---|---|
testConnection |
Verify auth and connectivity before starting |
search |
Find tables/assets by name; use include_fields for columns |
getTable |
Schema, stats, metadata, domain membership, capabilities |
getValidationPredicates |
List available validation rule types for a warehouse |
getDomains |
List MC domains (only needed if table has no domain info) |
createMetricMonitorMac |
Generate metric monitor YAML (dry-run) |
createValidationMonitorMac |
Generate validation monitor YAML (dry-run) |
createComparisonMonitorMac |
Generate comparison monitor YAML (dry-run) |
createCustomSqlMonitorMac |
Generate custom SQL monitor YAML (dry-run) |
createTableMonitorMac |
Generate table monitor YAML (dry-run) |
Monitor types
| Type | Tool | Use When |
|---|---|---|
| Metric | createMetricMonitorMac |
Track statistical metrics on fields (null rates, unique counts, numeric stats) or row count changes over time. Requires a timestamp field for aggregation. |
| Validation | createValidationMonitorMac |
Row-level data quality checks with conditions (e.g. "field X is never null", "status is in allowed set"). Alerts on INVALID data. |
| Custom SQL | createCustomSqlMonitorMac |
Run arbitrary SQL returning a single number and alert on thresholds. Most flexible; use when other types don't fit. |
| Comparison | createComparisonMonitorMac |
Compare metrics between two tables (e.g. dev vs prod, source vs target). |
| Table | createTableMonitorMac |
Monitor groups of tables for freshness, schema changes, and volume. Uses asset selection at database/schema level. |
Procedure
Follow these steps in order. Do NOT skip steps.
Validation Phase (Steps 1-3) -- MUST complete before any creation tool is called
The number one error pattern is agents skipping validation and calling a creation tool with guessed or incomplete parameters. Every field in the creation call must be grounded in data retrieved during this phase. Do not proceed to Step 4 until Steps 1-3 are fully satisfied.
Step 1: Understand the request
Ask yourself:
- What does the user want to monitor? (a specific table, a metric, a data quality rule, cross-table consistency, freshness/volume at schema level)
- Which monitor type fits? Use the monitor types table