Skip to main content

MCP Server for BotNEX - VAPT scans, reports and CVE intelligence for AI clients

Project description

mcp-botnex

MCP (Model Context Protocol) server for BotNEX — exposes VAPT scans, reports, and CVE intelligence to AI clients such as Cursor and the NEXA platform. It is a thin, secure bridge to the existing botnex-backend REST API and authenticates with a user-scoped API token (no JWT).

Features

  • 8 tools for scan lifecycle, reports, and CVE lookup
  • 6 resources (botnex://…) for @-mentionable context in Cursor
  • Dual transport: stdio (Cursor / Claude Desktop) and HTTP (NEXA / Docker)
  • API-token auth mapped per-user on the backend — RBAC enforced server-side
  • AI-friendly formatters (severity-first findings, normalized CVE output)

Installation

pip install mcp-botnex

Authentication

  1. Log in to the BotNEX UI.
  2. Create an API token: API Tokens → Create (calls POST /api/v1/users/api-tokens/).
  3. Copy the raw token once and provide it to the MCP server via BOTNEX_API_KEY.

The token is sent as Authorization: Bearer <token> on every backend request. The backend resolves it to your user account and enforces all authorization and per-user data scoping.

Configuration

Variable Required Default Description
BOTNEX_BACKEND_URL Yes Backend origin, e.g. https://botnex.example.com (no /api/v1)
BOTNEX_API_KEY Yes User API token
BOTNEX_MCP_SERVER_PORT No 8001 HTTP mode port
BOTNEX_LOG_LEVEL No INFO Log level
BOTNEX_BACKEND_TIMEOUT No 60.0 Backend HTTP timeout (s)
BOTNEX_FINDINGS_PAGE_SIZE No 50 Default findings page size
BOTNEX_SCAN_PAGE_SIZE No 25 Default page size for scan list resources
BOTNEX_CVE_PAGE_SIZE No 20 Default page size for botnex://cve/latest

See .env.example for the full list.

Usage — Cursor (stdio)

Add to your Cursor MCP config:

{
  "mcpServers": {
    "botnex": {
      "command": "mcp-botnex",
      "env": {
        "BOTNEX_BACKEND_URL": "https://botnex.example.com",
        "BOTNEX_API_KEY": "your-api-token"
      }
    }
  }
}

Usage — HTTP (NEXA / Docker)

mcp-botnex-http
# or
uvicorn botnex_mcp.http_server:app --host 0.0.0.0 --port 8001

Endpoints: GET /mcp/tools, POST /mcp/tools/call, GET /mcp/resources, POST /mcp/resources/read, GET /health.

Tools

Tool Description
list_scans List the user's scans and statuses
trigger_scan Start a security or asset-discovery scan
get_scan_findings Paginated, severity-ordered findings for a scan
get_scan_summary Aggregated dashboard summary
list_scheduled_scans Upcoming scheduled scans
generate_report Generate a PDF/CSV/DOCX report
search_cves Full-text CVE search
get_cve_by_id CVE detail by id

Resources

All list resources are paginated and field-slimmed to keep responses small and the LLM context cheap. Pagination is controlled with ?page= and ?size= query parameters; size is capped at 100.

URI Paginated Description
botnex://scans/all Yes Slim list of the user's scans
botnex://scans/summary Aggregated severity counts and risk metrics
botnex://scans/scheduled Yes Upcoming scheduled scans
botnex://scan/{scan_id}/findings Yes Severity-ordered findings for a scan
botnex://cve/{cve_id} Compact CVE summary
botnex://cve/latest Yes Most recently published CVEs

Examples:

  • botnex://scans/all?page=2&size=20
  • botnex://scan/<scan_id>/findings?page=2&size=25
  • botnex://cve/latest?page=1&size=10

Paginated resources return:

{"items": [...], "page": 2, "size": 20, "total": 47, "pages": 3, "has_more": true}

Development

pip install -e ".[dev]"
pytest

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_botnex-0.1.3.tar.gz (31.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_botnex-0.1.3-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

Details for the file mcp_botnex-0.1.3.tar.gz.

File metadata

  • Download URL: mcp_botnex-0.1.3.tar.gz
  • Upload date:
  • Size: 31.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for mcp_botnex-0.1.3.tar.gz
Algorithm Hash digest
SHA256 6405b800d485a60da4dd50d5b51ce4ef7a9b0804cd71b1756c5ff51fb437a739
MD5 ad3dde6687bf2511b141f119db2841ae
BLAKE2b-256 600d6f46b4643b96cb4134e378cf510c720d63a67246555dc90d30910f114d00

See more details on using hashes here.

File details

Details for the file mcp_botnex-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: mcp_botnex-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 33.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for mcp_botnex-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4406eaa2600c8e07aabd174bb74d134334d786e58e81617acb6defcfbffeec81
MD5 04c76e52625a939b2967384c10b46f2e
BLAKE2b-256 dab97086a58c78780dd28f0b6087830fd6193c99519644824635a05c7ab75ed1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page