| name | dr-anomalies |
| description | Detect data anomalies in Datarails Finance OS tables. Finds outliers, missing values, duplicates, and data quality issues. |
| user-invocable | true |
| allowed-tools | ["mcp__datarails-finance-os__get_table_schema","mcp__datarails-finance-os__profile_table_summary","mcp__datarails-finance-os__detect_anomalies","mcp__datarails-finance-os__profile_numeric_fields","mcp__datarails-finance-os__profile_categorical_fields","mcp__datarails-finance-os__get_records_by_filter","mcp__datarails-finance-os__get_sample_records"] |
| argument-hint | <table_id> [--severity critical|high|medium|low] [--type <anomaly_type>] |
Datarails Anomaly Detection
Automated anomaly detection for Finance OS tables - find data quality issues, outliers, and suspicious patterns.
Workflow
Step 1: Verify Authentication
If any tool call fails with an authentication or connection error, guide the user to connect via the Connectors UI ("+" > Connectors > Datarails > Connect).
Step 2: Run Detection
- Get table schema for context
- Run
detect_anomalies for comprehensive analysis
- Optionally run
profile_numeric_fields and profile_categorical_fields for deeper stats
- If specific anomalies need investigation, use
get_records_by_filter to fetch examples
Step 3: Present Findings
Organize findings by severity:
- 🔴 Critical - Requires immediate attention
- 🟠 High - Should be addressed soon
- 🟡 Medium - Worth investigating
- 🟢 Low - Minor issues or informational
Arguments
| Argument | Description |
|---|
<table_id> | Required - the table to analyze |
--severity <level> | Filter to specific severity (critical, high, medium, low) |
--type <type> | Filter to specific anomaly type |
Anomaly Types Detected
| Type | Description |
|---|
outliers | Numeric values beyond 3 standard deviations |
missing | Unexpected NULL values or patterns |
duplicates | Potential duplicate records |
temporal | Date/time anomalies (gaps, future dates) |
categorical | Rare values, unexpected categories |
referential | Foreign key or relationship issues |
Example Interactions
User: "/dr-anomalies 11442"
🔍 Anomaly Detection: GL Transactions (ID: 11442)
═══════════════════════════════════════════════════════════
Scanned 125,432 records | Found 47 anomalies
🔴 CRITICAL (3 findings)
───────────────────────────────────────────────────────────
1. DUPLICATE TRANSACTIONS
• 23 potential duplicate records detected
• Same amount, date, and vendor within 1 minute
• Records: [45231, 45232], [67892, 67893], ...
💡 Recommendation: Review for accidental double-entry
📋 Query: /dr-query 11442 "transaction_id IN (45231, 45232)"
2. FUTURE-DATED TRANSACTIONS
• 5 transactions with posting_date > today
• Dates range from 2024-02-15 to 2024-12-31
💡 Recommendation: Verify if these are planned entries
📋 Query: /dr-query 11442 "posting_date > '2024-01-20'"
3. NEGATIVE INVENTORY QUANTITIES
• 8 records with quantity < 0
• Min value: -500 (record 89234)
💡 Recommendation: Check if returns are properly coded
🟠 HIGH (12 findings)
───────────────────────────────────────────────────────────
4. AMOUNT OUTLIERS
• 127 transactions beyond normal range
• 115 above $500,000 (expected max ~$250,000)
• 12 below -$100,000 (expected min ~-$50,000)
💡 Recommendation: Verify large transactions are approved
5. HIGH NULL RATE: vendor_name
• 2,341 records (1.87%) missing vendor_name
• But vendor_id is present
💡 Recommendation: Join with vendor master to populate
...
🟡 MEDIUM (18 findings)
───────────────────────────────────────────────────────────
12. RARE CATEGORY VALUES
• department contains 3 values appearing < 10 times
• Values: "TEST", "MIGRATION", "UNKNOWN"
💡 Recommendation: Standardize or reclassify
...
🟢 LOW (14 findings)
───────────────────────────────────────────────────────────
35. TRAILING WHITESPACE
• account_code has 45 values with trailing spaces
💡 Recommendation: Trim during ETL
═══════════════════════════════════════════════════════════
📊 SUMMARY
═══════════════════════════════════════════════════════════
| Severity | Count | Action |
|----------|-------|---------------------------|
| Critical | 3 | Investigate immediately |
| High | 12 | Address this week |
| Medium | 18 | Plan for remediation |
| Low | 14 | Fix during maintenance |
Data Quality Score: 87/100 ⚠️
Primary concerns: Duplicates, Future dates, Amount outliers
User: "/dr-anomalies 11442 --severity critical"
🔴 Critical Anomalies: GL Transactions
Found 3 critical issues requiring immediate attention:
1. DUPLICATE TRANSACTIONS (23 records)
...
2. FUTURE-DATED TRANSACTIONS (5 records)
...
3. NEGATIVE INVENTORY QUANTITIES (8 records)
...
User: "/dr-anomalies 11442 --type outliers"
📊 Outlier Analysis: GL Transactions
Analyzed 8 numeric fields for statistical outliers (|z| > 3)
amount: 127 outliers
├── Above 3σ: 115 records
│ ├── Max: $8,750,000 (z=12.4)
│ ├── Sample: [45231: $2.1M], [67892: $1.8M], [89234: $1.5M]
│ └── Pattern: Mostly Q4 entries (82%)
└── Below -3σ: 12 records
├── Min: -$1,250,000 (z=-8.2)
└── Sample: [12345: -$800K], [23456: -$650K]
quantity: 23 outliers
├── All above 3σ (high quantities)
├── Max: 10,000 (z=5.1)
└── 18 of 23 are from department="Warehouse"
unit_cost: 45 outliers
...
Investigation Workflow
When anomalies are detected:
- Review findings - Understand the scope and patterns
- Fetch examples - Use
/dr-query to see actual records
- Verify business rules - Some "anomalies" may be valid
- Document decisions - Note which are false positives
- Create remediation plan - Prioritize by severity
Related Skills
/dr-profile - Detailed field statistics
/dr-query - Fetch specific records
/dr-tables - Understand table structure