htb-mcp

htb-mcp

Enables assistants to interact with Hack The Box by wrapping HTB API operations as MCP tools for querying and operating HTB resources.

Category
Visit Server

README

htb-mcp

Python License MCP

htb-mcp is an MCP server for Hack The Box.
It wraps HTB API operations as MCP tools so assistants can query and operate HTB directly.

Features

  • MCP over stdio (works with common local MCP clients)
  • Structured JSON responses from all tools
  • Environment-based auth/config (no credential files required)
  • API-focused actions for users, machines, challenges, VPN metadata, prolabs, seasons, badges, sherlocks, pwnbox

Requirements

  • Python 3.10+
  • Hack The Box App Token

Create your HTB App Token in:

  • https://app.hackthebox.com/account-settings

Installation

cd /path/to/htb-mcp
python3.10 -m venv .venv
source .venv/bin/activate
pip install -e .

For development:

pip install -e ".[dev]"

Environment Variables

Required:

  • HTB_APP_TOKEN: HTB App Token

Optional:

  • HTB_API_BASE_URL: default https://labs.hackthebox.com/api/
  • HTB_USER_AGENT: default htb-mcp/<version>
  • HTB_VERIFY_SSL: true|false|1|0|yes|no (default true)
  • HTB_HTTP_PROXY
  • HTB_HTTPS_PROXY

MCP Configuration

Option A: installed command (htb-mcp)

{
  "mcpServers": {
    "htb": {
      "command": "htb-mcp",
      "env": {
        "HTB_APP_TOKEN": "YOUR_HTB_APP_TOKEN"
      }
    }
  }
}

Option B: run module directly from source

{
  "mcpServers": {
    "htb": {
      "command": "python3.10",
      "args": ["-m", "htb_mcp"],
      "env": {
        "PYTHONPATH": "/absolute/path/to/htb-mcp/src",
        "HTB_APP_TOKEN": "YOUR_HTB_APP_TOKEN"
      }
    }
  }
}

Running Manually

HTB_APP_TOKEN=YOUR_HTB_APP_TOKEN htb-mcp

Response Envelope

All tool responses follow one envelope:

Success:

{
  "ok": true,
  "data": {}
}

Error:

{
  "ok": false,
  "error": {
    "type": "ErrorType",
    "message": "Human readable message",
    "details": {}
  }
}

Tool Catalog

User:

  • htb_user_get
  • htb_user_activity
  • htb_user_respect

Machine:

  • htb_machine_list
  • htb_machine_get
  • htb_machine_active
  • htb_machine_start
  • htb_machine_stop
  • htb_machine_reset
  • htb_machine_extend
  • htb_machine_submit_flag
  • htb_machine_rate_flag

Challenge:

  • htb_challenge_list
  • htb_challenge_search
  • htb_challenge_get
  • htb_challenge_submit
  • htb_challenge_instance_start
  • htb_challenge_instance_stop
  • htb_challenge_instance_status

Prolabs and Certificates:

  • htb_prolabs_list
  • htb_prolabs_get
  • htb_prolabs_submit
  • htb_certificate_list

VPN:

  • htb_vpn_servers_list
  • htb_vpn_accessible_list
  • htb_vpn_switch
  • htb_vpn_active_connections

Pwnbox:

  • htb_pwnbox_status
  • htb_pwnbox_terminate

Sherlocks:

  • htb_sherlock_categories
  • htb_sherlock_list

Badges:

  • htb_badges_list

Seasons:

  • htb_season_list
  • htb_season_details
  • htb_season_current_machines

Development

Run tests:

PYTHONPATH=src python3.10 -m pytest -q

Quick syntax check:

PYTHONPATH=src python3.10 -m py_compile src/htb_mcp/*.py src/htb_mcp/htbapi/*.py

Project Layout

htb-mcp/
  src/htb_mcp/
    server.py
    tools.py
    config.py
    client_factory.py
    serialization.py
    htbapi/
  tests/

Notes

  • This project depends on HTB API behavior and can be affected by HTB-side changes.
  • Keep your HTB_APP_TOKEN secret.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured