Skip to main content

English · Русский (RU)

🧠 pentool-mcp-server

MCP server for Pentool — the local AI assistant for web pentesting

PyPI version Python License: AGPL-3.0 Install: uv Open in GitHub

A self-contained stdio JSON-RPC 2.0 server that brings AI capabilities to any MCP client — first of all to Pentool (BYO-LLM: picking checks, bypassing WAF, finding non-obvious endpoints). Installed with uv in one command.


Why a separate package

MCP is the open protocol for connecting LLM models to tools. pentool-mcp-server encapsulates Pentool's MCP layer as a reusable PyPI package: attached locally (stdio), no network, no ports, installs in seconds, no heavy dependencies.

🔗 Built for Pentool

This server is the MCP component of Pentool, a professional web-security testing terminal (Burp-compatible proxy, scanner, spider, intruder — all in a TUI). It powers Pentool's AI:

  • 🎯 picking the relevant scan checks for a concrete target;
  • 🛡 WAF bypass / payload suggestions;
  • 🕷 finding non-obvious endpoints during spider crawling.

Try the full stack: uv tool install "pentool[ai]" → pentool ai setup → pentool.

⚡ Quick start (uv)

# Install uv (if not present): https://docs.astral.sh/uv/
curl -LsSf https://astral.sh/uv/install.sh | sh

# Standalone — just the MCP server
uv tool install pentool-mcp-server
pentool-mcp-server --version

# Or together with Pentool and its AI extras
uv tool install "pentool[ai]"

Health check (stdio):

echo '{"jsonrpc":"2.0","id":1,"method":"ping"}' | pentool-mcp-server
# → {"jsonrpc": "2.0", "id": 1, "result": {"status": "ok"}}

uv is the standard install path — isolated environment, exactly how Pentool itself is installed. It keeps the server out of your system Python.

🚀 Deploy on a VPS / in a container

The server opens no ports and runs as a local subprocess — safe on any host. With uv it stays out of the system Python:

uv tool install pentool-mcp-server

Full user guide — docs/GUIDE.md. Russian — README.ru.

🧩 MCP tools

Tool Description
initialize MCP protocol handshake
tools/list List available tools
tools/call generate Generate an LLM answer for a task (task + payload)
tools/call health Readiness check (is a model installed)
tools/call configure Point to a GGUF model path
ping Process liveness

🔒 Security

  • No network by default. pentool-mcp-server listens only on stdio (stdin → stdout) inside the local process. External access is impossible — neither from other processes nor from another host.
  • Do not expose it over TCP/0.0.0.0 without auth. If run on a network port outwardly, anyone able to write to stdin/port gets tools/call generate (resource usage + sending target data to the LLM). MCP has no built-in authentication — bind to 127.0.0.1 and gate via a firewall.
  • Target privacy. Data (URL, payload) leaves the host only if an external LLM provider is connected; with a local GGUF model the traffic stays on the machine.

More — docs/GUIDE.md.

🗺 Roadmap

  • stdio JSON-RPC 2.0 server (initialize / tools/list / tools/call / ping)
  • generate, health, configure tools
  • real LLM runner (llama-cpp-python) in model.py
  • optional TCP mode with HMAC auth

📄 License

AGPL-3.0 — the same license as Pentool.


Support / bugs: issues · Designed for Pentool · User Guide

Metadata

Release files for pentool-mcp-server 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pentool-mcp-server 0.2.1
File Size Uploaded
pentool_mcp_server-0.2.1.tar.gz 13.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pentool-mcp-server 0.2.1
File Interpreter ABI Platform
pentool_mcp_server-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 26.1 kB

Release files / pentool_mcp_server-0.2.1.tar.gz

Download URL pentool_mcp_server-0.2.1.tar.gz
Size 13.6 kB
Tags Source
SHA-256 checksum
How to use checksums
637740a3c5c9653f36c9b69a45b36a236c186206c74c28dafdb368ede29cbe2a
BLAKE2b-256 checksum
How to use checksums
117318d4bb2a0910a8bf114899b35cfb4a04be12928037886cc10fb844324267
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / pentool_mcp_server-0.2.1-py3-none-any.whl

Download URL pentool_mcp_server-0.2.1-py3-none-any.whl
Size 12.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
387ad58c0b35d2999ac2535bebc0e088911cdf09f2866df20f8a8a1dde6bca42
BLAKE2b-256 checksum
How to use checksums
4a4fea1c799d7083471617dd9e563e352c61431ba4e69f778e10480dc6aa6897
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.2.2

1 release file

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page