CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

AnomalyArmor

anomalyarmor/agents
53 toolsauthSTDIO, HTTPregistry active
Summary

If you're running data pipelines and need to know when things break before your users do, this wraps AnomalyArmor's observability platform into 52 MCP tools. You get alerts, freshness checks, schema drift detection, and data quality metrics directly in Claude. The tools are grouped by domain: manage alert rules and destinations, set up freshness schedules, create validity rules and referential checks, explore lineage, and ask natural language questions about your data. It surfaces a daily briefing with unresolved alerts and coverage gaps. Requires an AnomalyArmor account and API key. Useful when you want AI assistance debugging stale tables, analyzing schema changes, or configuring monitoring without leaving your editor.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

53 tools
get_alerts_summaryGet alert overview with counts by status and severity. Quick snapshot of triggered, acknowledged, and resolved alerts. For individual alerts use list_alerts.

Get alert overview with counts by status and severity. Quick snapshot of triggered, acknowledged, and resolved alerts. For individual alerts use list_alerts.

No parameter schema in public metadata yet.

list_alertsList recent alerts with severity, status, and asset info. Use update_alert to acknowledge, resolve, dismiss, or snooze alerts.6 params

List recent alerts with severity, status, and asset info. Use update_alert to acknowledge, resolve, dismiss, or snooze alerts.

Parameters* required
limitinteger
Maximum results (default 25, max 100)default: 25
statusvalue
Filter by status ("triggered", "acknowledged", "resolved", "dismissed", "snoozed")
to_datevalue
End of date range (ISO 8601)
asset_idvalue
Filter by asset UUID (from list_assets)
severityvalue
Filter by severity ("info", "warning", "critical")
from_datevalue
Start of date range (ISO 8601, e.g., "2026-01-29T00:00:00Z")
list_inbox_alertsList unresolved alerts in inbox view (triggered + acknowledged only). Focused view for triaging active alerts. Use update_alert to take action.3 params

List unresolved alerts in inbox view (triggered + acknowledged only). Focused view for triaging active alerts. Use update_alert to take action.

Parameters* required
limitinteger
Maximum results (default 25)default: 25
asset_idvalue
Filter by asset UUID (from list_assets)
severityvalue
Filter by severity ("info", "warning", "critical")
update_alertUpdate an alert's lifecycle status. Use list_alerts to find alert IDs.6 params

Update an alert's lifecycle status. Use list_alerts to find alert IDs.

Parameters* required
notesvalue
Optional notes explaining the status change
statusstring
New status: "acknowledged", "resolved", "dismissed", or "snoozed"
alert_idstring
Alert UUID (from list_alerts)
duration_hoursinteger
Snooze duration in hours, 1-720 (default 24). Only for status="snoozed".default: 24
action_categoryvalue
For resolve/dismiss: reran_job, updated_sql, rolled_back, false_positive, expected_behavior, code_change, other
root_cause_categoryvalue
For resolve/dismiss: pipeline_failure, schema_change, data_source_issue, configuration_error, expected_behavior, code_change, infrastructure, unknown
list_alert_rulesList configured alert rules showing which events and severities each rule monitors. Use create_alert_rule to add new rules, list_destinations to find destination IDs for routing.2 params

List configured alert rules showing which events and severities each rule monitors. Use create_alert_rule to add new rules, list_destinations to find destination IDs for routing.

Parameters* required
asset_idvalue
Filter by asset UUID (from list_assets)
active_onlyboolean
Only return active rules (default True)default: true
create_alert_ruleCreate an alert rule to notify when data issues are detected. Routes to specified destinations (or default email). Use list_destinations to find destination IDs, list_assets for asset IDs.6 params

Create an alert rule to notify when data issues are detected. Routes to specified destinations (or default email). Use list_destinations to find destination IDs, list_assets for asset IDs.

Parameters* required
namestring
Human-readable name for the alert rule
asset_idsvalue
UUIDs of assets to scope the rule to (from list_assets). Omit for all.
severitiesvalue
Severity levels to trigger on: "info", "warning", "critical". Omit for all.
descriptionvalue
Optional description of the rule's purpose
event_typesvalue
Event types to monitor: "freshness_stale", "schema_drift", "metric_anomaly", "validity_failure", "custom_sql". Omit for all.
destination_idsvalue
UUIDs of destinations to route alerts to (from list_destinations). Falls back to default email if omitted.
manage_alert_ruleManage an existing alert rule: get details, update, or delete. Use list_alert_rules to find rule IDs.7 params

