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.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pentool_mcp_server-0.2.1.tar.gz | 13.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|