AnomalyArmor
Data observability tools for engineering teams: alerts, freshness, schema drift, lineage, quality.
Connector by anomalyarmor.aiOfficial · Domain verified by the MCP Registry
Install
Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/anomalyarmor-ai-armor-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Remote endpoint
https://mcp.anomalyarmor.ai/mcpRemote (HTTP)
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 30 read · 15 write · 10 delete
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 55
Read from the source code; the running server may list different tools.
Read 30 · Look things up without changing anything.
ask_questioncheck_freshnessdry_run_schemaget_alert_historyget_alert_trendsget_alerts_summaryget_api_key_infoget_coverageget_freshness_summaryget_investigationget_lineageget_metrics_summary
Show 18 more tools
get_schema_monitoringget_schema_summaryget_todays_briefingget_validity_summaryhealth_summaryinvestigate_assetjob_statuslist_alert_ruleslist_alertslist_assetslist_destinationslist_freshness_scheduleslist_inbox_alertslist_metricslist_schema_changeslist_tagslist_validity_rulesrecommend
Write 15 · Create, change, send or run things.
apply_tagscreate_alert_rulecreate_assetcreate_metriccreate_referential_checkcreate_schema_baselinecreate_tagcreate_validity_ruleenable_schema_monitoringmanage_assetmanage_coveragesetup_destination
Show 3 more tools
setup_freshnesstrigger_asset_discoveryupdate_alert
Delete 10 · Delete, drop, revoke or wipe things.
cancel_jobdisable_schema_monitoringgenerate_intelligencemanage_alert_rulemanage_destinationmanage_freshness_schedulemanage_metricmanage_referentialmanage_rule_destinationsmanage_validity_rule
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
ARMOR_API_KEY
Network hosts it talks to 1
mcp.anomalyarmor.ai· found in remote endpoint, install command
Tools (55)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
apply_tagsApply tags to database objects. Supports single or cross-asset bulk tagging. Use explore to find valid object paths before tagging. Args: asset_id: Asset UUID (from list_assets) object_path: Full path to the object (e.g., "public.users.email") tags: List of tag names to apply (e.g., ["pii", "revenue-critical"]) object_type: Type of database object: "column", "table", or "schema" asset_ids: Apply tags across multiple assets (for bulk apply, overrides asset_id)
ask_questionread-onlyAsk a natural language question about your data. Uses AI to analyze your schema, metadata, and monitoring data to answer. Args: question: Natural language question (e.g., "What tables contain customer PII?") asset_id: Asset UUID to scope the question (from list_assets). Omit for all assets. include_schema: Include schema info in context (default True) include_lineage: Include lineage info in context (default False)
cancel_jobcan change or delete dataCancel a running or pending background job. Use this when a long-running operation (intelligence generation, asset discovery) needs to be stopped. Args: job_id: Job UUID (from trigger_asset_discovery, generate_intelligence, etc.)
check_freshnessread-onlyCheck 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. Args: asset_id: Asset UUID (from list_assets) stale_only: Only return stale tables (default False)
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. Args: name: Human-readable name for the alert rule event_types: Event types to monitor: "freshness_stale", "schema_drift", "metric_anomaly", "validity_failure", "custom_sql". Omit for all. severities: Severity levels to trigger on: "info", "warning", "critical". Omit for all. description: Optional description of the rule's purpose destination_ids: UUIDs of destinations …
create_assetConnect a new data source to AnomalyArmor. After creating, use trigger_asset_discovery to discover tables and columns. Args: name: Display name for the asset (e.g., "Production PostgreSQL") source_type: Database type: "postgresql", "snowflake", "bigquery", "redshift", "mysql", "databricks" connection_config: Connection details (varies by source_type). Examples: PostgreSQL: {"host": "...", "port": 5432, "database": "...", "username": "...", "password": "..."} Snowflake: {"account": "...", "warehouse": ".…
create_metricCreate a data quality metric for a table. Use explore to find table paths and column names. Args: asset_id: Asset UUID (from list_assets) table_path: Full table path (e.g., "public.orders") metric_type: Type of metric: "row_count", "null_rate", "unique_rate", "min", "max", "mean", "stddev" column_name: Column to monitor (required for column-level metrics like null_rate, mean, etc.) operating_period_mode: Operating-period awareness: "off" (pool all history, default), "schedule" (segment by operating_schedu…
create_referential_checkCreate a referential integrity check between two columns. Detects orphaned foreign key references. Use explore to find table and column names. Args: asset_id: Asset UUID (from list_assets) source_table: Table containing the foreign key (e.g., "public.orders") source_column: Foreign key column (e.g., "customer_id") target_table: Referenced table (e.g., "public.customers") target_column: Referenced column (e.g., "id") name: Human-readable name (auto-generated if omitted) severity: Alert severity: "warning" (default), "error", "critical"
create_schema_baselineCapture current schema as baseline for drift detection. Required before enable_schema_monitoring can detect changes. Args: asset_id: Asset UUID (from list_assets) description: Optional description for the baseline
create_tagCreate a new tag for labeling database objects. After creating, use apply_tags to attach it to tables or columns. Args: name: Tag name (e.g., "pii", "revenue-critical", "deprecated") description: Optional description of the tag's purpose color: Optional hex color code (e.g., "#FF5733")
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. Args: asset_id: Asset UUID (from list_assets) table_path: Full table path (e.g., "public.users") column_name: Column to validate rule_type: Type of check: "regex_match", "allowed_values", "range_bounds", "format", "length_bounds" rule_config: Config for the rule type. Examples: {"pattern": "^[A-Z]"} for regex_match, {"values": ["a","b"]} for allowed_values, {"min":…
disable_schema_monitoringcan change or delete dataDisable schema drift monitoring for an asset. Keeps baseline for re-enabling. Args: asset_id: Asset UUID (from list_assets)
dry_run_schemaread-onlyPreview schema drift detection without persisting. Compares current schema against baseline to show what changes would be detected. Use this to test before enabling monitoring. Args: asset_id: Asset UUID (from list_assets) schedule_type: Schedule for alert estimation: "1h", "1d", "1w"
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. Args: asset_id: Asset UUID (from list_assets) schedule_type: How often to check for drift: "5m", "1h", "6h", "1d", "1w" auto_create_baseline: Create baseline if none exists (default True)
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. Args: asset_id: Asset UUID (from list_assets) force_refresh: Force regeneration even if cached (default False)
Show 40 more tools
get_alert_historyread-onlyGet 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. Args: alert_id: Alert UUID (from list_alerts)
get_alert_trendsread-onlyGet aggregate alert trend data across all assets. Shows alert volume and patterns over time for trend analysis. Args: period: Time period: "24h", "7d", "30d", "90d" (default "7d")
get_alerts_summaryread-onlyGet alert overview with counts by status and severity. Quick snapshot of triggered, acknowledged, and resolved alerts. For individual alerts use list_alerts.
get_api_key_inforead-onlyView API key information (read-only). Cannot create or revoke keys. Args: view: 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 statistics key_id: API key UUID (required for view="detail")
get_coverageread-onlyGet monitoring coverage score and tier information. Shows how well your data assets are monitored with scores, tiers, and per-feature breakdowns. Args: scope: Coverage scope: "company" - company-wide rollup across all assets "asset" - per-asset score with feature breakdown (requires asset_id) asset_id: Asset UUID (required when scope="asset")
get_freshness_summaryread-onlyGet 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_investigationread-onlyFetch a persisted alert investigation and project it to a capsule. Use for alert-anchored investigations that already ran (typically triggered by an alert firing). For asset-level questions with no associated alert, use `investigate_asset` instead. Args: investigation_id: Investigation UUID.
get_lineageread-onlyGet data lineage for an asset showing upstream sources and downstream consumers. Requires a dbt manifest to be uploaded via the UI or API. Args: asset_id: Asset UUID (from list_assets) depth: How many hops to traverse (default 2) direction: Lineage direction: "upstream", "downstream", or "both" (default "both") list_all: List all lineage entries for the asset instead of graph view (default False)
get_metrics_summaryread-onlyGet metrics monitoring summary for an asset. Shows total metrics, active count, anomaly count, and per-type breakdown. Args: asset_id: Asset UUID (from list_assets)
get_schema_monitoringread-onlyGet schema monitoring configuration for an asset. Shows whether monitoring is enabled, schedule type, baseline info, and last check timestamp. Args: asset_id: Asset UUID (from list_assets)
get_schema_summaryread-onlyGet schema drift summary with total changes, unacknowledged count, and severity breakdown. For individual changes use list_schema_changes.
get_todays_briefingread-onlyGet 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_validity_summaryread-onlyGet validity rules summary for an asset. Shows total rules, active count, failing count, and per-type breakdown. Args: asset_id: Asset UUID (from list_assets)
health_summaryread-onlyStart 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.
investigate_assetread-onlyRun a synchronous root-cause investigation against an asset. Returns an EvidenceCapsule with root cause, triggers, consequences, confidence, and a suggested fix. Each piece of evidence is cited back to the underlying record (alert, schema event, metric, lineage) via `source` + `source_id` so the answer is auditable. Prefer this over composing multiple tools (freshness, lineage, intelligence) yourself: the backend already runs all of them in parallel inside the correlator pipeline. Args: asset_id: Asset UUID (from list_assets). question: Optional natural-language question to anchor t…
job_statusread-onlyCheck 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 to handle them. Args: job_id: Job UUID (from trigger_asset_discovery, generate_intelligence, etc.)
list_alert_rulesread-onlyList 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. Args: asset_id: Filter by asset UUID (from list_assets) active_only: Only return active rules (default True)
list_alertsread-onlyList recent alerts with severity, status, and asset info. Use update_alert to acknowledge, resolve, dismiss, or snooze alerts. Args: status: Filter by status ("triggered", "acknowledged", "resolved", "dismissed", "snoozed") severity: Filter by severity ("info", "warning", "critical") asset_id: Filter by asset UUID (from list_assets) from_date: Start of date range (ISO 8601, e.g., "2026-01-29T00:00:00Z") to_date: End of date range (ISO 8601) limit: Maximum results (default 25, max 100)
list_assetsread-onlyList 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. Args: asset_type: Filter by type ("postgresql", "snowflake", "bigquery", etc.) limit: Maximum results (default 25)
list_destinationsread-onlyList 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 destination IDs needed for create_alert_rule. Use setup_destination to create new destinations, or manage_destination to re-enable an inactive one. Args: destination_type: Filter by type: "slack", "webhook", "email" active_only: Only return active destinations (default False, shows all)
list_freshness_schedulesread-onlyList freshness monitoring schedules showing check intervals and status. Use setup_freshness to add new schedules. Args: asset_id: Filter by asset UUID (from list_assets) limit: Maximum results (default 25)
list_inbox_alertsread-onlyList unresolved alerts in inbox view (triggered + acknowledged only). Focused view for triaging active alerts. Use update_alert to take action. Args: severity: Filter by severity ("info", "warning", "critical") asset_id: Filter by asset UUID (from list_assets) limit: Maximum results (default 25)
list_metricsread-onlyList data quality metrics configured for an asset. Shows metric type, table, column, and active status. Use create_metric to add new metrics. Args: asset_id: Asset UUID (from list_assets) limit: Maximum results (default 25)
list_schema_changesread-onlyList recent schema changes showing change type, severity, and acknowledgment status. For summary counts use get_schema_summary. To enable monitoring use enable_schema_monitoring. Args: asset_id: Filter by asset UUID (from list_assets) severity: Filter by severity: "critical", "warning", "info" unacknowledged_only: Only return unacknowledged changes (default false) limit: Maximum results (default 25)
list_tagsread-onlyList tags applied to database objects within an asset. Use explore to find valid object paths. Args: asset_id: Asset UUID (from list_assets) object_path: Filter to tags on a specific object (e.g., "public.users.email")
list_validity_rulesread-onlyList data validity rules configured for an asset. Shows rule type, table, column, and active status. Use create_validity_rule to add new rules. Args: asset_id: Asset UUID (from list_assets) limit: Maximum results (default 25)
manage_alert_rulecan change or delete dataManage an existing alert rule: get details, update, or delete. Use list_alert_rules to find rule IDs. Args: action: Operation: "get", "update", or "delete" rule_id: Alert rule UUID (from list_alert_rules) name: New name (for update) event_types: New event types (for update) severities: New severity levels (for update) description: New description (for update) is_active: Enable/disable rule (for update)
manage_assetGet asset details or test its connection. Args: action: Operation to perform: "get" - get full asset details including schema, table count, etc. "test" - test the database connection is working asset_id: Asset UUID (from list_assets)
manage_coverageAnalyze coverage gaps or apply monitoring recommendations in batch. Use get_coverage to see current scores first. Args: action: Operation to perform: "gaps" - list unmonitored tables ranked by importance "apply" - apply recommended monitoring in batch asset_id: Asset UUID (from list_assets) limit: Maximum gap recommendations (for gaps action, default 20) types: Monitoring types to apply: "freshness", "metrics", "schema_drift" (for apply action, omit for all) table_paths: Limit to specific tables (for apply action, omit for all)
manage_destinationcan change or delete dataManage an existing alert destination: get details, update, delete, or test. Use list_destinations to find destination IDs. Args: action: Operation: "get", "update", "delete", or "test" destination_id: Destination UUID (from list_destinations) name: New display name (for update) config: New config dict (for update, e.g., {"webhook_url": "..."}) is_active: Enable/disable (for update)
manage_freshness_schedulecan change or delete dataUpdate or delete a freshness monitoring schedule. Use list_freshness_schedules to find schedule IDs. Args: action: Operation: "update" or "delete" schedule_id: Schedule UUID (from list_freshness_schedules) check_interval: New check interval (for update) expected_interval_hours: New staleness threshold (for update) freshness_column: New column to check (for update) monitoring_mode: New mode: "auto_learn" or "explicit" (for update) is_active: Enable/disable schedule (for update)
manage_metriccan change or delete dataManage an existing metric: get details, update, delete, trigger capture, or view snapshots. Use list_metrics to find metric IDs. Args: action: 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_id: Asset UUID (from list_assets) metric_id: Metric UUID (from list_metrics) is_active: Enable/disable metric (for update) capture_interval: New capture inter…
manage_referentialcan change or delete dataManage referential integrity checks: view, update, delete, execute, or get results. Use create_referential_check to create new checks. Args: action: 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 che…
manage_rule_destinationscan change or delete dataManage which destinations an alert rule routes to. Args: action: 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_id: Alert rule UUID (from list_alert_rules) destination_ids: Destination UUIDs to link (for link action) destination_id: Single destination UUID to unlink (for unlink action)
manage_validity_rulecan change or delete dataManage an existing validity rule: get details, update, delete, check, or view results. Use list_validity_rules to find rule IDs. Args: action: 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_id: Asset UUID (from list_assets) rule_id: Validity rule UUID (from list_validity_rules) name: New name (for update) severity: New severity (for update) is_active: Enable/disable (for update) …
recommendread-onlyGet AI-driven monitoring recommendations for an asset. Analyzes historical patterns, schema, and alert data to suggest monitoring improvements. Args: recommendation_type: 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 asset_id: Asset UUID (from list_assets) limit: Maximum recommendations (default 20…
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. Args: destination_type: Type of destination: "slack", "webhook", or "email" name: Display name for the destination (auto-generated if omitted) channel_name: Slack channel name without # (required for Slack) webhook_url: Full webhook URL (required for webhook) email: Email address (required for email)
setup_freshnessCreate freshness monitoring for one or more tables. Use explore to find table paths, recommend_freshness for suggested intervals. Args: asset_id: Asset UUID (from list_assets) table_path: Single table path (e.g., "public.orders") table_paths: Multiple table paths for bulk setup (overrides table_path) check_interval: How often to check: "5m", "15m", "30m", "1h", "3h", "6h", "12h", "1d", "1w" expected_interval_hours: Hours until stale (required for explicit mode) freshness_column: Column to check (auto-detected if not provided) monitoring_mode: "auto_learn" (recomme…
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. Args: asset_id: Asset UUID (from list_assets)
update_alertUpdate an alert's lifecycle status. Use list_alerts to find alert IDs. Args: alert_id: Alert UUID (from list_alerts) status: New status: "acknowledged", "resolved", "dismissed", or "snoozed" notes: Optional notes explaining the status change duration_hours: Snooze duration in hours, 1-720 (default 24). Only for status="snoozed". action_category: For resolve/dismiss: reran_job, updated_sql, rolled_back, false_positive, expected_behavior, code_change, other root_cause_category: For resolve/dismiss: pipeline_failure, schema_change, …
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 48
- Last commit (this folder)
- May 30, 2026 (5 months ago)
- Last release
- May 30, 2026 (5 months ago)
- Last package publish
- May 30, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
ai.anomalyarmor/armor-mcp- Version
- 0.6.1
- Auth
- Auth not stated, API key
- Packages
- pypi armor-mcp
- License
- MIT
- Repository
- github.com/anomalyarmor/agents
- Website
- www.anomalyarmor.ai
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
Cite this page
AnomalyArmor MCP server. Agent Mart. https://agentmart.dev/connectors/anomalyarmor-ai-armor-mcp (last updated 2026-10-25)