Manage an existing alert rule: get details, update, or delete. Use list_alert_rules to find rule IDs.

Parameters* required
namevalue
New name (for update)
actionstring
Operation: "get", "update", or "delete"
rule_idstring
Alert rule UUID (from list_alert_rules)
is_activevalue
Enable/disable rule (for update)
severitiesvalue
New severity levels (for update)
descriptionvalue
New description (for update)
event_typesvalue
New event types (for update)
get_alert_trendsGet aggregate alert trend data across all assets. Shows alert volume and patterns over time for trend analysis.1 params

Get aggregate alert trend data across all assets. Shows alert volume and patterns over time for trend analysis.

Parameters* required
periodstring
Time period: "24h", "7d", "30d", "90d" (default "7d")default: 7d
get_alert_historyGet status change history for a specific alert. Shows the full lifecycle: when it was triggered, acknowledged, resolved, etc., with notes and who made each change.1 params

Get status change history for a specific alert. Shows the full lifecycle: when it was triggered, acknowledged, resolved, etc., with notes and who made each change.

Parameters* required
alert_idstring
Alert UUID (from list_alerts)
get_api_key_infoView API key information (read-only). Cannot create or revoke keys.2 params

View API key information (read-only). Cannot create or revoke keys.

Parameters* required
viewstring
What to show: "list" - list all API keys with names and last-used dates "detail" - get details of a specific key (requires key_id) "usage" - show API usage statisticsdefault: list
key_idvalue
API key UUID (required for view="detail")
list_assetsList all connected data assets (databases, warehouses). Returns asset IDs needed by most other tools. Start here to find asset UUIDs for use with check_freshness, list_metrics, explore, etc.2 params

List all connected data assets (databases, warehouses). Returns asset IDs needed by most other tools. Start here to find asset UUIDs for use with check_freshness, list_metrics, explore, etc.

Parameters* required
limitinteger
Maximum results (default 25)default: 25
asset_typevalue
Filter by type ("postgresql", "snowflake", "bigquery", etc.)
trigger_asset_discoveryStart schema discovery for an asset. Discovers all schemas, tables, columns, and metadata. Runs as background job. Use job_status() to track progress, then explore() to browse results.1 params

Start schema discovery for an asset. Discovers all schemas, tables, columns, and metadata. Runs as background job. Use job_status() to track progress, then explore() to browse results.

Parameters* required
asset_idstring
Asset UUID (from list_assets)
create_assetConnect a new data source to AnomalyArmor. After creating, use trigger_asset_discovery to discover tables and columns.4 params

Connect a new data source to AnomalyArmor. After creating, use trigger_asset_discovery to discover tables and columns.

Parameters* required
namestring
Display name for the asset (e.g., "Production PostgreSQL")
descriptionvalue
Optional description of the data source
source_typestring
Database type: "postgresql", "snowflake", "bigquery", "redshift", "mysql", "databricks"
connection_configobject
Connection details (varies by source_type). Examples: PostgreSQL: {"host": "...", "port": 5432, "database": "...", "username": "...", "password": "..."} Snowflake: {"account": "...", "warehouse": "...", "database": "...", "username": "...", "password": "..."}
manage_assetGet asset details or test its connection.2 params

Get asset details or test its connection.

Parameters* required
actionstring
Operation to perform: "get" - get full asset details including schema, table count, etc. "test" - test the database connection is working
asset_idstring
Asset UUID (from list_assets)
get_lineageGet data lineage for an asset showing upstream sources and downstream consumers. Requires a dbt manifest to be uploaded via the UI or API.4 params

Get data lineage for an asset showing upstream sources and downstream consumers. Requires a dbt manifest to be uploaded via the UI or API.

Parameters* required
depthinteger
How many hops to traverse (default 2)default: 2
asset_idstring
Asset UUID (from list_assets)
list_allboolean
List all lineage entries for the asset instead of graph view (default False)default: false
directionstring
Lineage direction: "upstream", "downstream", or "both" (default "both")default: both
job_statusCheck status of an async job (discovery, intelligence generation, etc.). Returns a user_status field with simplified status: "in_progress", "completed", "failed", or "cancelled". Internal states like "pending" and "claimed" are mapped to "in_progress" so consumers don't need t...1 params

