CCM
/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

Claude Code Marketplaces

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
  • Skill index
  • MCP index
  • Marketplace index
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by mertbuilds.com

Independent project, not affiliated with Anthropic
anomalyarmor avatar

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 →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →

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
asset_idvalue
Filter by asset UUID (from list_assets)
from_datevalue
Start of date range (ISO 8601, e.g., "2026-01-29T00:00:00Z")
limitinteger
Maximum results (default 25, max 100)default: 25
severityvalue
Filter by severity ("info", "warning", "critical")
statusvalue
Filter by status ("triggered", "acknowledged", "resolved", "dismissed", "snoozed")
to_datevalue
End of date range (ISO 8601)
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
asset_idvalue
Filter by asset UUID (from list_assets)
limitinteger
Maximum results (default 25)default: 25
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
action_categoryvalue
For resolve/dismiss: reran_job, updated_sql, rolled_back, false_positive, expected_behavior, code_change, other
alert_idstring
Alert UUID (from list_alerts)
duration_hoursinteger
Snooze duration in hours, 1-720 (default 24). Only for status="snoozed".default: 24
notesvalue
Optional notes explaining the status change
root_cause_categoryvalue
For resolve/dismiss: pipeline_failure, schema_change, data_source_issue, configuration_error, expected_behavior, code_change, infrastructure, unknown
statusstring
New status: "acknowledged", "resolved", "dismissed", or "snoozed"
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
active_onlyboolean
Only return active rules (default True)default: true
asset_idvalue
Filter by asset UUID (from list_assets)
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
asset_idsvalue
UUIDs of assets to scope the rule to (from list_assets). Omit for all.
descriptionvalue
Optional description of the rule's purpose
destination_idsvalue
UUIDs of destinations to route alerts to (from list_destinations). Falls back to default email if omitted.
event_typesvalue
Event types to monitor: "freshness_stale", "schema_drift", "metric_anomaly", "validity_failure", "custom_sql". Omit for all.
namestring
Human-readable name for the alert rule
severitiesvalue
Severity levels to trigger on: "info", "warning", "critical". Omit for all.
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
actionstring
Operation: "get", "update", or "delete"
descriptionvalue
New description (for update)
event_typesvalue
New event types (for update)
is_activevalue
Enable/disable rule (for update)
namevalue
New name (for update)
rule_idstring
Alert rule UUID (from list_alert_rules)
severitiesvalue
New severity levels (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
key_idvalue
API key UUID (required for view="detail")
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
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
asset_typevalue
Filter by type ("postgresql", "snowflake", "bigquery", etc.)
limitinteger
Maximum results (default 25)default: 25
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
connection_configobject
Connection details (varies by source_type). Examples: PostgreSQL: {"host": "...", "port": 5432, "database": "...", "username": "...", "password": "..."} Snowfla...
descriptionvalue
Optional description of the data source
namestring
Display name for the asset (e.g., "Production PostgreSQL")
source_typestring
Database type: "postgresql", "snowflake", "bigquery", "redshift", "mysql", "databricks"
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
asset_idstring
Asset UUID (from list_assets)
depthinteger
How many hops to traverse (default 2)default: 2
directionstring
Lineage direction: "upstream", "downstream", or "both" (default "both")default: both
list_allboolean
List all lineage entries for the asset instead of graph view (default False)default: false
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
colorvalue
Optional hex color code (e.g., "#FF5733")
descriptionvalue
Optional description of the tag's purpose
namestring
Tag name (e.g., "pii", "revenue-critical", "deprecated")
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
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
tagsvalue
List of tag names to apply (e.g., ["pii", "revenue-critical"])
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
asset_idvalue
Asset UUID (required when scope="asset")
scopestring
Coverage scope: "company" - company-wide rollup across all assets "asset" - per-asset score with feature breakdown (requires asset_id)default: company
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
actionstring
Operation to perform: "gaps" - list unmonitored tables ranked by importance "apply" - apply recommended monitoring in batch
asset_idstring
Asset UUID (from list_assets)
limitinteger
Maximum gap recommendations (for gaps action, default 20)default: 20
table_pathsvalue
Limit to specific tables (for apply action, omit for all)
typesvalue
Monitoring types to apply: "freshness", "metrics", "schema_drift" (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
channel_namevalue
Slack channel name without # (required for Slack)
destination_typestring
Type of destination: "slack", "webhook", or "email"
emailvalue
Email address (required for email)
namevalue
Display name for the destination (auto-generated if omitted)
webhook_urlvalue
Full webhook URL (required for webhook)
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
actionstring
Operation: "get", "update", "delete", or "test"
configvalue
New config dict (for update, e.g., {"webhook_url": "..."})
destination_idstring
Destination UUID (from list_destinations)
is_activevalue
Enable/disable (for update)
namevalue
New display name (for update)
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 desti...
destination_idvalue
Single destination UUID to unlink (for unlink action)
destination_idsvalue
Destination UUIDs to link (for link action)
rule_idstring
Alert rule UUID (from list_alert_rules)
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)
check_intervalstring
How often to check: "5m", "15m", "30m", "1h", "3h", "6h", "12h", "1d", "1w"default: 1h
expected_interval_hoursvalue
Hours until stale (required for explicit mode)
freshness_columnvalue
Column to check (auto-detected if not provided)
monitoring_modestring
"auto_learn" (recommended, learns thresholds) or "explicit"default: auto_learn
table_pathvalue
Single table path (e.g., "public.orders")
table_pathsvalue
Multiple table paths for bulk setup (overrides table_path)
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
asset_idvalue
Filter by asset UUID (from list_assets)
limitinteger
Maximum results (default 25)default: 25
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"
check_intervalvalue
New check interval (for update)
expected_interval_hoursvalue
New staleness threshold (for update)
freshness_columnvalue
New column to check (for update)
is_activevalue
Enable/disable schedule (for update)
monitoring_modevalue
New mode: "auto_learn" or "explicit" (for update)
schedule_idstring
Schedule UUID (from list_freshness_schedules)
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.
include_lineageboolean
Include lineage info in context (default False)default: false
include_schemaboolean
Include schema info in context (default True)default: true
questionstring
Natural language question (e.g., "What tables contain customer PII?")
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
asset_idstring
Asset UUID (from list_assets)
limitinteger
Maximum results (default 25)default: 25
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)
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"
table_pathstring
Full table path (e.g., "public.orders")
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
actionstring
Operation: "get" - get metric details and current value "update" - update metric settings "delete" - delete the metric "capture" - trigger an immediate metric capture "snapshots...
asset_idstring
Asset UUID (from list_assets)
capture_intervalvalue
New capture interval (for update)
is_activevalue
Enable/disable metric (for update)
limitinteger
Max snapshots to return (for snapshots action, default 100)default: 100
metric_idstring
Metric UUID (from list_metrics)
sensitivityvalue
Anomaly detection sensitivity 0.0-1.0 (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
asset_idstring
Asset UUID (from list_assets)
limitinteger
Maximum results (default 25)default: 25
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
asset_idstring
Asset UUID (from list_assets)
column_namestring
Column to validate
namevalue
Human-readable rule name (auto-generated if omitted)
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
rule_typestring
Type of check: "regex_match", "allowed_values", "range_bounds", "format", "length_bounds"
severitystring
Alert severity when rule fails: "error" (default), "warning", "critical"default: error
table_pathstring
Full table path (e.g., "public.users")
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
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
asset_idstring
Asset UUID (from list_assets)
is_activevalue
Enable/disable (for update)
limitinteger
Max results to return (for results action, default 25)default: 25
namevalue
New name (for update)
rule_configvalue
New rule config (for update)
rule_idstring
Validity rule UUID (from list_validity_rules)
severityvalue
New severity (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
asset_idstring
Asset UUID (from list_assets)
daysinteger
Historical window in days (for thresholds, default 30)default: 30
include_monitoredboolean
Include already-monitored tables (for freshness, default False)default: false
limitinteger
Maximum recommendations (default 20)default: 20
min_confidencenumber
Minimum confidence threshold 0.0-1.0 (for freshness/metrics, default 0.5)default: 0.5
recommendation_typestring
Type of recommendation: "freshness" - suggest tables and thresholds for freshness monitoring "metrics" - suggest quality metrics based on column analysis "coverage" - identify unmonitor...
table_pathvalue
Filter to specific table (for metrics)
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
asset_idstring
Asset UUID (from list_assets)
namevalue
Human-readable name (auto-generated if omitted)
severitystring
Alert severity: "warning" (default), "error", "critical"default: warning
source_columnstring
Foreign key column (e.g., "customer_id")
source_tablestring
Table containing the foreign key (e.g., "public.orders")
target_columnstring
Referenced column (e.g., "id")
target_tablestring
Referenced table (e.g., "public.customers")
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
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...
asset_idstring
Asset UUID (from list_assets)
check_idvalue
Check UUID (required for get/update/delete/execute/results)
is_activevalue
Enable/disable (for update action)
limitinteger
Max results (for list/results actions, default 25)default: 25
namevalue
New name (for update action)
severityvalue
New severity (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
asset_idvalue
Filter by asset UUID (from list_assets)
limitinteger
Maximum results (default 25)default: 25
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)
auto_create_baselineboolean
Create baseline if none exists (default True)default: true
schedule_typestring
How often to check for drift: "5m", "1h", "6h", "1d", "1w"default: 1d
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 →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →

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 →
byteplant-dev avatar
Byteplant Mcp

byteplant-dev/byteplant-mcp

An MCP server that provides Email, Phone and Address Validation Services from Byteplant
1
agentsimdev avatar
Mcp

dev.agentsim/mcp

Real SIM-backed mobile numbers for AI agents to receive SMS and OTP codes.
1
elisymlabs avatar
elisym

elisymlabs/elisym

AI agent discovery, marketplace, messaging, and payments on Nostr - no platform, no middleman
1
gabrielmahia avatar
Mpesa Mcp

gabrielmahia/mpesa-mcp

M-Pesa + Africa's Talking MCP server — payments, SMS, airtime for AI agents in East Africa.
1
henry-ships avatar
SparkForge — 20+ Utility APIs with x402 Micropayments

henry-ships/sparkforge

20+ pay-per-use APIs: image gen, crypto data, email verify, SSL check, web scraping, and more.
1
getcoherence avatar
Mcp

io.getcoherence/mcp

Coherence MCP — chat with your CRM's AI agent from Claude, Cursor, and Cline.
1