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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mcp_armor-1.0.2.tar.gz | 50.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.