Check status of an async job (discovery, intelligence generation, etc.). Returns a user_status field with simplified status: "in_progress", "completed", "failed", or "cancelled". Internal states like "pending" and "claimed" are mapped to "in_progress" so consumers don't need t...

Parameters* required
job_idstring
Job UUID (from trigger_asset_discovery, generate_intelligence, etc.)
cancel_jobCancel a running or pending background job. Use this when a long-running operation (intelligence generation, asset discovery) needs to be stopped.1 params

Cancel a running or pending background job. Use this when a long-running operation (intelligence generation, asset discovery) needs to be stopped.

Parameters* required
job_idstring
Job UUID (from trigger_asset_discovery, generate_intelligence, etc.)
create_tagCreate a new tag for labeling database objects. After creating, use apply_tags to attach it to tables or columns.3 params

Create a new tag for labeling database objects. After creating, use apply_tags to attach it to tables or columns.

Parameters* required
namestring
Tag name (e.g., "pii", "revenue-critical", "deprecated")
colorvalue
Optional hex color code (e.g., "#FF5733")
descriptionvalue
Optional description of the tag's purpose
list_tagsList tags applied to database objects within an asset. Use explore to find valid object paths.2 params

List tags applied to database objects within an asset. Use explore to find valid object paths.

Parameters* required
asset_idstring
Asset UUID (from list_assets)
object_pathvalue
Filter to tags on a specific object (e.g., "public.users.email")
apply_tagsApply tags to database objects. Supports single or cross-asset bulk tagging. Use explore to find valid object paths before tagging.5 params

Apply tags to database objects. Supports single or cross-asset bulk tagging. Use explore to find valid object paths before tagging.

Parameters* required
tagsvalue
List of tag names to apply (e.g., ["pii", "revenue-critical"])
asset_idstring
Asset UUID (from list_assets)
asset_idsvalue
Apply tags across multiple assets (for bulk apply, overrides asset_id)
object_pathvalue
Full path to the object (e.g., "public.users.email")
object_typestring
Type of database object: "column", "table", or "schema"default: column
get_coverageGet monitoring coverage score and tier information. Shows how well your data assets are monitored with scores, tiers, and per-feature breakdowns.2 params

Get monitoring coverage score and tier information. Shows how well your data assets are monitored with scores, tiers, and per-feature breakdowns.

Parameters* required
scopestring
Coverage scope: "company" - company-wide rollup across all assets "asset" - per-asset score with feature breakdown (requires asset_id)default: company
asset_idvalue
Asset UUID (required when scope="asset")
manage_coverageAnalyze coverage gaps or apply monitoring recommendations in batch. Use get_coverage to see current scores first.5 params

Analyze coverage gaps or apply monitoring recommendations in batch. Use get_coverage to see current scores first.

Parameters* required
limitinteger
Maximum gap recommendations (for gaps action, default 20)default: 20
typesvalue
Monitoring types to apply: "freshness", "metrics", "schema_drift" (for apply action, omit for all)
actionstring
Operation to perform: "gaps" - list unmonitored tables ranked by importance "apply" - apply recommended monitoring in batch
asset_idstring
Asset UUID (from list_assets)
table_pathsvalue
Limit to specific tables (for apply action, omit for all)
list_destinationsList configured alert destinations (Slack, email, webhook). Returns ALL destinations by default, including disabled ones. Check the is_active field to see if a destination is enabled or disabled. Prefer re-enabling existing destinations over creating new ones. Returns destinat...2 params

List configured alert destinations (Slack, email, webhook). Returns ALL destinations by default, including disabled ones. Check the is_active field to see if a destination is enabled or disabled. Prefer re-enabling existing destinations over creating new ones. Returns destinat...

Parameters* required
active_onlyboolean
Only return active destinations (default False, shows all)default: false
destination_typevalue
Filter by type: "slack", "webhook", "email"
setup_destinationCreate an alert destination with auto-discovery. For Slack: provide channel_name (auto-discovers OAuth connection). For webhook: provide webhook_url. For email: provide email address. After creating, use create_alert_rule to route alerts to the destination.5 params

Create an alert destination with auto-discovery. For Slack: provide channel_name (auto-discovers OAuth connection). For webhook: provide webhook_url. For email: provide email address. After creating, use create_alert_rule to route alerts to the destination.

