AnomalyArmor
Enables alert destination configuration for Slack channels, allowing data quality alerts, schema drift notifications, and other monitoring events to be sent to designated Slack workspaces.
Provides integration with Snowflake data warehouses for connecting data sources, monitoring table freshness, detecting schema changes, and managing data quality metrics across Snowflake assets.
AnomalyArmor Agents
AI skills and MCP server for AnomalyArmor data observability. Monitor data quality, detect schema drift, and manage alerts directly from Claude Code, Cursor, or any MCP-compatible AI tool.
Version: 0.6.0 | Tools: 52 consolidated MCP tools | Skills: 14 slash commands
Quick Start
Option 1: Claude Code Plugin (Recommended)
# Install the plugin
claude plugin marketplace add anomalyarmor/agents
claude plugin install armor@anomalyarmor
# Or via skills.sh
npx skills add anomalyarmor/agentsThen use skills like:
/armor:status- Check data health/armor:alerts- View and manage alerts/armor:recommend- Get AI monitoring recommendations/armor:ask- Ask questions about your data
Option 2: MCP Server
Add to your MCP configuration (Claude Code, Cursor, etc.):
{
"mcpServers": {
"armor": {
"command": "uvx",
"args": ["armor-mcp"]
}
}
}Prerequisites
AnomalyArmor Account: Sign up at anomalyarmor.ai
API Key: Generate at Settings > API Keys
Configure: Set
ARMOR_API_KEYenv var or create~/.armor/config.yaml:
api_key: aa_live_your_key_hereAvailable Skills
Skill | Description | Example |
| Guided onboarding for new users | "Help me get set up" |
| Health summary across all assets | "Is my data healthy?" |
| Connect a new data source | "Connect my Snowflake warehouse" |
| Set up freshness and schema monitoring | "Monitor freshness for orders table" |
| Query and manage alerts | "What alerts fired yesterday?" |
| Natural language Q&A about your data | "What tables contain customer data?" |
| Trigger AI analysis | "Analyze the finance schema" |
| Data quality metrics and validity rules | "Add null check for customer_id" |
| Monitoring coverage analysis | "What tables have no monitoring?" |
| AI-driven monitoring recommendations | "What should I monitor?" |
| Asset tagging and classification | "Tag this table as PII" |
| Root cause analysis | "Why is this table stale?" |
| Data lineage exploration | "What depends on this table?" |
| Table profiling and stats | "Profile the orders table" |
MCP Tools (29 consolidated)
Tools follow a consolidated pattern: one tool per domain handles multiple operations via an action parameter, reducing context window usage while maintaining full functionality.
Health and Briefing
health_summary()- Overall data health across all assetsget_todays_briefing()- Daily AI briefing with alerts, freshness, and coverage gaps
Alerts (5 tools)
get_alerts_summary()- Alert counts by severity and statuslist_alerts(status, severity, asset_id, from_date, to_date)- Query alerts with filterslist_inbox_alerts(status, limit)- Unresolved alerts inboxupdate_alert(alert_id, action, ...)- Acknowledge, resolve, snooze, or comment on alertsget_alert_trends(period)- Alert trends over timeget_alert_history(alert_id)- Full history for a specific alert
Alert Rules (3 tools)
list_alert_rules(asset_id, is_active)- List configured rulescreate_alert_rule(asset_id, rule_type, ...)- Create new alert rulemanage_alert_rule(rule_id, action, ...)- Update, delete, enable/disable, or duplicate rules
Assets (3 tools)
list_assets(source, asset_type, search)- List monitored assetscreate_asset(name, source_type, connection_config)- Create data sourcemanage_asset(asset_id, action, ...)- Update, delete, test connection, or trigger discoverytrigger_asset_discovery(asset_id)- Start schema discovery
Freshness (4 tools)
get_freshness_summary()- Freshness overview across all assetscheck_freshness(asset_id, table_path)- Check specific table freshnesssetup_freshness(asset_id, table_path, check_interval, ...)- Create freshness schedulelist_freshness_schedules(asset_id)- List configured schedulesmanage_freshness_schedule(schedule_id, action, ...)- Update, delete, pause/resume schedules
Schema Drift (5 tools)
get_schema_summary()- Schema drift overviewlist_schema_changes(asset_id, severity, from_date, to_date)- List detected changescreate_schema_baseline(asset_id, description)- Create baselineenable_schema_monitoring(asset_id, schedule_type, notify_on)- Enable monitoringdisable_schema_monitoring(asset_id)- Disable monitoringget_schema_monitoring(asset_id)- View current monitoring configdry_run_schema(asset_id, schedule_type)- Test schema monitoring before enabling
Data Quality (4 tools)
get_metrics_summary(asset_id)/list_metrics(asset_id)- View metricscreate_metric(asset_id, metric_type, table_path, ...)- Create row count, null rate, or custom metricmanage_metric(metric_id, action, ...)- Update, delete, capture, or view snapshotsget_validity_summary(asset_id)/list_validity_rules(asset_id)- View validity rulescreate_validity_rule(asset_id, rule_type, table_path, ...)- Create validity rulemanage_validity_rule(rule_id, action, ...)- Update, delete, check, or view results
Referential Integrity (2 tools)
create_referential_check(asset_id, ...)- Create cross-table referential checkmanage_referential(check_id, action, ...)- List, delete, run, or view results
Destinations (4 tools)
list_destinations(destination_type)- List alert destinations (Slack, email, webhook)setup_destination(destination_type, ...)- Create Slack channel, email, or webhook destinationmanage_destination(destination_id, action, ...)- Update, delete, test, enable/disablemanage_rule_destinations(rule_id, action, ...)- Link/unlink destinations to alert rules
Coverage and Recommendations (3 tools)
get_coverage(asset_id)- Coverage tier and score for an assetmanage_coverage(asset_id, action)- Get next steps or apply recommended monitoringrecommend(asset_id, recommendation_type)- AI recommendations for freshness, metrics, coverage, or thresholds
Intelligence (2 tools)
ask_question(asset, question)- Natural language Q&Agenerate_intelligence(asset)- Trigger AI knowledge base generation
Catalog (4 tools)
get_lineage(asset_id, depth, direction)- Data lineage graphjob_status(job_id)- Check async job statuscreate_tag(asset_id, name, object_path, ...)- Create and assign tagslist_tags(asset_id)/apply_tags(asset_id, ...)- List and apply tags
API Keys
get_api_key_info()- View current API key details and permissions
Examples
Check Data Health
User: Is my data healthy?
Your data health status:
- Overall: WARNING
- 3 unresolved alerts (1 critical, 2 warning)
- 2 stale tables (orders, customers)
- 1 unacknowledged schema change
- Coverage: 65% (Tier 2: Protected)Get AI Recommendations
User: What should I monitor on my Snowflake warehouse?
Based on your table patterns and update frequency:
1. orders (high traffic) - Add freshness check (hourly), row count metric
2. customers (PII) - Enable schema drift monitoring, add null checks
3. payments (financial) - Add freshness + row count + validity rules
Want me to set these up? I can configure all three in one go.Daily Briefing
User: What happened overnight?
Your daily briefing:
- 2 new alerts: orders table stale (6h), schema change in users
- Coverage improved: finance schema now at Tier 3 (Verified)
- Recommendation: 4 tables still have no monitoring. Run /armor:recommend.Root Cause Analysis
User: Why is the orders table stale?
Investigation results:
- Last update: 6 hours ago (expected: hourly)
- Upstream dependency: raw_orders was last updated 8 hours ago
- Likely cause: upstream ETL job failed or delayed
- Impact: 3 downstream dashboards affectedTroubleshooting
Authentication Failed
Error: No API key configuredSolution: Set ARMOR_API_KEY environment variable or create ~/.armor/config.yaml
MCP Server Not Found
Error: MCP server 'armor' not foundSolution:
Restart your AI tool after config changes
Verify uvx is installed:
uvx --versionCheck MCP config syntax
Skills Not Loading
Solution:
Verify plugin installed:
claude plugin listCheck skills directory exists
Restart Claude Code
Development
See AGENTS.md for development guidelines.
Support
Issues: GitHub Issues
Docs: docs.anomalyarmor.ai
Email: support@anomalyarmor.ai
License
MIT License - see LICENSE
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/anomalyarmor/agents'
If you have feedback or need assistance with the MCP directory API, please join our Discord server