security MCP Server
Enterprise-grade security validation and testing tool for MCP servers. Features 60+ OWASP security rules, schema-aware fuzzing engine, real-time threat detection gateway, and multi-provider LLM analysis (Claude, GPT, Gemini, Ollama). Generate HTML/SARIF reports for CI/CD integration.
Discovered via github-topic:model-context-protocol and last synced 3mo ago.
1. Install the package
npx -y -p @finktech/mcp-verify mcp-verify-server
2. Add to claude_desktop_config.json
{
"mcpServers": {
"finktech-mcp-verify": {
"command": "npx",
"args": [
"-y",
"-p",
"@finktech/mcp-verify",
"mcp-verify-server"
]
}
}
}Config file location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) / %APPDATA%\Claude\claude_desktop_config.json (Windows)
5
Score Threshold
Load/concurrency testing
Meaning
Use Case
Low
Protection
Custom report generation
Full security validation with 61 security rules across 6 threat categories
High
</details> <details open> <summary><h3>🔌 Block MCP: MCP-Specific Security (SEC-014 to SEC-021)</h3></summary>
LLM semantic analysis
Interactive tool testing playground
High
Baseline comparison
Purpose
3
Real-time terminal monitoring (blessed UI)
Critical
Medium
Medium
Medium
High
</details> <details> <summary><h3>🏢 Block C: Operational & Enterprise Compliance (SEC-042 to SEC-050)</h3></summary>
AI-powered context analysis
Input
Purpose
Diagnostics, environment checks & binary integrity verification
Medium
High
Homoglyph / Unicode Spoofing
Medium
Medium
Description
Validate mcp-verify itself
Purpose
Scaffold new MCP server project
High
High
Medium
Medium
Medium
Medium
</details> <details> <summary><h3>⚔️ Block D: AI Weaponization & Supply Chain (SEC-051 to SEC-061)</h3></summary> > **⚠️ Note**: Most rules in this block are **disabled by default** due to their adversarial nature. Enable with caution in controlled environments only.
Third 429 within session
Security-only scan
Purpose
Smart fuzzer with feedback loop & mutations
0
High
Medium
Medium
Medium
Medium
High
Latency
Transparent proxy with 5 security guardrails
High
Medium
Critical
High
Missing Transaction Semantics
Critical
G[Next Payload] F --> H[Mutation Queue\nhigh-priority first] H --> D D --> I[Vulnerability Detectors\n10 detectors · engine hints] I --> J[Findings Report\nSQL · XSS · Prompt · Timing\nPath Traversal · Jailbreak] ``` ### Intelligent Mutations When the fuzzer detects an **interesting response** (timing anomaly, crash, error pattern), it automatically generates targeted variations: ```bash # Example: SQL injection timing anomaly detected Original payload: "' OR 1=1 --" Response time: 2500ms (baseline: 120ms) Mutations generated: → "' OR SLEEP(5) --" # Timing probe (confirm blind SQLi) → "' UNION SELECT * --" # SQL depth → "\" OR 1=1 --" # Quote variation → "\u0027 OR 1=1 --" # Unicode normalization ``` ### Usage Examples ```bash # Basic fuzzing mcp-verify fuzz "node server.js" # Fuzz specific tool mcp-verify fuzz "node server.js" --tool "DatabaseQuery" # Aggressive fuzzing with fingerprinting mcp-verify fuzz "node server.js" \ --profile aggressive \ --fingerprint \ --concurrency 5 # Stop on first crash mcp-verify fuzz "node server.js" --stop-on-first ``` ### Fuzzer Output ``` Smart Fuzzer v1.0 ────────────────────────────────────────────────── Session : fuzz-1234567890-abc123 Duration : 45.23s Payloads : 250/280 Vulns : 3 (2 critical, 1 high) Errors : 0 ── Feedback Loop ────────────────────────────── Interesting responses : 12 Mutations injected : 45 Mutation rounds : 2 Timing anomalies : 5 Structural drifts : 4 Server crashes : 1 ``` 📚 **Fuzzer Architecture**: [libs/fuzzer/CLAUDE.md](./libs/fuzzer/CLAUDE.md) --- <p align="center"> <img src="docs/assets/mascot/yogui-proxy.png" width="400" alt="Yogui Proxy Guardian"> </p> ### 🛡️ Security Proxy with 3-Layer Gateway + Panic Stop The proxy command creates a **transparent MCP proxy** with **Security Gateway v1.0**: 3-layer defense system + client-aware panic stop mechanism. ### Security Gateway Architecture (3 Layers) **Real-time threat detection with progressive analysis:**
Mock MCP server for testing clients
High
Medium
Backoff
Full security validation
Interactive examples browser
High
--- ## 🔐 Security Considerations ### What mcp-verify Protects Against ✅ **OWASP Top 10 Vulnerabilities** ✅ **JSON-RPC 2.0 and MCP Protocol Violations** ✅ **Runtime Security (via Guardrails)** - PII redaction, input sanitization, rate limiting, HTTPS enforcement ### What mcp-verify Does NOT Protect Against ❌ **Race Conditions** - Requires concurrent execution analysis ❌ **Business Logic Flaws** - Requires domain-specific knowledge ❌ **Authorization Bugs** - No access control testing ❌ **Advanced Cryptographic Issues** - Basic checks only mcp-verify is a **development tool** that helps catch vulnerabilities early. It is **not** a replacement for: - Security audits by professionals - Penetration testing - Runtime application security (RASP) - Web Application Firewalls (WAF) ### Security Warnings ⚠️ **Command Execution**: mcp-verify executes MCP servers on your machine. Only validate servers you trust or use `--sandbox` flag. ⚠️ **Network Connections**: HTTP transport connects to remote servers. Use HTTPS and validate SSL certificates for production. ⚠️ **Report Files**: Reports may contain sensitive information (API endpoints, data structures). Store securely and don't commit to public repositories. ### Reporting Security Issues Found a security vulnerability in mcp-verify itself? **Do not** open a public issue. 📧 Email: [email protected] 🔒 We'll respond within 48 hours 💰 Responsible disclosure may qualify for acknowledgment --- ## ⚠️ Usage Warnings Before using mcp-verify in production workflows, understand these critical limitations: ### 🚫 Not a Replacement for Manual Security Testing **mcp-verify is NOT a substitute for professional penetration testing.** While mcp-verify automates detection of common technical vulnerabilities (SQL injection, command injection, SSRF), it **cannot replace human expertise** in: - **Business logic vulnerabilities** - Authorization rules specific to your domain - **Complex attack chains** - Multi-step exploits requiring context - **Social engineering vectors** - Phishing, credential stuffing - **Infrastructure security** - Network misconfigurations, weak TLS settings - **Supply chain attacks** - Compromised dependencies **What mcp-verify IS**: A **first-line defense** that catches 80% of technical vulnerabilities automatically, allowing security teams to focus manual effort on complex scenarios. **What mcp-verify IS NOT**: A security certification or guarantee of safety. **Recommendation**: Use mcp-verify as part of a **defense-in-depth strategy**: ``` ┌─────────────────────────────────────────────────────────┐ │ Layer 1: mcp-verify (Automated Technical Scanning) │ ← You are here ├─────────────────────────────────────────────────────────┤ │ Layer 2: Manual Code Review (Business Logic) │ ├─────────────────────────────────────────────────────────┤ │ Layer 3: Penetration Testing (Attack Simulation) │ ├─────────────────────────────────────────────────────────┤ │ Layer 4: Runtime Protection (WAF, RASP) │ └─────────────────────────────────────────────────────────┘ ``` ### 🎓 Requires Security Knowledge to Interpret Results **You need cybersecurity expertise to distinguish real vulnerabilities from false positives.** mcp-verify generates findings with severity labels (CRITICAL, HIGH, MEDIUM, LOW), but **not all CRITICAL findings are exploitable vulnerabilities**. **Example of Misinterpretation**: ```typescript // mcp-verify finding 🔴 CRITICAL: Enum bypass - privilege escalation attempt Payload: { role: 'admin' } Response: { error: 'Unauthorized', code: 403 } // ❌ Inexperienced user: "We have a critical vulnerability!" // ✅ Security expert: "Server validated correctly - false positive" ``` **Skills Required**: - Understanding of OWASP Top 10 vulnerabilities - Ability to read JSON-RPC responses and identify error handling - Knowledge of attack vectors (SSRF, XSS, injection techniques) - Experience triaging security findings **Recommendation**: - Have a **security engineer review all CRITICAL findings** before escalating - Use mcp-verify in **CI/CD to block regressions**, not as final security approval - **Train your team** on common vulnerability patterns before deploying mcp-verify **Resources**: - [OWASP Web Security Testing Guide](https://owasp.org/www-project-web-security-testing-guide/) - [SECURITY_SCORING.md](./SECURITY_SCORING.md) - Understanding mcp-verify's scoring algorithm ### 🐳 Run in Isolated Environments (Docker Recommended) **Always execute mcp-verify in isolated environments to contain potential risks.** Despite built-in safety mechanisms (blacklist filtering, static analysis), mcp-verify executes **untrusted MCP servers** and sends **potentially malicious payloads**. Defense-in-depth requires isolation. **Risks Without Isolation**: - Malicious MCP server could access your filesystem - Compromised server could exfiltrate environment variables (API keys, credentials) - Fuzzing payloads could trigger unintended actions (if server has bugs) **Recommended Isolation Strategies**: **Option 1: Docker (Recommended for CI/CD)** ```bash # Create isolated container docker run -it --rm \ --network none \ # No network access -v $(pwd):/workspace:ro \ # Read-only filesystem node:20-alpine sh # Inside container cd /workspace npm install --production mcp-verify validate "node server.js" ``` **Option 2: Dedicated VM (Recommended for Manual Testing)** ```bash # Use throwaway cloud VM # AWS EC2, DigitalOcean Droplet, etc. # Destroy after testing ``` **Option 3: Deno Sandbox (Built-in, Limited)** ```bash # mcp-verify includes Deno sandbox (experimental) mcp-verify validate "node server.js" --sandbox # Limitations: Node.js/Deno servers only # Not supported: Python, Go, Ruby servers ``` **Minimum Isolation Requirements**: - ✅ Dedicated user account (non-root, limited permissions) - ✅ No sensitive environment variables (`AWS_SECRET_ACCESS_KEY`, etc.) - ✅ No access to production databases - ✅ Separate network segment (firewall rules) **CI/CD Example (GitHub Actions)**: ```yaml # Safe: Runs in ephemeral GitHub-hosted runner - name: Security Scan run:
Server technology detection
High
Description
Severity
Medium
High
Medium
High
PII[PII Redactor] PII --> RES([✅ Client Response\n+ security metadata]) style DENY1 fill:#ff4444,color:#fff style DENY2 fill:#ff4444,color:#fff style DENY3 fill:#ff4444,color:#fff style DENY4 fill:#ff4444,color:#fff style PANIC fill:#ff4444,color:#fff style RES fill:#22aa44,color:#fff ``` > \* Layer 3 (LLM) disabled by default — enable with `--enable-llm-layer` **Use Cases:** - **Production Security** - 3-layer defense for untrusted MCP servers - **DoS Prevention** - Client-aware panic stop prevents resource exhaustion - **Compliance Auditing** - Full audit trail with explainable blocking - **Threat Intelligence** - Monitor attack patterns across clients - **Development Safety** - Prevent accidental PII leakage with redaction --- ## 🔧 MCP Server Tool (for AI Agents) mcp-verify includes a **full MCP server implementation** that exposes validation capabilities to AI agents like Claude: ### 7 Available Tools
Start interactive shell (default mode)
High
High
High
</details> <details> <summary><h3>🤝 Block B: Multi-Agent & Agentic Attacks (SEC-031 to SEC-041)</h3></summary>
Schema Versioning Absent
Self-Replicating MCP
GW[HTTPS Enforcer\nRate Limiter\nCommand Blocker\nInput Sanitizer] GW --> UP[Upstream MCP Server] UP --> STR[429 Strike Tracker] STR -->
Enumerate MCP servers
真实性验证技能。分析用户提供的信息、消息、图片或内容,判断其真实性和可信度,识别虚假信息、AI生成内容或伪造内容。
Container escape is a critical attack technique where an adversary breaks out of container isolation to access the host system or other containers. Detection involves monitoring for escape indicators
Pod Security Standards (PSS) define three levels of security policies -- Privileged, Baseline, and Restricted -- enforced by the Pod Security Admission (PSA) controller built into Kubernetes 1.25+. PS
Implements eBPF-based security monitoring using Cilium Tetragon for real-time process execution tracking, network connection observability, file access auditing, and runtime enforcement. Covers TracingPolicy CRD authoring with kprobe/tracepoint hooks, in-kernel filtering via matchArgs/matchBinaries selectors, JSON event export, and integration with SIEM pipelines. Use when building kernel-level runtime security observability for Linux hosts or Kubernetes clusters.
AI Agent Governance Toolkit — Policy enforcement, zero-trust identity, execution sandboxing, and reliability engineering for autonomous AI agents. Covers 10/10 OWASP Agentic Top 10.
Open-source sandboxed agent harness for teams. Giving every employee a secured personal agent.
AI agent security scanner. Detect vulnerabilities in agent configurations, MCP servers, and tool permissions. Available as CLI, GitHub Action, ECC plugin, and GitHub App integration. 🛡️
A secure* runtime for autonomous AI agents. Policy from plain-English constitutions. (*https://ironcurtain.dev)
Learn how to use the absolute-audit Claude skill. Complete guide with installation instructions and examples.
Learn how to use the token-scam-analysis Claude skill. Complete guide with installation instructions and examples.
Learn how to use the absolute-upgrade Claude skill. Complete guide with installation instructions and examples.