Parameters* required
namevalue
Display name for the destination (auto-generated if omitted)
emailvalue
Email address (required for email)
webhook_urlvalue
Full webhook URL (required for webhook)
channel_namevalue
Slack channel name without # (required for Slack)
destination_typestring
Type of destination: "slack", "webhook", or "email"
manage_destinationManage an existing alert destination: get details, update, delete, or test. Use list_destinations to find destination IDs.5 params

Manage an existing alert destination: get details, update, delete, or test. Use list_destinations to find destination IDs.

Parameters* required
namevalue
New display name (for update)
actionstring
Operation: "get", "update", "delete", or "test"
configvalue
New config dict (for update, e.g., {"webhook_url": "..."})
is_activevalue
Enable/disable (for update)
destination_idstring
Destination UUID (from list_destinations)
manage_rule_destinationsManage which destinations an alert rule routes to.4 params

Manage which destinations an alert rule routes to.

Parameters* required
actionstring
Operation: "list" - list destinations linked to this rule "link" - link destinations to the rule (requires destination_ids) "unlink" - unlink a destination from the rule (requires destination_id)
rule_idstring
Alert rule UUID (from list_alert_rules)
destination_idvalue
Single destination UUID to unlink (for unlink action)
destination_idsvalue
Destination UUIDs to link (for link action)
get_freshness_summaryGet freshness monitoring summary with counts of fresh, stale, and unknown tables. For a quick overview use health_summary. For per-table details use check_freshness.

Get freshness monitoring summary with counts of fresh, stale, and unknown tables. For a quick overview use health_summary. For per-table details use check_freshness.

No parameter schema in public metadata yet.

check_freshnessCheck freshness status for all monitored tables in an asset. Shows which tables are fresh, stale, or unknown. Use setup_freshness to add monitoring for new tables.2 params

Check freshness status for all monitored tables in an asset. Shows which tables are fresh, stale, or unknown. Use setup_freshness to add monitoring for new tables.

Parameters* required
asset_idstring
Asset UUID (from list_assets)
stale_onlyboolean
Only return stale tables (default False)default: false
setup_freshnessCreate freshness monitoring for one or more tables. Use explore to find table paths, recommend_freshness for suggested intervals.7 params

Create freshness monitoring for one or more tables. Use explore to find table paths, recommend_freshness for suggested intervals.

Parameters* required
asset_idstring
Asset UUID (from list_assets)
table_pathvalue
Single table path (e.g., "public.orders")
table_pathsvalue
Multiple table paths for bulk setup (overrides table_path)
check_intervalstring
How often to check: "5m", "15m", "30m", "1h", "3h", "6h", "12h", "1d", "1w"default: 1h
monitoring_modestring
"auto_learn" (recommended, learns thresholds) or "explicit"default: auto_learn
freshness_columnvalue
Column to check (auto-detected if not provided)
expected_interval_hoursvalue
Hours until stale (required for explicit mode)
list_freshness_schedulesList freshness monitoring schedules showing check intervals and status. Use setup_freshness to add new schedules.2 params

List freshness monitoring schedules showing check intervals and status. Use setup_freshness to add new schedules.

Parameters* required
limitinteger
Maximum results (default 25)default: 25
asset_idvalue
Filter by asset UUID (from list_assets)
manage_freshness_scheduleUpdate or delete a freshness monitoring schedule. Use list_freshness_schedules to find schedule IDs.7 params

Update or delete a freshness monitoring schedule. Use list_freshness_schedules to find schedule IDs.

Parameters* required
actionstring
Operation: "update" or "delete"
is_activevalue
Enable/disable schedule (for update)
schedule_idstring
Schedule UUID (from list_freshness_schedules)
check_intervalvalue
New check interval (for update)
monitoring_modevalue
New mode: "auto_learn" or "explicit" (for update)
freshness_columnvalue
New column to check (for update)
expected_interval_hoursvalue
New staleness threshold (for update)
health_summaryStart here for a quick overview of data health. Returns aggregated status across alerts, freshness, schema drift, metrics, and validity. For per-table details, use check_freshness or list_schema_changes.

Start here for a quick overview of data health. Returns aggregated status across alerts, freshness, schema drift, metrics, and validity. For per-table details, use check_freshness or list_schema_changes.

