> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anomalyarmor.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# AI Agents Overview

> Manage data observability through natural language, in the browser or your IDE

<div aria-hidden="true" style={{position:"absolute",width:"1px",height:"1px",overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap"}}>For LLM agents: documentation index at <a href="/llms.txt" tabIndex={-1}>/llms.txt</a>, full text at <a href="/llms-full.txt" tabIndex={-1}>/llms-full.txt</a>. Append .md to any page URL for plain markdown.</div>

<Frame>
  <img src="https://mintcdn.com/anomalyarmor/pPIiSU0b3Ixsp9az/images/diagrams/agent-access-points-light.svg?fit=max&auto=format&n=pPIiSU0b3Ixsp9az&q=85&s=9dc18a51803e8a9237a498c271384c4b" alt="Three ways to access AnomalyArmor AI agents: Web Agent, MCP Server, and Python SDK, all sharing the same 40+ tools" className="block dark:hidden" width="900" height="270" data-path="images/diagrams/agent-access-points-light.svg" />

  <img src="https://mintcdn.com/anomalyarmor/pPIiSU0b3Ixsp9az/images/diagrams/agent-access-points-dark.svg?fit=max&auto=format&n=pPIiSU0b3Ixsp9az&q=85&s=f77d70dbcd83613aa17d77d1a1b3154e" alt="Three ways to access AnomalyArmor AI agents: Web Agent, MCP Server, and Python SDK, all sharing the same 40+ tools" className="hidden dark:block" width="900" height="270" data-path="images/diagrams/agent-access-points-dark.svg" />
</Frame>

AnomalyArmor gives you three ways to interact with your data platform using natural language:

| Access Point                               | Where                               | Best For                                                         |
| ------------------------------------------ | ----------------------------------- | ---------------------------------------------------------------- |
| **[Web Agent](/ai-agents/web-agent)**      | Built into the Intelligence page    | Diagnosing issues while looking at your data. No setup required. |
| **[MCP Server](/integrations/mcp-server)** | Claude Code, Cursor, any MCP client | Managing observability from your IDE without switching apps.     |
| **[Python SDK](/sdk/overview)**            | Scripts, notebooks, CI/CD           | Automating checks, building workflows, programmatic access.      |

All three share the same underlying tools and API. The difference is where you interact.

## Why AI Agents?

Instead of clicking through dashboards, just ask:

```
"What tables are unhealthy right now?"
"Add freshness monitoring to all gold tables"
"What changed upstream that could cause NULLs in silver_orders?"
```

Your AI assistant queries APIs, chains tools together, and interprets results for you.

## Available Skills

### Core Skills

| Skill            | Description             | Example                               |
| ---------------- | ----------------------- | ------------------------------------- |
| `/armor:status`  | Health summary          | "Is my data healthy?"                 |
| `/armor:alerts`  | Query and manage alerts | "What alerts fired yesterday?"        |
| `/armor:ask`     | Natural language Q\&A   | "What tables contain PII?"            |
| `/armor:analyze` | Trigger AI analysis     | "Analyze the finance schema"          |
| `/armor:connect` | Connect a data source   | "Connect my Snowflake warehouse"      |
| `/armor:monitor` | Set up monitoring       | "Monitor freshness for orders hourly" |

### Extended Skills

| Skill                | Description         | Example                           |
| -------------------- | ------------------- | --------------------------------- |
| `/armor:quality`     | Data quality checks | "Add null check for email column" |
| `/armor:tags`        | Data classification | "Tag this table as PII"           |
| `/armor:investigate` | Root cause analysis | "Why is this table stale?"        |
| `/armor:lineage`     | Data dependencies   | "What depends on this table?"     |
| `/armor:profile`     | Table statistics    | "Profile the orders table"        |
| `/armor:coverage`    | Monitoring coverage | "What tables have no alerts?"     |

## Quick Start

### Web Agent (No Setup)

1. Go to any asset's **Intelligence** tab
2. Click **Ask Agent**
3. Start chatting

### MCP Server (IDE)

```bash theme={null}
# Claude Code (one command)
claude mcp add anomalyarmor --transport http https://mcp.anomalyarmor.ai/mcp

# Cursor (add to mcp.json)
{
  "mcpServers": {
    "anomalyarmor": {
      "url": "https://mcp.anomalyarmor.ai/mcp"
    }
  }
}
```

Sign in through your browser when prompted. See [MCP Server setup](/integrations/mcp-server) for details.

### Skills (Any Agent)

Install the 14 `/armor:*` skills into Claude Code, Cursor, Windsurf, Codex, OpenCode, or any of 40+ supported agents using the [skills.sh](https://skills.sh) CLI:

```bash theme={null}
npx skills add anomalyarmor/agents
```

Source: [github.com/anomalyarmor/agents](https://github.com/anomalyarmor/agents)

## Example: Morning Health Check

<Tabs>
  <Tab title="Web Agent">
    ```
    You: What should I prioritize this morning?

    Agent: Here's your priority list:

           CRITICAL:
           - gold.fact_orders is 6 hours stale (SLA: 2h)
             Upstream staging.orders_raw is also stale.

           HIGH:
           - Schema drift: discount_pct column removed from
             gold.fact_orders on Tuesday
           - Null rate on gold.dim_customer.email spiked to 12.4%

           MEDIUM:
           - 2 validity rules failing on gold.dim_customer

           All other monitored tables are healthy.
    ```
  </Tab>

  <Tab title="MCP (Claude Code)">
    ```
    $ claude

    You: /armor:status

    Claude: Let me check your data health...

    [Tool: health_summary]

    Overall: NEEDS ATTENTION

    3 issues found:
    - 1 critical freshness violation (gold.fact_orders, 6h overdue)
    - 1 schema drift alert (column removed from gold.fact_orders)
    - 1 data quality anomaly (null rate spike on dim_customer.email)

    45 other assets are healthy. Want me to investigate any of these?
    ```
  </Tab>
</Tabs>

## Example: Investigating an Alert

<Tabs>
  <Tab title="Web Agent">
    ```
    You: I got a freshness alert on the orders table. What's happening?

    Agent: gold.fact_orders is 6 hours overdue (SLA: 2 hours).

           I checked the upstream lineage:

             raw.events (FRESH)
               > staging.orders_raw (STALE, 8h overdue)
                 > gold.fact_orders (STALE, 6h overdue)

           The issue originated in staging.orders_raw. 7 downstream
           tables are also affected:
           - gold.fact_payments
           - gold.fact_refunds
           - analytics.order_summary
           - reporting.daily_revenue
           ... and 3 more

           Recommended: Check the ETL pipeline that populates
           staging.orders_raw.
    ```
  </Tab>

  <Tab title="MCP (Claude Code)">
    ```
    You: The orders table is stale. Why?

    Claude: Let me investigate...

    [Tool: check_freshness > gold.fact_orders: STALE, 6h overdue]
    [Tool: get_lineage > upstream: staging.orders_raw]
    [Tool: check_freshness > staging.orders_raw: STALE, 8h overdue]

    The orders table is stale because its upstream dependency
    staging.orders_raw stopped updating 8 hours ago. The issue
    started upstream.

    7 downstream tables are affected. Want me to list them?
    ```
  </Tab>
</Tabs>

## Example: Setting Up Monitoring

<Tabs>
  <Tab title="Web Agent">
    ```
    You: Set up hourly monitoring for all gold fact tables

    Agent: Found 4 fact tables in the gold schema. Created freshness
           schedules:

           - gold.fact_orders: hourly, 2h SLA
           - gold.fact_payments: hourly, 2h SLA
           - gold.fact_refunds: hourly, 2h SLA
           - gold.fact_subscriptions: hourly, 2h SLA

           Want me to also add null_percentage metrics on key columns?
    ```
  </Tab>

  <Tab title="MCP (Claude Code)">
    ```
    You: Monitor all gold fact tables for freshness, hourly

    Claude: I'll set those up now.

    [Tool: search_tables > 4 fact tables in gold schema]
    [Tool: create_freshness_schedule > gold.fact_orders: hourly, 2h SLA]
    [Tool: create_freshness_schedule > gold.fact_payments: hourly, 2h SLA]
    [Tool: create_freshness_schedule > gold.fact_refunds: hourly, 2h SLA]
    [Tool: create_freshness_schedule > gold.fact_subscriptions: hourly, 2h SLA]

    Done. 4 freshness schedules created. You'll get alerts if any
    table doesn't update within 2 hours.
    ```
  </Tab>
</Tabs>

## Common Questions

### Do I need Claude to use AnomalyArmor's AI agents?

No. The Web Agent runs in your browser with no install, and the MCP server works with any [MCP-compatible client](/integrations/mcp-server), including Cursor, Windsurf, Codex, OpenCode, and Claude Code. The `/armor:*` skills install into 40+ supported agents via [skills.sh](https://skills.sh).

### What's the difference between the Web Agent, MCP server, and Python SDK?

All three call the same underlying tools. The Web Agent is built into the Intelligence page with zero setup. The [MCP server](/integrations/mcp-server) lets your IDE agent manage observability without switching apps. The [Python SDK](/sdk/overview) is for scripts, notebooks, and CI/CD automation.

### How do I install the /armor skills in my IDE?

Run `npx skills add anomalyarmor/agents` and the 14 skills install into any supported agent (Claude Code, Cursor, Windsurf, Codex, OpenCode, and more). Source is at [github.com/anomalyarmor/agents](https://github.com/anomalyarmor/agents).

### Can the agent make changes to my monitoring setup, or is it read-only?

The agent can create freshness schedules, metrics, validity rules, tags, and alert rules. For any action that modifies data, it shows the plan and asks for confirmation before executing. Tool calls are always visible so you can verify what ran.

### Does the agent have access to my actual data rows?

No. The agent queries AnomalyArmor's metadata (schemas, freshness timestamps, monitoring results, lineage), not your row-level data. See [Query Gateway](/security/query-gateway) for how AnomalyArmor reads customer warehouses without exfiltrating rows.

## Next Steps

<CardGroup cols={2}>
  <Card title="Web Agent" icon="browser" href="/ai-agents/web-agent">
    Chat with the agent in your browser
  </Card>

  <Card title="MCP Server" icon="server" href="/integrations/mcp-server">
    Connect your IDE
  </Card>

  <Card title="All Skills" icon="wand-magic-sparkles" href="/ai-agents/skills/status">
    Browse available skills
  </Card>

  <Card title="Python SDK" icon="python" href="/sdk/overview">
    Programmatic access
  </Card>
</CardGroup>
