Wass Mcp

io.github.tb0hdan由 GitHub 帳號 tb0hdan 發布v1.0.4更新於 Oct 24, 2026

MCP server for web application security scanning

已驗證STDIO僅桌面開發者工具安全與監控

概覽

AI 產生的概覽

對目標主機執行 Web 應用程式安全掃描(Nikto、Nuclei、Wapiti、標頭檢查)並保存結果。

可以做什麼
WASS-MCP 提供工具,對指定主機與連接埠執行四種外部安全掃描器:Nikto 檢查 Web 伺服器問題,Nuclei 依範本偵測漏洞,Wapiti 偵測 SQL 注入、XSS 等 Web 應用程式缺陷,shcheck.py 分析 HTTP 安全標頭。full_scan 工具會平行執行全部四種掃描器並合併成一份報告。history 工具可列出、取得、刪除或清空已儲存的掃描結果。
適用情境
當你希望由助理對自有或已獲授權測試的 Web 伺服器或應用程式進行安全測試,並保留歷史掃描紀錄時使用。它並非一般瀏覽或監控工具。
執行需求
以本機行程方式執行,通常透過 Docker 監聽 127.0.0.1:8989,或使用 Go 1.25+ 與 SQLite3 從原始碼建置。需安裝 Nikto、Nuclei、Wapiti 與 shcheck 掃描器程式,對應工具才能運作。未宣告需要帳號、API 金鑰或環境變數。
安裝前請注意
掃描器會對指定主機送出主動攻擊流量,因此只能掃描你獲授權測試的系統;未授權掃描可能違法。history 工具可刪除單筆紀錄或清空全部掃描歷史。README 亦提到除錯效能分析端點,不應暴露到 localhost 之外。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Wass Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

WASS-MCP

A Model Context Protocol (MCP) server for web application security scanning.

Features

  • MCP Protocol Support - Full compatibility with MCP clients (Claude, etc.)
  • Nikto Integration - Web server vulnerability scanning
  • Nuclei Integration - Template-based vulnerability scanning
  • Wapiti Integration - Web application vulnerability scanning
  • Shcheck Integration - Security headers analysis
  • Execution History - Persistent storage of scan results
  • Stateless Design - Survives server restarts without session errors
  • RESTful HTTP Transport - Streamable HTTP-based MCP protocol

Usage

bash
docker run -p 127.0.0.1:8989:8989 tb0hdan/wass-mcp

MCP Client Configuration

Example command to add WASS-MCP server to Claude MCP clients:

bash
claude mcp add wass-mcp --transport http http://127.0.0.1:8989

or Gemini:

bash
gemini mcp add wass-mcp --transport http http://127.0.0.1:8989

Available Tools

nikto

Perform web server vulnerability scans using Nikto.

Parameters:

NameTypeRequiredDescription
hoststringYesTarget hostname or IP address
portintegerNoTarget port (default: 80)
vhoststringNoVirtual host header
max_linesintegerNoMaximum output lines
offsetintegerNoOutput line offset

Example:

json
{  "host": "192.168.1.100",  "port": 443}

nuclei

Perform template-based vulnerability scanning using Nuclei.

Parameters:

NameTypeRequiredDescription
hoststringYesTarget hostname or IP address
portintegerNoTarget port (default: 80)
vhoststringNoVirtual host header
max_linesintegerNoMaximum output lines
offsetintegerNoOutput line offset

Vulnerabilities Detected:

  • CVE detection via community templates
  • Misconfigurations
  • Exposed panels/dashboards
  • Default credentials
  • Technology detection
  • Security headers analysis
  • And many more via 8000+ community templates

Example:

json
{  "host": "192.168.1.100",  "port": 443}

wapiti

Perform comprehensive web application vulnerability scans using Wapiti.

Parameters:

NameTypeRequiredDescription
hoststringYesTarget hostname or IP address
portintegerNoTarget port (default: 80)
vhoststringNoVirtual host header
max_linesintegerNoMaximum output lines
offsetintegerNoOutput line offset

Vulnerabilities Detected:

  • SQL Injection / Blind SQL Injection
  • Cross-Site Scripting (XSS)
  • File Inclusion / Path Traversal
  • Command Execution
  • CRLF Injection
  • Server-Side Request Forgery (SSRF)
  • Open Redirects
  • HTTP Security Headers
  • Content Security Policy issues