No parameter schema in public metadata yet.

get_todays_briefingGet today's data health briefing with key events and recommendations. Provides a daily summary of alerts fired, freshness issues, schema changes, and suggested actions. Good starting point for a morning check-in.

Get today's data health briefing with key events and recommendations. Provides a daily summary of alerts fired, freshness issues, schema changes, and suggested actions. Good starting point for a morning check-in.

No parameter schema in public metadata yet.

ask_questionAsk a natural language question about your data. Uses AI to analyze your schema, metadata, and monitoring data to answer.4 params

Ask a natural language question about your data. Uses AI to analyze your schema, metadata, and monitoring data to answer.

Parameters* required
asset_idvalue
Asset UUID to scope the question (from list_assets). Omit for all assets.
questionstring
Natural language question (e.g., "What tables contain customer PII?")
include_schemaboolean
Include schema info in context (default True)default: true
include_lineageboolean
Include lineage info in context (default False)default: false
generate_intelligenceGenerate AI analysis for an asset. Analyzes schema, data patterns, and metadata to generate insights. Results are cached. Runs as a background job with progress reporting.2 params

Generate AI analysis for an asset. Analyzes schema, data patterns, and metadata to generate insights. Results are cached. Runs as a background job with progress reporting.

Parameters* required
asset_idstring
Asset UUID (from list_assets)
force_refreshboolean
Force regeneration even if cached (default False)default: false
get_metrics_summaryGet metrics monitoring summary for an asset. Shows total metrics, active count, anomaly count, and per-type breakdown.1 params

Get metrics monitoring summary for an asset. Shows total metrics, active count, anomaly count, and per-type breakdown.

Parameters* required
asset_idstring
Asset UUID (from list_assets)
list_metricsList data quality metrics configured for an asset. Shows metric type, table, column, and active status. Use create_metric to add new metrics.2 params

List data quality metrics configured for an asset. Shows metric type, table, column, and active status. Use create_metric to add new metrics.

Parameters* required
limitinteger
Maximum results (default 25)default: 25
asset_idstring
Asset UUID (from list_assets)
create_metricCreate a data quality metric for a table. Use explore to find table paths and column names.4 params

Create a data quality metric for a table. Use explore to find table paths and column names.

Parameters* required
asset_idstring
Asset UUID (from list_assets)
table_pathstring
Full table path (e.g., "public.orders")
column_namevalue
Column to monitor (required for column-level metrics like null_rate, mean, etc.)
metric_typestring
Type of metric: "row_count", "null_rate", "unique_rate", "min", "max", "mean", "stddev"
manage_metricManage an existing metric: get details, update, delete, trigger capture, or view snapshots. Use list_metrics to find metric IDs.7 params

Manage an existing metric: get details, update, delete, trigger capture, or view snapshots. Use list_metrics to find metric IDs.

Parameters* required
limitinteger
Max snapshots to return (for snapshots action, default 100)default: 100
actionstring
Operation: "get" - get metric details and current value "update" - update metric settings "delete" - delete the metric "capture" - trigger an immediate metric capture "snapshots" - view historical metric values
asset_idstring
Asset UUID (from list_assets)
is_activevalue
Enable/disable metric (for update)
metric_idstring
Metric UUID (from list_metrics)
sensitivityvalue
Anomaly detection sensitivity 0.0-1.0 (for update)
capture_intervalvalue
New capture interval (for update)
get_validity_summaryGet validity rules summary for an asset. Shows total rules, active count, failing count, and per-type breakdown.1 params

Get validity rules summary for an asset. Shows total rules, active count, failing count, and per-type breakdown.

Parameters* required
asset_idstring
Asset UUID (from list_assets)
list_validity_rulesList data validity rules configured for an asset. Shows rule type, table, column, and active status. Use create_validity_rule to add new rules.2 params

List data validity rules configured for an asset. Shows rule type, table, column, and active status. Use create_validity_rule to add new rules.

Parameters* required
limitinteger
Maximum results (default 25)default: 25
asset_idstring
Asset UUID (from list_assets)
create_validity_ruleCreate a data validity rule for a specific column. Checks column values against defined constraints. Use explore to find table and column names.7 params

Create a data validity rule for a specific column. Checks column values against defined constraints. Use explore to find table and column names.

