English · Русский (RU)
🧠 pentool-mcp-server
MCP server for Pentool — the local AI assistant for web pentesting
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-serverlistens 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 to127.0.0.1and 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,configuretools - 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.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pentool_mcp_server-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Release files / pentool_mcp_server-0.2.2-py3-none-any.whl
| Download URL | pentool_mcp_server-0.2.2-py3-none-any.whl |
|---|---|
| Size | 13.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ef16bf22acea3ca16f8383d3fdb9f3eda463089b74f678d64d4d524b4c05d348
|
|
BLAKE2b-256 checksum How to use checksums |
b74b5ce36ee3070786497d34f22e061ce18c9a7e84154a8e199f7965565673b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|