Skip to main content
Glama
wpscan-mcp

wpscan-mcp

by sjinks

wpscan-mcp

An MCP server (TypeScript) that exposes a few tools for the WPScan (wpscan.com) API v3.

Requirements

  • Node.js >= 18

  • A WPScan API token

Related MCP server: CVE-Search MCP Server

Setup

Node.js

npm install

Set your token:

export WPSCAN_API_TOKEN="..."

Build & run:

npm run build
node dist/index.js

Bun

Install dependencies and compile:

bun install
bun run compile

Set your token:

export WPSCAN_API_TOKEN="..."

Run:

./wpscan-mcp

If, for some reason, compilation does not work:

bun install
bun run build
export WPSCAN_API_TOKEN="..."
bun run dist/index.js

Type generation (optional)

This project can generate TypeScript types directly from the WPScan OpenAPI spec:

# Node.js:
npm run generate-types

# Bun:
bun run generate-types

Notes:

  • The OpenAPI spec is fetched from https://wpscan.com/docs/api/v3/v3.yml/.

MCP tools

  • wpscan_plugin_lookup

    • Args: { slug: string, version?: string }

  • wpscan_theme_lookup

    • Args: { slug: string, version?: string }

  • wpscan_core_lookup

    • Args: { version: number }

    • Note: WPScan expects the WordPress version with dots removed (e.g. 6.4.2 → 642).

  • wpscan_lookup_vuln

    • Args: { wpvdbId: string } (e.g. WPVDB-ID-12345)

Usage with an MCP client

This server uses stdio transport.

Example: Claude Desktop config

Add a server entry to your Claude Desktop MCP config (path varies by OS). Example:

{
  "mcpServers": {
    "wpscan": {
      "command": "node",
      "args": ["/path/to/wpscan-mcp/dist/index.js"],
      "env": {
        "WPSCAN_API_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

Then restart the client so it picks up the new MCP server.

Example: VSCode

Bun

Create .vscode/mcp.json:

{
  "servers": {
    "wpscan": {
      "type": "stdio",
      "command": "${workspaceFolder}/wpscan-mcp",
      "args": [],
      "env": {
        "WPSCAN_API_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

Node.js

{
  "servers": {
    "wpscan": {
      "type": "stdio",
      "command": "node",
      "args": ["${workspaceFolder}/dist/index.js"],
      "env": {
        "WPSCAN_API_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

Tool call examples

  • Plugin lookup:

{ "slug": "woocommerce" }
  • Theme lookup (specific version):

{ "slug": "astra", "version": "4.6.3" }
  • Core lookup (WordPress 6.4.2 → 642):

{ "version": 642 }
  • Vulnerability lookup:

{ "wpvdbId": "WPVDB-ID-12345" }

Available Tools

4 tools
wpscan_core_lookupB

Lookup WordPress core vulnerabilities in the WPScan API (optionally filter by version).

Inputs: version (required).

wpscan_lookup_vulnA

Lookup a vulnerability by its WPScan ID (e.g., WPVDB-ID-12345).

Inputs: wpvdbId (required).

wpscan_plugin_lookupB

Lookup a WordPress plugin in the WPScan API (by slug; optionally include a version).

Inputs: slug (required), version.

wpscan_theme_lookupB

Lookup a WordPress theme in the WPScan API (by slug; optionally include a version).

Inputs: slug (required), version.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool targets a distinct resource: core WordPress vulnerabilities, specific vulnerability by ID, plugin vulnerabilities, and theme vulnerabilities. There is no overlap, and agents can easily distinguish which tool to use.

    Naming Consistency4/5

    All tools share the 'wpscan_' prefix, but the naming patterns vary slightly: three use object_lookup (core, plugin, theme) while one uses lookup_vuln. This is a minor inconsistency but still readable and understandable.

    Tool Count5/5

    With only 4 tools, the server is well-scoped for querying WordPress vulnerabilities. Each tool covers a key area (core, plugins, themes, individual vulnerabilities), and the count is appropriate for the domain without unnecessary bloat.

    Completeness4/5

    The tools cover the main vulnerability lookup operations for WordPress. However, a search or list-all tool is missing, which could limit agents needing to browse vulnerabilities without a specific ID or slug. This is a minor gap.

    Maintenance

    ActivityActive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables querying the CVE-Search API to browse vendors and products, retrieve vulnerabilities by vendor/product or CVE ID, fetch the latest CVEs with CAPEC/CWE/CPE details, and check database update status via MCP tools.
      -
    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables querying the CVE-Search API to browse vendors, list products for a vendor, retrieve vulnerabilities for a vendor and product, fetch individual CVE records, get the latest CVEs with CAPEC/CWE/CPE expansions, and inspect current database version information. This gives MCP clients direct, structured access to public vulnerability data.
      -