Parameters* required
namevalue
Human-readable rule name (auto-generated if omitted)
asset_idstring
Asset UUID (from list_assets)
severitystring
Alert severity when rule fails: "error" (default), "warning", "critical"default: error
rule_typestring
Type of check: "regex_match", "allowed_values", "range_bounds", "format", "length_bounds"
table_pathstring
Full table path (e.g., "public.users")
column_namestring
Column to validate
rule_configobject
Config for the rule type. Examples: {"pattern": "^[A-Z]"} for regex_match, {"values": ["a","b"]} for allowed_values, {"min": 0, "max": 100} for range_bounds
manage_validity_ruleManage an existing validity rule: get details, update, delete, check, or view results. Use list_validity_rules to find rule IDs.8 params

Manage an existing validity rule: get details, update, delete, check, or view results. Use list_validity_rules to find rule IDs.

Parameters* required
namevalue
New name (for update)
limitinteger
Max results to return (for results action, default 25)default: 25
actionstring
Operation: "get" - get rule details "update" - update rule settings "delete" - delete the rule "check" - run the validity check now "results" - view recent check results
rule_idstring
Validity rule UUID (from list_validity_rules)
asset_idstring
Asset UUID (from list_assets)
severityvalue
New severity (for update)
is_activevalue
Enable/disable (for update)
rule_configvalue
New rule config (for update)
recommendGet AI-driven monitoring recommendations for an asset. Analyzes historical patterns, schema, and alert data to suggest monitoring improvements.7 params

Get AI-driven monitoring recommendations for an asset. Analyzes historical patterns, schema, and alert data to suggest monitoring improvements.

Parameters* required
daysinteger
Historical window in days (for thresholds, default 30)default: 30
limitinteger
Maximum recommendations (default 20)default: 20
asset_idstring
Asset UUID (from list_assets)
table_pathvalue
Filter to specific table (for metrics)
min_confidencenumber
Minimum confidence threshold 0.0-1.0 (for freshness/metrics, default 0.5)default: 0.5
include_monitoredboolean
Include already-monitored tables (for freshness, default False)default: false
recommendation_typestring
Type of recommendation: "freshness" - suggest tables and thresholds for freshness monitoring "metrics" - suggest quality metrics based on column analysis "coverage" - identify unmonitored tables ranked by importance "thresholds" - suggest threshold adjustments to reduce alert fatigue
create_referential_checkCreate a referential integrity check between two columns. Detects orphaned foreign key references. Use explore to find table and column names.7 params

Create a referential integrity check between two columns. Detects orphaned foreign key references. Use explore to find table and column names.

Parameters* required
namevalue
Human-readable name (auto-generated if omitted)
asset_idstring
Asset UUID (from list_assets)
severitystring
Alert severity: "warning" (default), "error", "critical"default: warning
source_tablestring
Table containing the foreign key (e.g., "public.orders")
target_tablestring
Referenced table (e.g., "public.customers")
source_columnstring
Foreign key column (e.g., "customer_id")
target_columnstring
Referenced column (e.g., "id")
manage_referentialManage referential integrity checks: view, update, delete, execute, or get results. Use create_referential_check to create new checks.7 params

Manage referential integrity checks: view, update, delete, execute, or get results. Use create_referential_check to create new checks.

Parameters* required
namevalue
New name (for update action)
limitinteger
Max results (for list/results actions, default 25)default: 25
actionstring
Operation to perform: "summary" - get overview of all checks for the asset "list" - list all checks for the asset "get" - get details of a specific check (requires check_id) "update" - update check settings (requires check_id) "delete" - delete a check (requires check_id) "execute" - run a check now (requires check_id) "results" - get recent results for a check (requires check_id)
asset_idstring
Asset UUID (from list_assets)
check_idvalue
Check UUID (required for get/update/delete/execute/results)
severityvalue
New severity (for update action)
is_activevalue
Enable/disable (for update action)
get_schema_summaryGet schema drift summary with total changes, unacknowledged count, and severity breakdown. For individual changes use list_schema_changes.

Get schema drift summary with total changes, unacknowledged count, and severity breakdown. For individual changes use list_schema_changes.

No parameter schema in public metadata yet.

list_schema_changesList recent schema changes showing change type, severity, and acknowledgment status. For summary counts use get_schema_summary. To enable monitoring use enable_schema_monitoring.4 params

