ai.anomalyarmor/armor-mcp icon

AnomalyArmor

by Anomalyarmor.ai

ai.anomalyarmor/armor-mcp

Data observability tools for engineering teams: alerts, freshness, schema drift, lineage, quality.

AnomalyArmor · v0.6.1

by Anomalyarmor.ai

37

armor-mcp

The AnomalyArmor MCP server lets AI assistants (Claude Code, Cursor, Claude Desktop, any MCP client) interact with your data warehouse through 50+ structured tools: query alerts, monitor freshness, investigate schema drift, configure validity rules, and trace lineage in natural language.

Two ways to connect

Method Auth Best for
Remote (recommended) OAuth 2.1 (Clerk) Zero install, always up to date
Local API key Air-gapped, on-call laptops, custom proxies

Remote (recommended)

The server is hosted at https://mcp.anomalyarmor.ai/mcp (Streamable HTTP transport). First call opens a browser for OAuth; the token is cached for ~12h.

Claude Code

claude mcp add anomalyarmor --transport http https://mcp.anomalyarmor.ai/mcp

Cursor

Add to ~/Library/Application Support/Cursor/mcp.json (macOS), ~/.config/Cursor/mcp.json (Linux), or %APPDATA%\Cursor\mcp.json (Windows):

{
  "mcpServers": {
    "anomalyarmor": {
      "url": "https://mcp.anomalyarmor.ai/mcp"
    }
  }
}

Any MCP client

URL: https://mcp.anomalyarmor.ai/mcp
Transport: streamable-http
Auth: OAuth 2.1
Discovery: https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource

Local (API key)

Use when the remote server isn't reachable or when you want no third-party dependency.

Install

# Recommended: uvx (no install)
uvx armor-mcp

# Or pip
pip install armor-mcp

Configure

Get an API key from Settings → API Keys at https://app.anomalyarmor.ai.

export ARMOR_API_KEY=aa_live_your_key_here

Or persist to ~/.armor/config.yaml:

api_key: aa_live_your_key_here

Wire to a client

{
  "mcpServers": {
    "anomalyarmor": {
      "command": "uvx",
      "args": ["armor-mcp"],
      "env": {
        "ARMOR_API_KEY": "aa_live_your_key_here"
      }
    }
  }
}

Tools

53 tools across 8 categories. Every tool ships with MCP ToolAnnotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint: false) so hosts can decide when to auto-confirm.

Health & Briefings

Tool Description
health_summary Overall warehouse health: stale assets, drift, alerts
get_todays_briefing Daily digest with key insights
get_coverage Monitoring coverage analysis
manage_coverage Update coverage targets
recommend AI-suggested next monitoring actions

Alerts & Incidents

Tool Description
list_alerts Query alerts with filters (severity, date, status)
list_inbox_alerts Alerts not yet triaged
get_alerts_summary Aggregate counts and trends
get_alert_trends Period-over-period trend analysis
get_alert_history Activity timeline for an alert
update_alert Acknowledge / resolve / dismiss / snooze
list_alert_rules View configured rules
create_alert_rule Add a new alert rule
manage_alert_rule Update / delete / preview rules
manage_rule_destinations Wire rules to destinations

Assets

Tool Description
list_assets List data sources with filters
create_asset Connect a new source
manage_asset Update / delete / test connection
trigger_asset_discovery Start schema discovery (async)

Freshness

Tool Description
get_freshness_summary Freshness overview
check_freshness Check a specific asset / table
setup_freshness Bulk-create freshness schedules
list_freshness_schedules View configured schedules
manage_freshness_schedule Update / delete a schedule

Schema Monitoring

Tool Description
get_schema_summary Drift overview
list_schema_changes Recent changes with severity
create_schema_baseline Capture current schema as a baseline
enable_schema_monitoring Start drift detection
disable_schema_monitoring Stop drift detection

Data Quality (Metrics & Validity)

Tool Description
get_metrics_summary Metric health by asset
list_metrics List configured metrics
create_metric Add a metric (row count, null %, etc.)
manage_metric Update / delete / capture a metric
get_validity_summary Pass/fail rate for validity rules
list_validity_rules List validity rules
create_validity_rule Add a NOT_NULL / UNIQUE / RANGE / REGEX rule
manage_validity_rule Update / delete / run a rule
create_referential_check Cross-table referential check
manage_referential Update / delete a referential check

Destinations & Routing

Tool Description
list_destinations Slack / email / webhook / PagerDuty configs
setup_destination Add a new destination
manage_destination Update / delete / test

Intelligence, Lineage, Tags, Jobs

Tool Description
ask_question Synchronous natural-language Q&A about your data
generate_intelligence Trigger AI analysis (async, expensive)
get_lineage Upstream/downstream dependency graph
list_tags Tags for an asset
create_tag Tag a table or column
apply_tags Bulk tag application
job_status Track an async job
cancel_job Cancel a running async job
get_api_key_info Inspect the current API key's scope

Full descriptions, parameter schemas, and example prompts: https://docs.anomalyarmor.ai/integrations/mcp-server.

Tool safety conventions

Hosts respect the annotations:

Category Pattern Confirmation
Read-only list_*, get_*, check_*, search_* Auto-invoke
Mutating create_*, update_*, enable_*, disable_*, manage_* Confirm with user
Destructive delete_* (via manage_*), dismiss_alert Always confirm; list affected entities
Expensive generate_intelligence, trigger_asset_discovery Confirm; these queue paid jobs

Multi-tenancy

The OAuth token (or API key) is scoped to the user's company. You cannot impersonate another tenant. Don't fabricate company_id arguments.

Async jobs

trigger_asset_discovery, generate_intelligence, and metric captures return a job_id. Poll with job_status(job_id) rather than re-triggering.

Discovery surfaces

File Purpose
https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource RFC 9728 protected-resource metadata
https://www.anomalyarmor.ai/.well-known/mcp/server-card.json SEP-1649 MCP server card
https://www.anomalyarmor.ai/.well-known/agent-card.json A2A v0.2 agent card
https://www.anomalyarmor.ai/.well-known/api-catalog RFC 9727 API catalog linkset

Development

git clone https://github.com/anomalyarmor/agents.git
cd agents/armor-mcp
uv sync
uv run pytest

License

MIT — see LICENSE.