Web Security Scanner

by 9olidity

12 stars
Not rated
GitHub

About

Enables automated web security testing for XSS and SQL injection vulnerabilities through Playwright-powered browser automation with screenshot capture and comprehensive error handling.

Details

Author
9olidity
Repository
9olidity/MCP-Server-Pentest
GitHub stars
12
License
MIT License
Categories
Productivity, Design, Developer Tools, AI, Security, Infrastructure, Automation

- Full browser xss, sql vulnerability automatic detection
- Screenshots of the entire page or specific elements
- Comprehensive network interaction (navigation, clicks, form filling)
- Console log monitoring
- JavaScript execution in the browser context

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Web Security Scanner
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 /Users/...../dist/index.js

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

The installation process will automatically add the following configuration to your Claude config file:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "-y",
        "/Users/...../dist/index.js"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
npx playwright install firefox
yarn install 
npm run build 

broser_url_reflected_xss

Test whether the URL has an XSS vulnerability. Parameters: url (string), paramName (string)

browser_url_sql_injection

Test whether the URL has SQL injection vulnerabilities. Parameters: url (string), paramName (string)

browser_navigate

Navigate to any URL in the browser. Parameters: url (string)

browser_screenshot

Capture screenshots of the entire page or specific elements. Parameters: name (string, required), selector (string, optional), fullPage (boolean, optional, default: false)

browser_click

Click elements on the page using CSS selector. Parameters: selector (string)

browser_click_text

Click elements on the page by their text content. Parameters: text (string)

browser_hover

Hover over elements on the page using CSS selector. Parameters: selector (string)

browser_hover_text

Hover over elements on the page by their text content. Parameters: text (string)

browser_fill

Fill out input fields. Parameters: selector (string), value (string)

browser_select

Select an option in a SELECT element using CSS selector. Parameters: selector (string), value (string)

browser_select_text

Select an option in a SELECT element by its text content. Parameters: text (string), value (string)

browser_evaluate

Execute JavaScript in the browser console. Parameters: script (string)

broser_url_reflected_xss

Test whether the URL has an XSS vulnerability
{
  "url": "https://test.com",
  "paramName":"text"
}

browser_url_sql_injection

Test whether the URL has SQL injection vulnerabilities

{
  "url": "https://test.com",
  "paramName":"text"
}

browser_navigate

Navigate to any URL in the browser
{
  "url": "https://stealthbrowser.cloud"
}

browser_screenshot

Capture screenshots of the entire page or specific elements
{
  "name": "screenshot-name",     // required
  "selector": "#element-id",     // optional
  "fullPage": true              // optional, default: false
}

browser_click

Click elements on the page using CSS selector
{
  "selector": "#button-id"
}

browser_click_text

Click elements on the page by their text content
{
  "text": "Click me"
}

browser_hover

Hover over elements on the page using CSS selector
{
  "selector": "#menu-item"
}

browser_hover_text

Hover over elements on the page by their text content
{
  "text": "Hover me"
}

browser_fill

Fill out input fields
{
  "selector": "#input-field",
  "value": "Hello World"
}

browser_select

Select an option in a SELECT element using CSS selector
{
  "selector": "#dropdown",
  "value": "option-value"
}

browser_select_text

Select an option in a SELECT element by its text content
{
  "text": "Choose me",
  "value": "option-value"
}

browser_evaluate

Execute JavaScript in the browser console
{
  "script": "document.title"
}

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "web security scanner": {
            "env": {},
            "args": [
                "-y",
                "/Users/...../dist/index.js"
            ],
            "command": "npx",
            "disabled": false,
            "autoApprove": []
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-y",
        "/Users/...../dist/index.js"
    ],
    "command": "npx",
    "disabled": false,
    "autoApprove": []
}

Macos

{
    "env": [],
    "args": [
        "-y",
        "/Users/...../dist/index.js"
    ],
    "command": "npx",
    "disabled": false,
    "autoApprove": []
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "npx",
        "-y",
        "/Users/...../dist/index.js"
    ],
    "command": "cmd",
    "disabled": false,
    "autoApprove": []
}

<h1 align="center">MCP Server Pentest</h1>

Features

- Full browser xss, sql vulnerability automatic detection
- Screenshots of the entire page or specific elements
- Comprehensive network interaction (navigation, clicks, form filling)
- Console log monitoring
- JavaScript execution in the browser context

Installation

Installing

npx playwright install firefox
yarn install 
npm run build 

Configuration

The installation process will automatically add the following configuration to your Claude config file:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "-y",
        "/Users/...../dist/index.js"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Components

Tools

broser_url_reflected_xss

Test whether the URL has an XSS vulnerability
{
  "url": "https://test.com",
  "paramName":"text"
}

browser_url_sql_injection

Test whether the URL has SQL injection vulnerabilities

{
  "url": "https://test.com",
  "paramName":"text"
}

browser_navigate

Navigate to any URL in the browser
{
  "url": "https://stealthbrowser.cloud"
}

browser_screenshot

Capture screenshots of the entire page or specific elements
{
  "name": "screenshot-name",     // required
  "selector": "#element-id",     // optional
  "fullPage": true              // optional, default: false
}

browser_click

Click elements on the page using CSS selector
{
  "selector": "#button-id"
}

browser_click_text

Click elements on the page by their text content
{
  "text": "Click me"
}

browser_hover

Hover over elements on the page using CSS selector
{
  "selector": "#menu-item"
}

browser_hover_text

Hover over elements on the page by their text content
{
  "text": "Hover me"
}

browser_fill

Fill out input fields
{
  "selector": "#input-field",
  "value": "Hello World"
}

browser_select

Select an option in a SELECT element using CSS selector
{
  "selector": "#dropdown",
  "value": "option-value"
}

browser_select_text

Select an option in a SELECT element by its text content
{
  "text": "Choose me",
  "value": "option-value"
}

browser_evaluate

Execute JavaScript in the browser console
{
  "script": "document.title"
}
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.