List recent schema changes showing change type, severity, and acknowledgment status. For summary counts use get_schema_summary. To enable monitoring use enable_schema_monitoring.

Parameters* required
limitinteger
Maximum results (default 25)default: 25
asset_idvalue
Filter by asset UUID (from list_assets)
severityvalue
Filter by severity: "critical", "warning", "info"
unacknowledged_onlyboolean
Only return unacknowledged changes (default false)default: false
create_schema_baselineCapture current schema as baseline for drift detection. Required before enable_schema_monitoring can detect changes.2 params

Capture current schema as baseline for drift detection. Required before enable_schema_monitoring can detect changes.

Parameters* required
asset_idstring
Asset UUID (from list_assets)
descriptionvalue
Optional description for the baseline
enable_schema_monitoringEnable schema drift monitoring for an asset. Detects column additions, removals, type changes, and other schema modifications. Use list_schema_changes to view detected changes.3 params

Enable schema drift monitoring for an asset. Detects column additions, removals, type changes, and other schema modifications. Use list_schema_changes to view detected changes.

Parameters* required
asset_idstring
Asset UUID (from list_assets)
schedule_typestring
How often to check for drift: "5m", "1h", "6h", "1d", "1w"default: 1d
auto_create_baselineboolean
Create baseline if none exists (default True)default: true
disable_schema_monitoringDisable schema drift monitoring for an asset. Keeps baseline for re-enabling.1 params

Disable schema drift monitoring for an asset. Keeps baseline for re-enabling.

Parameters* required
asset_idstring
Asset UUID (from list_assets)
get_schema_monitoringGet schema monitoring configuration for an asset. Shows whether monitoring is enabled, schedule type, baseline info, and last check timestamp.1 params

Get schema monitoring configuration for an asset. Shows whether monitoring is enabled, schedule type, baseline info, and last check timestamp.

Parameters* required
asset_idstring
Asset UUID (from list_assets)
dry_run_schemaPreview schema drift detection without persisting. Compares current schema against baseline to show what changes would be detected. Use this to test before enabling monitoring.2 params

Preview schema drift detection without persisting. Compares current schema against baseline to show what changes would be detected. Use this to test before enabling monitoring.

Parameters* required
asset_idstring
Asset UUID (from list_assets)
schedule_typestring
Schedule for alert estimation: "1h", "1d", "1w"default: 1d

AnomalyArmor Agents

PyPI npm Glama License: MIT

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

  1. AnomalyArmor Account: Sign up at anomalyarmor.ai
  2. API Key: Generate at Settings > API Keys
  3. Configure: Set ARMOR_API_KEY env var or create ~/.armor/config.yaml:
api_key: aa_live_your_key_here

Available Skills

SkillDescriptionExample
/armor:startGuided onboarding for new users"Help me get set up"
/armor:statusHealth summary across all assets"Is my data healthy?"
/armor:connectConnect a new data source"Connect my Snowflake warehouse"
/armor:monitorSet up freshness and schema monitoring"Monitor freshness for orders table"
/armor:alertsQuery and manage alerts"What alerts fired yesterday?"
/armor:askNatural language Q&A about your data"What tables contain customer data?"
/armor:analyzeTrigger AI analysis"Analyze the finance schema"
/armor:qualityData quality metrics and validity rules"Add null check for customer_id"
/armor:coverageMonitoring coverage analysis"What tables have no monitoring?"
/armor:recommendAI-driven monitoring recommendations"What should I monitor?"
/armor:tagsAsset tagging and classification"Tag this table as PII"
/armor:investigateRoot cause analysis"Why is this table stale?"
/armor:lineageData lineage exploration"What depends on this table?"
/armor:profileTable 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 assets
  • get_todays_briefing() - Daily AI briefing with alerts, freshness, and coverage gaps

Alerts (5 tools)

  • get_alerts_summary() - Alert counts by severity and status
  • list_alerts(status, severity, asset_id, from_date, to_date) - Query alerts with filters
  • list_inbox_alerts(status, limit) - Unresolved alerts inbox
  • update_alert(alert_id, action, ...) - Acknowledge, resolve, snooze, or comment on alerts
  • get_alert_trends(period) - Alert trends over time
  • get_alert_history(alert_id) - Full history for a specific alert

