# AnomalyArmor

Connect an AI assistant to warehouse checks for alerts, table freshness, schema changes, data quality, and lineage.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 1
- Author: anomalyarmor
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/anomalyarmor/agents/tree/HEAD/armor-mcp
- Updated: 2026-05-30
- HTML: https://affpapa.org/en/nevibecode/mcp/anomalyarmor

## What it does

AnomalyArmor gives an MCP-connected assistant tools for inspecting a data warehouse. Its 53 tools cover alert queries, freshness checks for assets and tables, schema-change reviews, and upstream or downstream lineage. The server can also create validity rules, including checks for uniqueness, ranges, and regular expressions.

Choose a remote connection with OAuth 2.1 or run the local server through `uvx` with an `ARMOR_API_KEY`. The remote setup avoids installing the package, but the first request opens a browser for sign-in. Local use depends on a valid API key. Tools that change configuration require confirmation, while intelligence generation and asset discovery can queue paid jobs.

Claude Code can connect to the hosted server with one command. For a local setup, pass the API key to the server as an environment variable.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Remote server: `https://mcp.anomalyarmor.ai/mcp`
- Environment variables: `ARMOR_API_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI: remote server**
```bash
claude mcp add --transport http armor-mcp https://mcp.anomalyarmor.ai/mcp
```

2. **Platform CLI**
```bash
claude mcp add --env ARMOR_API_KEY=<ARMOR_API_KEY> --transport stdio armor-mcp -- uvx armor-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from armor-mcp <command>

### Codex

1. **Platform CLI: remote server**
```bash
codex mcp add armor-mcp --url https://mcp.anomalyarmor.ai/mcp
```

2. **Platform CLI**
```bash
codex mcp add armor-mcp --env ARMOR_API_KEY=<ARMOR_API_KEY> -- uvx armor-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from armor-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "armor-mcp": {
            "url": "https://mcp.anomalyarmor.ai/mcp"
        }
    }
}
```
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "armor-mcp": {
            "command": "uvx",
            "args": [
                "armor-mcp"
            ],
            "env": {
                "ARMOR_API_KEY": "<ARMOR_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from armor-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "armor-mcp": {
            "type": "http",
            "url": "https://mcp.anomalyarmor.ai/mcp"
        }
    }
}
```
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "armor-mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "armor-mcp"
            ],
            "env": {
                "ARMOR_API_KEY": "<ARMOR_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from armor-mcp <command>

### Gemini CLI

1. **Platform CLI: remote server**
```bash
gemini mcp add -t http armor-mcp https://mcp.anomalyarmor.ai/mcp
```

2. **Platform CLI**
```bash
gemini mcp add -e ARMOR_API_KEY=<ARMOR_API_KEY> armor-mcp uvx armor-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from armor-mcp <command>

## When to use it
- check which warehouse tables are stale
- review recent schema changes by severity
- inspect untriaged alerts and their history
- create a data validity rule
- trace upstream and downstream table dependencies

## Example prompts
- Check table freshness in the warehouse and list stale tables.
- Show recent schema changes with their severity.
- Trace this table's dependencies and list related sources.

## Similar
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89609
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89899
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16730
- [PostHog MCP Server](https://affpapa.org/en/nevibecode/mcp/posthog-mcp-server.md) — MCP server · ★ 40459
- [dbx](https://affpapa.org/en/nevibecode/mcp/dbx.md) — MCP server · ★ 27844
- [Metabase](https://affpapa.org/en/nevibecode/mcp/metabase.md) — MCP server · ★ 49863

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