Example:

json
{  "host": "192.168.1.100",  "port": 8080}

shcheck_py

Analyze HTTP security headers using shcheck.py.

Parameters:

NameTypeRequiredDescription
hoststringYesTarget hostname or IP address
portintegerNoTarget port (default: 80)
vhoststringNoVirtual host header
max_linesintegerNoMaximum output lines
offsetintegerNoOutput line offset

Headers Analyzed:

  • Content-Security-Policy
  • Strict-Transport-Security
  • X-Frame-Options
  • X-Content-Type-Options
  • Referrer-Policy
  • Permissions-Policy
  • And other security-relevant headers

Example:

json
{  "host": "example.com",  "port": 443}

full_scan

Perform a comprehensive security scan using all available scanners in parallel.

Parameters:

NameTypeRequiredDescription
hoststringYesTarget hostname or IP address
portintegerNoTarget port (default: 80)
vhoststringNoVirtual host header
max_linesintegerNoMaximum output lines
offsetintegerNoOutput line offset

Features:

  • Runs nikto, nuclei, wapiti and shcheck scanners in parallel
  • Merges results into a unified report
  • Includes timing and status for each scanner
  • Gracefully handles missing scanner binaries

Example:

json
{  "host": "192.168.1.100",  "port": 8080}

history

Browse and manage tool execution history.

Parameters:

NameTypeRequiredDescription
actionstringYesOne of: list, get, delete, clear
idintegerFor get/deleteExecution ID
limitintegerNoResults per page (default: 10)
offsetintegerNoPagination offset

Actions:

  • list - List execution history with pagination
  • get - Get full details of a specific execution
  • delete - Delete a specific execution by ID
  • clear - Delete all execution history

API Endpoints

EndpointDescription
POST /mcpMCP protocol endpoint
GET /Service information (JSON)
GET /debug/pprof/*Profiling endpoints

Development and advanced usage

Source build requirements

  • Go 1.25+
  • Nikto (apt install nikto or equivalent)
  • Nuclei (go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest)
  • Wapiti (apt install wapiti or equivalent)
  • Shcheck (pip install shcheck or from GitHub)
  • SQLite3
bash
# Clone the repositorygit clone https://github.com/tb0hdan/wass-mcp.gitcd wass-mcp
# Buildmake build
# Run./build/wass-mcp

Starting the Server

bash
# Default (localhost:8989)./build/wass-mcp
# Custom bind address./build/wass-mcp --bind 0.0.0.0:8080
# Custom database path./build/wass-mcp --db /var/lib/wass-mcp/data.db
# Debug mode./build/wass-mcp --debug

Configuration Options

FlagDefaultDescription
--bindlocalhost:8989HTTP server bind address
--db./wass-mcp.dbSQLite database file path
--debugfalseEnable debug logging
--version-Print version and exit

Linting

bash
make lint

Testing

bash
make test

Project Structure

wass-mcp/├── cmd/wass-mcp/        # Application entry point├── pkg/│   ├── server/          # MCP server wrapper│   ├── storage/         # Database layer (SQLite/GORM)│   ├── models/          # Data models│   ├── tools/           # MCP tool implementations│   │   ├── nikto/       # Nikto web server scanner│   │   ├── wapiti/      # Wapiti web app scanner│   │   ├── nuclei/      # Nuclei template scanner│   │   ├── shcheck/     # Security headers checker│   │   ├── fullscan/    # Parallel full scan│   │   └── history/     # History management│   └── types/           # Shared types and constants├── docs/                # Documentation└── build/               # Build output and coverage reports

Security Notice

This tool is intended for authorized security testing only. Ensure you have proper authorization before scanning any systems. Unauthorized scanning may be illegal in your jurisdiction.

Project notes

For complete project notes, design decisions, and architecture overview, please refer to the Project Notes document.

License

BSD 3-Clause License - Copyright (c) 2026, Bohdan Turkynevych. See LICENSE for details.

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/new-tool)
  3. Commit your changes (git commit -am 'Add new scanning tool')
  4. Push to the branch (git push origin feature/new-tool)
  5. Create a Pull Request

Acknowledgments

來源:README.md,提交 925bf72

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.4最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分