← MCP servers · anomalyarmor

AnomalyArmor

CAUTIONgrade B · trust 86/100

AI skills and MCP server for AnomalyArmor data observability

Overview

From the repository's own README, as read at the audited commit.

# AnomalyArmor Agents[![PyPI](https://img.shields.io/pypi/v/armor-mcp.svg)](https://pypi.org/project/armor-mcp/)[![npm](https://img.shields.io/npm/v/@anomalyarmor/sdk.svg)](https://www.npmjs.com/package/@anomalyarmor/sdk)[![Glama](https://glama.ai/mcp/servers/anomalyarmor/agents/badges/score.svg)](https://glama.ai/mcp/servers/anomalyarmor/agents)[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)AI skills and MCP server for AnomalyArmor data observability. Monitor data quality, detect schema drift, and manage alerts directly from Claude Code, Cursor, or any MCP-compatible AI tool.**Version**: 0.6.0 | **Tools**: 52 consolidated MCP tools | **Skills**: 14 slash commands## Quick Start### Option 1: Claude Code Plugin (Recommended)```bash# Install the pluginclaude plugin marketplace add anomalyarmor/agentsclaude plugin install armor@anomalyarmor# Or via skills.shnpx skills add anomalyarmor/agents```Then use skills like:- `/armor:status` - Check data health- `/armor:alerts` - View and manage alerts- `/armor:recommend` - Get AI monitoring recommendations- `/armor:ask` - Ask questions about your data### Option 2: MCP ServerAdd to your MCP configuration (Claude Code, Cursor, etc.):```json{  "mcpServers": {    "armor": {      "command": "uvx",      "args": ["armor-mcp"]    }  }}```## Prerequisites1. **AnomalyArmor Account**: Sign up at [anomalyarmor.ai](https://anomalyarmor.ai)2. **API Key**: Generate at Settings > API Keys3. **Configure**: Set `ARMOR_API_KEY` env var or create `~/.armor/config.yaml`:```yamlapi_key: aa_live_your_key_here```## Available Skills| Skill | Description | Example ||-------|-------------|---------|| `/armor:start` | Guided onboarding for new users | "Help me get set up" || `/armor:status` | Health summary across all assets | "Is my data healthy?" || `/armor:connect` | Connect a new data source | "Connect my Snowflake warehouse" || `/armor:monitor` | Set up freshness and schema monitoring | "Monitor freshness for orders tab

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code (pypi)
claude mcp add armor-mcp --env ARMOR_API_KEY=${ARMOR_API_KEY} -- None armor-mcp==0.9.1

Details

Source
anomalyarmor/agents
PyPI
armor-mcp
Transports
stdio · streamable-http
Credentials it reads
ARMOR_API_KEY
Tools
Registered at runtime; the list could not be read from source.
License
MIT
Stars
1 · pushed 106d ago

Trust audit

Install with care. The audit found things worth knowing before you trust its output.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeWARN
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (3 observation(s))
Shell
declared (1 observation(s))
Dependencies
pinned
Secrets in source
none-found

Findings (4)

HIGHPrompt injection · prompt.credential_read · CWE-94, CWE-1427
skills/connect/SKILL.md:43
2. Collect connection configuration (credentials, host, database, etc.)
Why it matters. asks the agent to read credentials
MEDIUMCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
armor-mcp/src/armor_mcp/apps/runner.py:211
return importlib.import_module(f"{_TEMPLATE_PACKAGE}.{module_name}")
LOWInventory / provenance · inv.symlink · CWE-1104
CLAUDE.md
CLAUDE.md
Why it matters. link not followed
LOWInventory / provenance · mcp.no_tools_extracted · CWE-1104
armor-mcp/server.json
Why it matters. the tool list is enumerated at runtime by tools/list, not declared in source
Fix. the page says so rather than showing an empty table

Gates applied: no_behavioural_pass.

Audited 2026-09-13 · audit v0.4.0 · source sha 32edd5531688 · full audit: observations/trust-audit/mcp-server/anomalyarmor__armor-mcp.json · Report an issue or request a re-scan

Audit history

DateSourceVerdictGradeScoreChange
2026-09-1332edd5531688CAUTIONB86source changed, verdict held

Also audited

Servers with a similar trust profile.

Questions

What is the AnomalyArmor MCP server?

AI skills and MCP server for AnomalyArmor data observability

Is AnomalyArmor safe to connect to an agent?

With care. The audit graded it B (86/100) and found 4 things worth knowing before you trust this server, listed below with the exact line each was found on.

What credentials does AnomalyArmor need?

It reads ARMOR_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does AnomalyArmor run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on PyPI as armor-mcp.

How current is this page?

The grade is for one exact copy of the source (32edd5531688), read on 2026-09-13. The repository is watched and re-audited when it changes.

Provenance: OBSERVED · read 2026-09-13 · job trust-audit-2026-09-13