Skip to main content
Glama
yunusj
by yunusj
README.md
<div align="center">

# ๐Ÿ›ก๏ธ VibeDefender

**Security Knowledge MCP Server for AI Coding Agents**

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Node.js Version](https://img.shields.io/badge/node-%3E%3D22.0.0-brightgreen)](https://nodejs.org/)
[![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-blue)](https://modelcontextprotocol.io/)
[![GitHub Stars](https://img.shields.io/github/stars/yunusj/VibeDefender-MCP?style=social)](https://github.com/yunusj/VibeDefender-MCP/stargazers)

*Guide your AI agents through professional security assessments with methodology, documentation, and step-by-step workflows covering OWASP Top 10 and beyond.*

[Installation](#-installation) โ€ข [Features](#-features) โ€ข [Quick Start](#-quick-start) โ€ข [Configuration](#-configuration) โ€ข [Documentation](#-available-resources)

</div>

---

## ๐ŸŒŸ Why VibeDefender?

Your AI coding agent (Claude Code, Cursor, etc.) already knows how to run commands. **VibeDefender teaches it WHEN, WHY, and HOW to run security tools like a professional pentester.**

Instead of guessing which security tools to run, your AI gets:
- ๐Ÿ“š **Step-by-step security methodology** - Professional assessment workflows
- ๐ŸŽฏ **Plain English guidance** - No security expertise required
- ๐Ÿ”ง **Tool installation guides** - Automated setup assistance
- ๐Ÿ“– **Always-current documentation** - Live tool documentation proxy
- โœ… **OWASP Top 10 coverage** - Industry-standard vulnerability detection

> **โญ If you find VibeDefender useful, please star this repo! It helps others discover professional security testing for AI agents.**

## ๐Ÿ“ฆ Installation

### Direct from GitHub (Recommended)

```bash
npx github:yunusj/VibeDefender-MCP
```

This automatically clones, installs dependencies, builds, and runs the MCP server.

### Global Installation

```bash
npm install -g github:yunusj/VibeDefender-MCP
vibedefender-mcp
```

## โœจ Features

### ๐ŸŽฏ What Makes VibeDefender Different

โœ… **Knowledge-First Approach** - Guides AI agents instead of executing tools directly
โœ… **5 Pre-Built Security Workflows** - Setup, full scan, pre-push check, live testing, URL scanning
โœ… **OWASP Top 10 Coverage** - Comprehensive vulnerability detection (injection, XSS, auth, etc.)
โœ… **Mandatory Runtime Analysis** - Not just static analysis - tests your running application
โœ… **Artifact Generation** - Saves all scan results as JSON + markdown reports
โœ… **Zero Security Knowledge Required** - Plain English explanations for non-security developers
โœ… **Tool Agnostic** - Works with any MCP-compatible AI editor (Claude Code, Cursor, etc.)

### ๐Ÿ”ง Integrated Security Tools

- **Trivy** - CVE and dependency vulnerability scanning
- **Semgrep** - Static code analysis with 2000+ security rules
- **Nuclei** - Runtime security testing with template-based scanning
- **Metasploit** - Optional integration for discovery and exploitation

### ๐Ÿค– Supported AI Editors

| Editor | Status | Notes |
|--------|--------|-------|
| Claude Code | โœ… Fully Supported | Native MCP support |
| Cursor | โœ… Fully Supported | MCP configuration required |
| Claude Desktop | โœ… Fully Supported | Config in `claude_desktop_config.json` |
| Google Antigravity | โœ… Fully Supported | Same config as Claude Desktop |

## ๐Ÿง  Philosophy

**The MCP GUIDES, not executes.**

Your AI agent (Claude Code, Cursor, etc.) already has the ability to run CLI commands. This MCP provides:

- ๐Ÿ“‹ Step-by-step methodology for security assessments
- ๐Ÿ”ง Installation guides for required tools
- ๐Ÿ’ฌ Plain English explanations for non-technical users
- ๐Ÿ“š Documentation proxy for always-current tool docs

## โšก Quick Start

1. **Install and configure** (one-time setup):

```json
{
  "mcpServers": {
    "vibedefender": {
      "command": "npx",
      "args": ["github:yunusj/VibeDefender-MCP"]
    }
  }
}
```

2. **Talk to your AI agent in plain English:**

| What You Say | What Happens |
|--------------|--------------|
| ๐Ÿ’ฌ *"Help me set up security scanning"* | ๐Ÿ”ง AI installs Trivy, Semgrep, Nuclei with guided steps |
| ๐Ÿ’ฌ *"Scan my code for security issues"* | ๐Ÿ” Full scan: dependencies + code + runtime + artifacts |
| ๐Ÿ’ฌ *"Check my code before I push"* | โšก Fast critical-only check (< 30 seconds) |
| ๐Ÿ’ฌ *"Test my app on localhost"* | ๐ŸŒ Starts dev server + runs live security tests |
| ๐Ÿ’ฌ *"Check this URL for vulnerabilities"* | ๐ŸŽฏ Tests specific URL with authorization check |

3. **Get professional security reports** with actionable fixes:

```
โœ… All scans saved to: security-scan-20241220-143022/
   โ”œโ”€โ”€ trivy-results.json      (Dependency vulnerabilities)
   โ”œโ”€โ”€ semgrep-results.json    (Code security issues)
   โ”œโ”€โ”€ nuclei-results.json     (Runtime vulnerabilities)
   โ””โ”€โ”€ REPORT.md               (Human-readable summary)
```

## โš™๏ธ Configuration

### Claude Code

Add to your Claude Code MCP settings:

```json
{
  "mcpServers": {
    "vibedefender": {
      "command": "npx",
      "args": ["github:yunusj/VibeDefender-MCP"]
    }
  }
}
```

### Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "vibedefender": {
      "command": "npx",
      "args": ["github:yunusj/VibeDefender-MCP"]
    }
  }
}
```

### Cursor

Add to Cursor's MCP settings (Settings โ†’ Features โ†’ MCP):

```json
{
  "mcpServers": {
    "vibedefender": {
      "command": "npx",
      "args": ["github:yunusj/VibeDefender-MCP"]
    }
  }
}
```

### Google Antigravity

Same configuration as Claude Desktop.

## ๐Ÿงช Testing with MCP Inspector

Test the server before configuring in your editor:

```bash
npm install -g @modelcontextprotocol/inspector
npx @modelcontextprotocol/inspector npx github:yunusj/VibeDefender-MCP
```

Expected: Web UI shows "Connected", lists all `security://` resources and 5 workflow prompts.

## ๐ŸŽฏ Available Workflows

| Workflow | Trigger Phrase | What It Does |
|----------|----------------|--------------|
| ๐Ÿ”ง `setup` | "Help me set up security scanning" | Checks installed tools, guides installation |
| ๐Ÿ” `scan` | "Scan my code for security issues" | **Full scan**: static + runtime + artifacts |
| โšก `pre-push` | "Check my code before I push" | **Fast check**: critical issues only (< 30s) |
| ๐ŸŒ `scan-live` | "Test my app on localhost" | Starts dev server + runs live tests |
| ๐ŸŽฏ `scan-url` | "Check this URL for vulnerabilities" | Tests specific URL (requires authorization) |

## ๐Ÿ› ๏ธ Required Tools

The MCP guides you through installing these (just say *"help me set up"*):

| Tool | Purpose | Install (macOS) |
|------|---------|-----------------|
| ๐Ÿ” Trivy | CVE/dependency scanning | `brew install aquasecurity/trivy/trivy` |
| ๐Ÿ“ Semgrep | Static code analysis | `brew install semgrep` |
| ๐ŸŒ Nuclei | Runtime testing (**mandatory**) | `brew install nuclei` |

## ๐ŸŽ–๏ธ Metasploit Integration

Metasploit Framework is integrated for both **discovery** (reconnaissance) and **exploitation** phases.

### Setup

1. **Install external Metasploit MCP server:**

```bash
# Clone the Metasploit MCP repository
git clone https://github.com/your-org/MetasploitMCP ~/MetasploitMCP
```

2. **Set environment variable** (add to `~/.bashrc` or `~/.zshrc`):

```bash
export METASPLOIT_MCP_PATH="$HOME/MetasploitMCP/start_mcp.sh"
```

3. **Verify installation:**

```bash
npm run mcp:metasploit
# Should output: "Metasploit MCP Proxy running on stdio"
```

### Usage

**Discovery Phase (Automatic):**
- Runs safe auxiliary modules for service detection
- Port scanning and version detection
- Correlates findings with CVE database
- No exploitation attempts

**Exploitation Phase (Requires Approval):**
- Executes exploits against validated vulnerabilities
- Requires explicit human approval
- Full session management and post-exploitation
- Evidence gathering only (read-only)

### Safety

โš ๏ธ **CRITICAL: Authorization Required**

- Only use on systems you **own** OR have **written permission** to test
- Unauthorized access to computer systems is **illegal**
- Discovery phase: Basic authorization sufficient
- Exploitation phase: Explicit approval required

### ๐Ÿ“– Documentation

- See `security://methodology/exploitation` for complete exploitation workflow
- See `security://docs/metasploit` for detailed tool usage
- Includes safety guidelines, workflow examples, and troubleshooting

## ๐Ÿ“š Available Resources

### ๐Ÿ“‹ Methodology Guides

| Resource | Description |
|----------|-------------|
| `security://methodology/discovery` | ๐Ÿ” How to find attack surface |
| `security://methodology/scanning` | ๐Ÿ“Š What to scan, in what order |
| `security://methodology/validation` | โœ… How to validate on live targets |
| `security://methodology/reporting` | ๐Ÿ“ How to structure reports |

### ๐Ÿ“– Reference Documentation

| Resource | Description |
|----------|-------------|
| `security://reference/severity` | ๐Ÿšจ What CRITICAL/HIGH/MEDIUM/LOW mean |
| `security://reference/cwe-top-25` | ๐Ÿ› Common weakness types |
| `security://reference/owasp-top-10` | ๐Ÿ›ก๏ธ OWASP vulnerability categories |
| `security://reference/browser-options` | ๐ŸŒ Browser automation choices |

### ๐Ÿ”ง Tool Documentation

| Resource | Description |
|----------|-------------|
| `security://docs/overview` | ๐Ÿ“š Overview of all tools |
| `security://docs/trivy` | ๐Ÿ” Trivy quick start |
| `security://docs/semgrep` | ๐Ÿ“ Semgrep quick start |
| `security://docs/nuclei` | ๐ŸŒ Nuclei quick start |
| `security://docs/playwright` | ๐ŸŽญ Playwright MCP info |
| `security://docs/metasploit` | ๐ŸŽ–๏ธ Metasploit basics |

## ๐Ÿ’ก Example Workflows

### First Time Setup

```
You: Help me set up security scanning

AI: I'll check what tools you have installed...
    [Runs version checks]

    You're missing Trivy and Semgrep. Let me help you install them.

    Trivy checks your dependencies for known vulnerabilities.
    Run this to install: brew install aquasecurity/trivy/trivy
    ...
```

### Before Pushing Code

```
You: Check my code before I push

AI: Running quick pre-push security check...
    [Runs trivy + semgrep for CRITICAL issues only]

    โœ… All clear! No critical security issues found. Safe to push.

    For a comprehensive scan including runtime testing, use the 'scan' workflow.
```

### Full Security Scan

```
You: Scan my code for security issues

AI: I see this is a Node.js project using Express.

    First, checking for known vulnerabilities in dependencies...
    [Runs trivy]

    Found 3 critical issues in your packages:
    1. lodash < 4.17.21 - allows prototype pollution
       Fix: npm update lodash
    ...
```

## ๐Ÿ“ Project Structure

```
src/
โ”œโ”€โ”€ index.ts              # Main MCP server entry point
โ”œโ”€โ”€ resources/
โ”‚   โ”œโ”€โ”€ static.ts         # Bundled methodology & references
โ”‚   โ””โ”€โ”€ dynamic.ts        # Tool documentation with search guidance
โ””โ”€โ”€ prompts/
    โ””โ”€โ”€ workflows.ts      # 5 user-friendly workflow prompts
```

## ๐ŸŽจ Design Decisions

1. **๐Ÿšซ No execution tools** - AI agents already have CLI access. We provide knowledge.
2. **๐Ÿ’ฌ Plain English** - Everything explained for non-technical users.
3. **๐Ÿ“‹ Step-by-step** - Prompts tell the AI exactly what to do at each step.
4. **๐Ÿ“– Documentation proxy** - Search patterns for always-current tool docs.
5. **๐Ÿ“ฆ Minimal files** - 4 files total, easy to understand and maintain.
6. **๐ŸŒ GitHub-based distribution** - No npm publish, direct from source via npx.

## ๐ŸŒ Browser Automation Options

For live testing that needs a browser:

| Option | When to Use |
|--------|-------------|
| Playwright MCP | Claude Code, Cursor, most IDEs |
| Browser Agent | Google Antigravity IDE (built-in) |
| Puppeteer | If already in project |

## ๐Ÿ”ง Troubleshooting

### Build Errors

If you see TypeScript compilation errors when installing from GitHub:

```bash
npm cache clean --force
npx github:yunusj/VibeDefender-MCP
```

### MCP Server Not Connecting

1. Test with MCP Inspector first (see "Testing" section above)
2. Check Node.js version: `node --version` (requires >= 22.0.0)
3. Verify the server runs standalone:
   ```bash
   npx github:yunusj/VibeDefender-MCP
   # Should output: "Security Knowledge MCP server running on stdio"
   ```
4. Check editor configuration file syntax (valid JSON)
5. Restart your AI editor after configuration changes

### Permission Errors

If you get EACCES errors:

```bash
# On Unix-like systems, the shebang should make it executable
# If not, manually set permissions on global install:
chmod +x $(which vibedefender-mcp)
```

### Update to Latest Version

```bash
npm cache clean --force
npx github:yunusj/VibeDefender-MCP

# Or for global install
npm uninstall -g vibedefender-mcp
npm install -g github:yunusj/VibeDefender-MCP
```

## โš ๏ธ Security Notice

- โœ… Only scan systems you are **authorized** to test
- ๐Ÿ”’ Live validation (scan-url, scan-live) requires **explicit authorization**
- ๐Ÿค The AI will ask for confirmation before testing URLs
- ๐Ÿ“„ Always get **written permission** before security testing
- ๐Ÿ›ก๏ธ Follow **responsible disclosure** practices

---

<div align="center">

## ๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## ๐Ÿ“„ License

MIT License - see [LICENSE](LICENSE) for details

## โญ Show Your Support

If VibeDefender helps secure your code, please **star this repository**!

[![GitHub Stars](https://img.shields.io/github/stars/yunusj/VibeDefender-MCP?style=social)](https://github.com/yunusj/VibeDefender-MCP/stargazers)

**Made with ๐Ÿ›ก๏ธ by security professionals, for developers**

</div>