Skip to main content

armor-mcp

PyPI License: MIT MCP Glama

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.

Metadata

Release files for armor-mcp 0.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for armor-mcp 0.9.1
File Size Uploaded Provenance
armor_mcp-0.9.1.tar.gz 48.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for armor-mcp 0.9.1
File Interpreter ABI Platform
armor_mcp-0.9.1-py3-none-any.whl Python 3 none any Details

Total release size: 98.8 kB

Release files / armor_mcp-0.9.1.tar.gz

Download URL armor_mcp-0.9.1.tar.gz
Size 48.4 kB
Tags Source
SHA-256 checksum
How to use checksums
f82b8ed4a43a35b3e652baf66d4488147c8d0545efb14d99f1258e5c0040b4b8
BLAKE2b-256 checksum
How to use checksums
25c82e94cd449fd4499301a26ac5e20ab3909bf31752dbc25b69108e2faeafe6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 30, 2026.

Transparency log

Release files / armor_mcp-0.9.1-py3-none-any.whl

Download URL armor_mcp-0.9.1-py3-none-any.whl
Size 50.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ef73221914c73c1334c757d368d777c5092f933238deb1258ec4930619bea8f2
BLAKE2b-256 checksum
How to use checksums
5366d96b22f39252ff6f2dc0f77a0b73d95c2ef7d8ba2b92479b4508292fcba4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 30, 2026.

Transparency log

Security for armor-mcp 0.9.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for armor_mcp-0.9.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page