Alert Rules (3 tools)

  • list_alert_rules(asset_id, is_active) - List configured rules
  • create_alert_rule(asset_id, rule_type, ...) - Create new alert rule
  • manage_alert_rule(rule_id, action, ...) - Update, delete, enable/disable, or duplicate rules

Assets (3 tools)

  • list_assets(source, asset_type, search) - List monitored assets
  • create_asset(name, source_type, connection_config) - Create data source
  • manage_asset(asset_id, action, ...) - Update, delete, test connection, or trigger discovery
  • trigger_asset_discovery(asset_id) - Start schema discovery

Freshness (4 tools)

  • get_freshness_summary() - Freshness overview across all assets
  • check_freshness(asset_id, table_path) - Check specific table freshness
  • setup_freshness(asset_id, table_path, check_interval, ...) - Create freshness schedule
  • list_freshness_schedules(asset_id) - List configured schedules
  • manage_freshness_schedule(schedule_id, action, ...) - Update, delete, pause/resume schedules

Schema Drift (5 tools)

  • get_schema_summary() - Schema drift overview
  • list_schema_changes(asset_id, severity, from_date, to_date) - List detected changes
  • create_schema_baseline(asset_id, description) - Create baseline
  • enable_schema_monitoring(asset_id, schedule_type, notify_on) - Enable monitoring
  • disable_schema_monitoring(asset_id) - Disable monitoring
  • get_schema_monitoring(asset_id) - View current monitoring config
  • dry_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 metrics
  • create_metric(asset_id, metric_type, table_path, ...) - Create row count, null rate, or custom metric
  • manage_metric(metric_id, action, ...) - Update, delete, capture, or view snapshots
  • get_validity_summary(asset_id) / list_validity_rules(asset_id) - View validity rules
  • create_validity_rule(asset_id, rule_type, table_path, ...) - Create validity rule
  • manage_validity_rule(rule_id, action, ...) - Update, delete, check, or view results

Referential Integrity (2 tools)

  • create_referential_check(asset_id, ...) - Create cross-table referential check
  • manage_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 destination
  • manage_destination(destination_id, action, ...) - Update, delete, test, enable/disable
  • manage_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 asset
  • manage_coverage(asset_id, action) - Get next steps or apply recommended monitoring
  • recommend(asset_id, recommendation_type) - AI recommendations for freshness, metrics, coverage, or thresholds

Intelligence (2 tools)

  • ask_question(asset, question) - Natural language Q&A
  • generate_intelligence(asset) - Trigger AI knowledge base generation

Catalog (4 tools)

  • get_lineage(asset_id, depth, direction) - Data lineage graph
  • job_status(job_id) - Check async job status
  • create_tag(asset_id, name, object_path, ...) - Create and assign tags
  • list_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:

  1. Restart your AI tool after config changes
  2. Verify uvx is installed: uvx --version
  3. Check MCP config syntax

Skills Not Loading

Solution:

  1. Verify plugin installed: claude plugin list
  2. Check skills directory exists
  3. 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

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

ARMOR_API_KEY*secret

AnomalyArmor API key (aa_live_*). Generate at https://app.anomalyarmor.ai/settings/api-keys.

Categories
Communication & MessagingMonitoring & ObservabilityData & Analytics
Registryactive
Packagearmor-mcp
TransportSTDIO, HTTP
AuthRequired
UpdatedApr 18, 2026
View on GitHub

Related Communication & Messaging MCP Servers

View all →
Microsoft 365 Teams

io.github.mindstone/mcp-server-microsoft-teams

Microsoft 365 Teams via Graph: list chats, read/send messages, list teams/channels, presence.
8
Outlook Email

com.mintmcp/outlook-email

A MCP server for Outlook email that lets you search, read, and draft emails and replies.
8
Resend Email MCP

helbertparanhos/resend-email-mcp

Complete Resend email MCP: full API coverage + debug layer (deliverability, DNS, bounces).
Email Mcp

marlinjai/email-mcp

Unified email MCP server for Gmail, Outlook, iCloud, and IMAP with batch operations
13
Email (IMAP/SMTP)

io.github.mindstone/mcp-server-email-imap

Email IMAP/SMTP MCP server: iCloud, Gmail, Yahoo, Outlook, and custom IMAP providers
8
HTML Email Playbook

io.github.osamahassouna/email-playbook-mcp

Teaches AI to write HTML email that renders in Outlook, Gmail, and Apple Mail. 19 rules, 6 comps.