Skip to main content

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

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.4.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.4-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcp_botnex-0.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 90a8bbb95351794e4f41921c7f7df50534da4d6b461586af295412620450f665
MD5 fd8ae4e8984ce9f106e5c44d155cf023
BLAKE2b-256 0f25a23ed0ad43f3ef5fa96b61f75c72b9e0677be8fbc19bdb87187f987125a7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mcp_botnex-0.1.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 afcc16ec02790f2b2fbd1ee942222e44029362c690c7fd3386a73f0e337a86ca
MD5 0e8b16abec93ce3676989f2fed60488d
BLAKE2b-256 6186e532023481c5bc8a3b377b668869537f82b8623bd067a5e579ce5e36db18

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 Sentry Error logging StatusPage Status page