AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified Apache-2.0 Self-run

MCPwner

mcp-nedlir-mcpwner · by nedlir

Model Context Protocol server for autonomous vulnerability discovery

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add mcp-nedlir-mcpwner

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-nedlir-mcpwner)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2d ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of MCPwner? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

MCPwner

Beware the Badger Model Context Protocol server for autonomous security research

[](https://www.docker.com/) [](https://modelcontextprotocol.io) [](https://www.python.org/) [](LICENSE.txt)

Compatible with:

[](#installation) [](#installation) [](#installation) [](#installation) [](#installation)


Table of Contents

  • [Overview](#overview)
  • [Workflow](#workflow)
  • [Integrated Tools](#integrated-tools)
  • [Installation](#installation)
  • [Documentation](#documentation)
  • [Architecture](#architecture)
  • [Data Persistence](#data-persistence)
  • [License](#license)

Overview

MCPwner is an MCP server that gives your LLM agent a full offensive-security toolkit. It exposes 55+ containerized tools through a single MCP interface - SAST, SCA, secrets, IaC, reconnaissance, DAST, coverage-guided fuzzing, CodeQL (builtin and custom queries), a headless browser, an OOB callback server, a PoC-script sandbox with deterministic oracles, and a persistent findings ledger.

The architecture is designed for agent-driven vulnerability research: a single agent session - model-agnostic (Claude, Cursor, Kiro, Gemini, or any MCP-capable coding agent) - works through the research phases (recon, code audit, PoC validation, adversarial review), recording every step in the shared findings ledger. Each finding progresses from hypothesis through empirical proof to verified report - "no exploit, no report."

> Note: This project is under active development. Learn more about MCPs here.

Workflow

MCPwner is the tool server; your LLM agent is the brain. A typical deep-research engagement:

| Phase | What happens | MCPwner tools used | | ------------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------ | | Workspace | Clone target, detect stack | create_workspace, detect_languages | | Discover | Broad scan for known patterns | run_sast_scan, run_sca_scan, run_secrets_scan, run_reconnaissance_chain, execute_query | | Triage | Kill false positives, prove reachability | index_code_facts, query_code_facts, execute_query (custom CodeQL) | | Research | Hunt novel bugs via diffs and variant analysis | diff_discovery, run_fuzzing_scan, custom CodeQL | | Prove | Empirical validation with deterministic oracles | run_poc_scan (sandbox), run_dast_scan, run_utilities_scan (chromium) | | Report | Only oracle-verified findings ship | upsert_finding, generate_report |

The ledger uses deep-merge upserts, so a later phase's review verdict never clobbers the earlier poc data (and vice-versa) - and it stays consistent if the agent's context is reset mid-engagement.

Integrated Tools

Reconnaissance

| | | | | | | :------------------------------------------------------------: | :-----------------------------------------------: | :--------------------------------------: | :---------------------------------------------------------: | :--------------------------------------: | | Subfinder | Amass | Nmap | Masscan | ffuf |

| | | | | | | :------------------------------------------------------: | :----------------------------------------------------: | :------------------------------------------------------: | :----------------------------------------------------------------------------------------------: | :------------------------------------------: | | bbot | httpx | Katana | gau | Arjun |

| | | | :------------------------------------------------------: | :-------------------------------------------------------: | | wafw00f | Kiterunner |

Static Application Security Testing (SAST)

| | | | | | | :--------------------------------------------: | :-----------------------------------------: | :--------------------------------------------: | :-------------------------------------------: | :-----------------------------------------------: | | CodeQL | Psalm | Gosec | Bandit | Semgrep |

| | | | | | | | :-------------------------------------------------------: | :------------------------------------: | :---------------------------------------------------------: | :-------------------------------------------: | :-------------------------------------------------: | :--------------------------------------------------: | | Brakeman | PMD | NodeJsScan | Joern | YASA | OpenGrep |

Source Fuzzing

| | | | | | :----------------------------------------------: | :-------------------------------------------------------------: | :-------------------------------------------------------------------: | :---------------------------------------------------: | | Atheris | Jazzer | Jazzer.js | PHP-Fuzzer |

Secrets Scanning

| | | | | | | :-----------------------------------------------------: | :-------------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------: | :----------------------------------------------------: | | Gitleaks | TruffleHog | detect-secrets | Whispers | Hawk-Eye |

Software Composition Analysis (SCA)

| | | | | | :-------------------------------------------: | :-----------------------------------------: | :------------------------------------------------------: | :----------------------------------------------------: | | Grype | Syft | OSV-Scanner | Retire.js |

Infrastructure & IaC Security

| | | | | | | :----------------------------------------------------: | :-------------------------------------------: | :---------------------------------------------------: | :------------------------------------------------: | :--------------------------------------------------: | | Checkov | KICS | Terrascan | TFSec | Hadolint |

Dynamic Application Security Testing (DAST)

| | | | | | | :---------------------------------------------------: | :-------------------------------------------------: | :---------------------------------------------------: | :--------------------------------------------: | :-------------------------------------------------: | | sqlmap | NoSQLMap | Commix | Dalfox | SSTImap |

| | | | | :---------------------------------------------------: | :-------------------------------------------------: | :--------------------------------------------------------------: | | SSRFmap | jwttool | interactsh |

Utilities

| | | | | | | :---------------------------------------------------------: | :--------------------------------------------------: | :-----------------------------------------------------: | :------------------------------------------------: | :-------------------------------------------------------------------: | | Linguist | WireMock | Mitmproxy | aiohttp | Chromium w. Playwright |

PoC Validation

| PoC-Script Sandbox | | :-------------------------: | | Deterministic oracle runner |

The PoC sandbox runs agent-authored Python/bash exploit scripts inside the target network and returns a deterministic oracle verdict (pass/fail based on exit code or explicit markers). This is how MCPwner proves logic bugs, IDOR/BOLA, race conditions, and access-control bypasses that off-the-shelf DAST cannot express.

Installation

Prerequisites

System Requirements:

  • Docker Engine 20.10+ and Docker Compose 2.0+
  • 8GB RAM minimum (16GB recommended for running multiple tools)
  • 20GB free disk space (security tool images are large)
  • Supported platforms: Linux, macOS, Windows (with WSL2)

MCP Client:

  • Claude Desktop, Cursor, Kiro, or any MCP-compatible client

Setup

  1. Clone the repository:

``bash git clone https://github.com/nedlir/mcpwner.git cd mcpwner ``

  1. Configure the server:

``bash cp .env.example .env cp config/config.yaml.example config/config.yaml ``

  1. Start the services:

``bash docker compose up -d --build ``

  1. Verify services are running:

``bash docker compose ps ``

Connect Your IDE

Once Docker containers are running, add MCPwner to your MCP client.

Dynamic Tool Registration: MCPwner uses Docker Compose profiles for opt-in tool categories. The .env file's COMPOSE_PROFILES variable controls which containers start. The MCP server probes running containers at startup and registers only healthy tools - if a container is down, its tools simply don't appear. Linguist (language detection / code-facts index) runs unconditionally; the dynamic-testing utilities (Chromium, WireMock, mitmproxy, fuzzer) are opt-in and come up with the dast and poc profiles.

One-Click Install (requires Docker running):

[](https://kiro.dev/launch/mcp/add?name=mcpwner&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22exec%22%2C%22-i%22%2C%22mcpwner-server%22%2C%22python%22%2C%22src%2Fserver.py%22%5D%7D) [](https://cursor.com/en/install-mcp?name=mcpwner&config=eyJjb21tYW5kIjoiZG9ja2VyIiwiYXJncyI6WyJleGVjIiwiLWkiLCJtY3B3bmVyLXNlcnZlciIsInB5dGhvbiIsInNyYy9zZXJ2ZXIucHkiXX0%3D) [](https://claude.ai/install-mcp?name=mcpwner&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22exec%22%2C%22-i%22%2C%22mcpwner-server%22%2C%22python%22%2C%22src%2Fserver.py%22%5D%7D) [](https://vscode.dev/redirect/mcp/install?name=mcpwner&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22exec%22%2C%22-i%22%2C%22mcpwner-server%22%2C%22python%22%2C%22src%2Fserver.py%22%5D%7D) [](https://windsurf.ai/install-mcp?name=mcpwner&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22exec%22%2C%22-i%22%2C%22mcpwner-server%22%2C%22python%22%2C%22src%2Fserver.py%22%5D%7D)

Manual Configuration:

Add to your MCP configuration file (claude_desktop_config.json, mcp.json, etc.):

{
  "mcpServers": {
    "mcpwner": {
      "command": "docker",
      "args": ["exec", "-i", "mcpwner-server", "python", "src/server.py"],
      "env": {}
    }
  }
}

Restart your MCP client to load the new server configuration.

Scanning Local Projects

Mount your projects into the container by adding a volume in docker-compose.yaml:

services:
  mcpwner:
    volumes:
      - /path/to/your/projects:/mnt/projects:ro

Then use create_workspace with source_type="local" and source="/mnt/projects/my-project".

Documentation

Additional guides live in the project wiki:

  • Quickstart - start the tool fleet with COMPOSE_PROFILES and wire the MCP server into your client.
  • Configuration - .env / COMPOSE_PROFILES, config.yaml, and the tool port map.
  • Troubleshooting - missing tools, unhealthy containers, and image-build failures.
  • Adding a tool - wire a new scanner container into the fleet and the tool registry.

Contributing? See [CONTRIBUTING.md](CONTRIBUTING.md) for code style, pre-commit hooks, and tests.

Architecture

graph LR
    subgraph IDE[" "]
        LLM[🤖LLM]
        Client[MCP Client]
        LLM -.-> Client
    end

    Server[MCPwner Server]

    SAST[SAST Tools]
    Secrets[Secrets Scanning]
    SCA[SCA Tools]
    Recon[Reconnaissance]
    CodeQL[CodeQL Service]
    Linguist[Language Detection]
    Utilities[Utilities]
    IaC[IaC Security]
    Fuzzing[Source Fuzzing]
    DAST[DAST Tools]
    PoC[PoC Sandbox]

    Client -->|JSON-RPC 2.0| Server
    Server -->|HTTP| SAST
    Server -->|HTTP| Secrets
    Server -->|HTTP| SCA
    Server -->|HTTP| Recon
    Server -->|HTTP| CodeQL
    Server -->|HTTP| Linguist
    Server -->|HTTP| Utilities
    Server -->|HTTP| IaC
    Server -->|HTTP| Fuzzing
    Server -->|HTTP| DAST
    Server -->|HTTP| PoC

    style LLM fill:#7C3AED,stroke:#5B21B6,stroke-width:3px,color:#fff
    style Client fill:#4A90E2,stroke:#2E5C8A,stroke-width:3px,color:#fff
    style Server fill:#F5A623,stroke:#C17D11,stroke-width:3px,color:#fff
    style SAST fill:#E74C3C,stroke:#C0392B,stroke-width:2px,color:#fff
    style Secrets fill:#9B59B6,stroke:#7D3C98,stroke-width:2px,color:#fff
    style SCA fill:#1ABC9C,stroke:#16A085,stroke-width:2px,color:#fff
    style Recon fill:#00BCD4,stroke:#0097A7,stroke-width:2px,color:#fff
    style CodeQL fill:#E67E22,stroke:#CA6F1E,stroke-width:2px,color:#fff
    style Linguist fill:#

…

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [nedlir](https://github.com/nedlir)
- **Source:** [nedlir/MCPwner](https://github.com/nedlir/MCPwner)
- **License:** Apache-2.0

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.