
AnomalyArmor MCP
- 1 repo stars
- Updated May 30, 2026
- anomalyarmor/agents
armor-mcp is an MCP server that exposes AnomalyArmor data observability—alerts, freshness, drift, lineage, and quality—to Claude Code, Cursor, and other MCP clients.
About
AnomalyArmor armor-mcp is an MCP server (and companion plugin skills) that connects AI coding agents to AnomalyArmor’s data observability platform. developers and small data-heavy teams use it when they already run warehouses, pipelines, or analytics products and need answers about freshness, quality regressions, schema drift, lineage, and alert noise without context-switching to a separate UI. Install via uvx in MCP config or add the anomalyarmor/agents plugin for slash commands like status, alerts, recommendations, and natural-language questions about your estate. You need an AnomalyArmor account and API key; the README documents version 0.6.0 and MIT licensing. It is an integration surface, not a replacement for your orchestrator or BI tool.
- 52 consolidated MCP tools for observability workflows from MCP-compatible agents
- 14 slash-command skills (e.g. /armor:status, /armor:alerts, /armor:recommend, /armor:ask)
- Remote MCP via uvx armor-mcp plus optional Claude Code plugin marketplace install
- Covers alerts, freshness, schema drift, lineage, and data quality in one account
- Pairs with PyPI armor-mcp and npm @anomalyarmor/sdk for programmatic access
AnomalyArmor MCP by the numbers
- Data as of Aug 10, 2026 (Skillselion catalog sync)
claude mcp add --env ARMOR_API_KEY=YOUR_ARMOR_API_KEY armor-mcp -- uvx armor-mcpAdd your badge
Show developers this MCP server is listed on Skillselion. Paste this into your README.
| repo stars | ★ 1 |
|---|---|
| Package | armor-mcp |
| Transport | STDIO, HTTP |
| Auth | Required |
| Last updated | May 30, 2026 |
| Repository | anomalyarmor/agents ↗ |
What it does
Wire Claude Code or Cursor to AnomalyArmor so you can check data health, alerts, drift, and lineage without leaving the agent.
Who is it for?
Best when you have an AnomalyArmor account and want agent-driven data health checks and alert triage during ops and analytics work.
Skip if: Greenfield apps with no pipelines or warehouses yet, or teams that refuse a hosted observability account and API key.
What you get
Your agent can query health, manage alerts, and get monitoring recommendations against live AnomalyArmor telemetry using one MCP registration.
- Registered MCP connection to 52 observability-oriented tools
- Optional 14 slash-command skills when using the Claude plugin path
- Agent-queryable status, alerts, recommendations, and data Q&A against your project
By the numbers
- 52 consolidated MCP tools documented in README
- 14 slash-command skills documented in README
- Server version 0.6.0 per README
README.md
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/agents
Then 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_here
Available Skills
| Skill | Description | Example |
|---|---|---|
/armor:start |
Guided onboarding for new users | "Help me get set up" |
/armor:status |
Health summary across all assets | "Is my data healthy?" |
/armor:connect |
Connect a new data source | "Connect my Snowflake warehouse" |
/armor:monitor |
Set up freshness and schema monitoring | "Monitor freshness for orders table" |
/armor:alerts |
Query and manage alerts | "What alerts fired yesterday?" |
/armor:ask |
Natural language Q&A about your data | "What tables contain customer data?" |
/armor:analyze |
Trigger AI analysis | "Analyze the finance schema" |
/armor:quality |
Data quality metrics and validity rules | "Add null check for customer_id" |
/armor:coverage |
Monitoring coverage analysis | "What tables have no monitoring?" |
/armor:recommend |
AI-driven monitoring recommendations | "What should I monitor?" |
/armor:tags |
Asset tagging and classification | "Tag this table as PII" |
/armor:investigate |
Root cause analysis | "Why is this table stale?" |
/armor:lineage |
Data lineage exploration | "What depends on this table?" |
/armor:profile |
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 affected
Troubleshooting
Authentication Failed
Error: No API key configured
Solution: Set ARMOR_API_KEY environment variable or create ~/.armor/config.yaml
MCP Server Not Found
Error: MCP server 'armor' not found
Solution:
- Restart your AI tool after config changes
- Verify uvx is installed:
uvx --version - Check MCP config syntax
Skills Not Loading
Solution:
- Verify plugin installed:
claude plugin list - Check 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
Recommended MCP Servers
How it compares
Hosted data-observability MCP integration, not a generic SQL or ORM skill.
FAQ
Who is armor-mcp for?
Developers and engineers who use AnomalyArmor MCP and want MCP or slash-command access to monitoring, alerts, drift, lineage, and quality from Claude Code or Cursor.
When should I use armor-mcp?
Use it in Operate and Grow when you need to inspect data health, respond to alerts, or ask lineage and quality questions from your coding agent.
How do I add armor-mcp to my agent?
Add an MCP server entry with command uvx and args ["armor-mcp"], or install the armor@anomalyarmor Claude plugin; set your AnomalyArmor MCP API key per their docs.