Skip to main content

MCP Armor

🚀 Overview

MCP Armor is a comprehensive security scanner for Model Context Protocol (MCP). Automatically discovers, analyzes, and secures MCP servers integrated with all major Agentic IDEs, Agents and Clients.

💡 Features

  • 🔍 Auto-Discovery: Finds known MCP configurations for popular Agentic IDEs like Cursor, Windsurf, VS Code, Claude Desktop, and more
  • 🔧 Tool, Resource & Prompt Inventory: Connects to MCP servers and catalogs available tools, resources, and prompt templates
  • 🛡️ Security Analysis: Specialized security checks including Prompt Injection, Rug Pull Attack, Cross-server Tool Shadowing, Tool Poisoning, Tool Name Ambiguity, and more..
  • 🧭 Baseline Drift Detection: Captures approved MCP components and detects rug pulls attacks
  • 📊 Comprehensive Reporting: Generates JSON and Markdown reports with actionable findings
  • 📜 Audit Trail: Timestamped baselines and reports for full traceability of changes and findings

🧰 Installation

pip install mcp-armor

🏃 Quick Start

# Scan all configurations with security analysis (auto-detects baseline.json if present)
mcp-armor scan

# Inspect configurations and generate baseline (defaults to baseline.json)
mcp-armor inspect

# Use custom configuration file
mcp-armor scan --config /path/to/config.json

# Scan multiple configuration files
 mcp-armor scan \
   --config /path/to/cursor.mcp.json \
   --config /path/to/vscode.mcp.json

# Use custom baseline file path
mcp-armor inspect --baseline /path/to/my-baseline.json
mcp-armor scan --baseline /path/to/my-baseline.json

# Generate markdown report
mcp-armor scan --report-type md

# Save to custom file
mcp-armor scan --output my-report.json
mcp-armor scan --report-type md --output my-report.md

⚙️ Command Options

Option Description
--config Custom configuration file path (can be used multiple times)
--baseline Baseline file for drift detection (scan) or creation (inspect)
--report-type {json,md} Output format (default: json)
--output Custom output file path
--verbose Detailed terminal output
--show-logs Display debug logs in terminal

🔰 Security Checks

🛡️ Standard Checks

  • Prompt Injection
  • Indirect Prompt Injection
  • Cross-Server Tool Shadowing
  • Tool Poisoning
    • Prompt Injection in Tool Description, Name and Args
    • Command Injection in Tool Description, Name and Args
  • Tool Name Ambiguity
  • Command Injection
  • Excessive Tool Permissions
  • Hardcoded Secrets

🧭 Baseline Checks

Detects deviations from approved MCP components (requires a baseline generated via inspect mode):

  • Rug Pull Attack
    • Tool Modified
    • Resource Modified
    • Resource Template Modified
    • Prompt Modified

📃 Logging

Logs are automatically saved to logs/mcp_armor.log:

# Default: logs saved to file only
mcp-armor scan

# Show logs in terminal too
mcp-armor scan --show-logs

🧪 Demo

Test MCP Armor using our intentionally vulnerable MCP servers. For details, see the demo guide.

⚡ Want More?

This open-source version covers static MCP configuration scanning. For teams that need deeper protection, Aira Security offers a full enterprise platform with:

Capability Open Source Aira Platform
MCP config scanning ✅ ✅
Prompt & command injection detection ✅ ✅
Tool poisoning & shadowing checks ✅ ✅
Hardcoded secrets detection ✅ ✅
Runtime enforcement & blocking ❌ ✅
Agent behavior policy enforcement (toxic flow analysis) ❌ ✅
Skills scanner (agentic workflow & capability analysis) ❌ ✅
Custom security policies ❌ ✅
Aira dashboard (centralized visibility & alerting) ❌ ✅
Complete Agentic Security (beyond MCP — Agents, Workflows, and Skills) ❌ ✅

🚀 See Aira in Action to experience the full platform.

🌟 Community

Join our Slack - a space for developers and security engineers building together to secure AI agents.

❓ FAQs

Q: Is my source code ever shared, or does everything run locally?

MCP Armor runs entirely locally. Inspect and scan modes analyze your MCP configurations, detect MCP servers integrated with your agents, and evaluate them directly on your machine. Prompt injection checks use our open-source model Aira-security/FT-Llama-Prompt-Guard-2, downloaded from Hugging Face to your local environment, ensuring your data and code is never shared externally.

⚖️ License

Distributed under the Apache 2.0 License. See LICENSE for more information.

Metadata

Release files for mcp-armor 1.0.2

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

Source distribution (sdist)

Source distribution for mcp-armor 1.0.2
File Size Uploaded Provenance
mcp_armor-1.0.2.tar.gz 50.2 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 103.4 kB

Release files / mcp_armor-1.0.2.tar.gz

Download URL mcp_armor-1.0.2.tar.gz
Size 50.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2601a3c5a33c91f995f7ae538d1413b86d05e9874d96da472d4fe4f5b9470d5f
BLAKE2b-256 checksum
How to use checksums
9b40117976aaf0133c56047c616c62e5a0f7ec6dddbacca787c194d492d3177e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / mcp_armor-1.0.2-py3-none-any.whl

Download URL mcp_armor-1.0.2-py3-none-any.whl
Size 53.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
14024c09eb6c26700e3580ab57b38aa283d1367449749e04bb1255621d644034
BLAKE2b-256 checksum
How to use checksums
71ef11aace6f93602665ff3c8c43195024ac6e4f3debc3e1dcbf3fdec063799e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Security for mcp-armor 1.0.2

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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