Skip to main content
Glama
DrXOps
by DrXOps

한국어 · Русский (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

자체 포함된 stdio JSON-RPC 2.0 서버로, 모든 MCP 클라이언트에 AI 기능을 제공합니다 — 특히 Pentool을 위해 (BYO-LLM: 체크 항목 선택, WAF 우회, 비명시적 엔드포인트 찾기). uv로 한 번의 명령으로 설치됩니다.


왜 별도 패키지인가

MCP는 LLM 모델을 도구에 연결하는 개방형 프로토콜입니다. pentool-mcp-server는 Pentool의 MCP 계층을 재사용 가능한 PyPI 패키지로 캡슐화합니다: 로컬로 연결(stdio), 네트워크 없음, 포트 없음, 몇 초 만에 설치, 무거운 의존성 없음.

Related MCP server: pentestMCP

🔗 Pentool을 위해 제작됨

이 서버는 Pentool의 MCP 구성 요소로, 전문 웹 보안 테스트 터미널(Burp 호환 프록시, 스캐너, 스파이더, 인트루더 — 모두 TUI로 제공)입니다. Pentool의 AI를 구동합니다:

  • 🎯 구체적인 대상에 대한 관련 스캔 체크 선택;

  • 🛡 WAF 우회 / 페이로드 제안;

  • 🕷 스파이더 크롤링 중 비명시적 엔드포인트 찾기.

전체 스택 사용해보기: uv tool install "pentool[ai]" → pentool ai setup → pentool.

⚡ 빠른 시작 (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]"

헬스 체크 (stdio):

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

uv는 표준 설치 경로입니다 — 격리된 환경, Pentool 자체가 설치되는 방식과 정확히 같습니다. 서버를 시스템 Python에서 분리합니다.

🚀 VPS/컨테이너에 배포

서버는 포트를 열지 않으며 로컬 서브프로세스로 실행됩니다 — 모든 호스트에서 안전합니다. uv를 사용하면 시스템 Python에서 분리됩니다:

uv tool install pentool-mcp-server

전체 사용자 가이드 — docs/GUIDE.md. 러시아어 — README.ru.

🧩 MCP 도구

Tool

Description

initialize

MCP 프로토콜 핸드셰이크

tools/list

사용 가능한 도구 목록

tools/call generate

작업에 대한 LLM 답변 생성 (task + payload)

tools/call health

준비 상태 확인 (모델이 설치되었는지)

tools/call configure

GGUF 모델 경로 지정

ping

프로세스 활성 확인

🔒 보안

  • 기본적으로 네트워크 없음. pentool-mcp-server는 로컬 프로세스 내에서 stdio(stdin → stdout)만 수신합니다. 외부 접근은 불가능합니다 — 다른 프로세스나 다른 호스트에서도.

  • 인증 없이 TCP/0.0.0.0으로 노출하지 마세요. 외부에서 네트워크 포트로 실행하면 stdin/포트에 쓸 수 있는 모든 사람이 tools/call generate(리소스 사용 + 대상 데이터를 LLM으로 전송)를 사용할 수 있습니다. MCP는 내장 인증이 없습니다 — 127.0.0.1에 바인딩하고 방화벽으로 보호하세요.

  • 대상 개인정보 보호. 데이터(URL, 페이로드)는 외부 LLM 제공자가 연결된 경우에만 호스트를 떠납니다; 로컬 GGUF 모델을 사용하면 트래픽이 머신에 남아 있습니다.

더 보기 — docs/GUIDE.md.

🗺 로드맵

  • stdio JSON-RPC 2.0 서버 (initialize / tools/list / tools/call / ping)

  • generate, health, configure 도구

  • model.py의 실제 LLM 실행기 (llama-cpp-python)

  • HMAC 인증을 포함한 선택적 TCP 모드

📄 라이선스

AGPL-3.0 — Pentool과 동일한 라이선스.


지원/버그: issues · Pentool을 위해 설계됨 · 사용자 가이드

Available Tools

3 tools
configureC

Принять параметры конфигурации сервера (напр. путь модели).

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoПуть к GGUF-файлу модели

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It only says 'accept parameters' without explaining side effects, persistence, validation, or restart requirements. This is insufficient for a configuration tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It is concise and to the point, though it sacrifices valuable behavioral detail for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one optional parameter, no output schema, and no annotations, the description still leaves key context missing: what configuration does, whether it is required for sibling tools, and what happens after invocation. It is too sparse to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description's mention of 'model path' merely mirrors the schema's own description for the 'model' parameter. No additional meaning is added, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it accepts server configuration parameters with an example (model path), which clearly identifies the tool's purpose. It is distinct from siblings 'generate' and 'health', though the verb 'accept' is somewhat passive and the exact effect is implied rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, nor are prerequisites or ordering requirements (e.g., configure before generate) mentioned. The description implies usage context but gives no explicit when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generateB

Сгенерировать ответ LLM по задаче. payload — строка запроса (данные цели), model — путь к GGUF-файлу модели (необязательно). При отсутствии модели вернёт ошибку setup required.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesИмя задачи (напр. choose_checks, crawl_endpoints)
modelNoПуть к GGUF-файлу модели
payloadYesДанные цели / контекст (JSON-строка)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the model parameter is optional and that omitting it causes an error ('setup required'), which is useful behavioral insight. However, it does not mention whether the tool is read-only or has side effects (e.g., logging), or any rate limits or auth requirements. The behavior is partially transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise at two sentences, front-loading the main purpose. Every phrase adds value, though the error clause could be more specific (e.g., 'returns an error' instead of 'вернёт ошибку'). No extraneous text, well-structured for quick parsing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should clarify what the tool returns (e.g., generated response text). It does not, leaving a gap. With only 3 params all documented in schema, the description is adequate for basic use but incomplete for understanding return behavior or error responses beyond the 'setup required' case.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds some value by explaining that model is optional and payload is the query data. It does not elaborate on 'task' beyond the example values in schema, and does not clarify the format of payload (JSON string) beyond the schema. As coverage is high, baseline 3 is appropriate given the minimal added context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool generates an LLM response for a task, specifying the payload as the query string and model as an optional GGUF file path. It clearly identifies the verb (генерировать) and resource (ответ LLM по задаче), and distinguishes from siblings like 'health' and 'configure' by its focus on generation rather than status checks or setup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when an LLM response is needed for a task, and mentions that missing model leads to a 'setup required' error. However, it does not explicitly state when to use this vs. 'configure' (e.g., to set the model first) or when not to use it (e.g., if no model is configured). The sibling tools are named but no direct comparison is made.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

healthB

Проверка готовности: вернёт статус, установлена ли модель.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It indicates the tool is read-only (returns status) and non-destructive, but does not disclose error behavior, return format details, or potential side effects. The description is minimally transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence that is front-loaded and contains no redundant information. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, the description is mostly adequate for a health check. However, it lacks specification of the return value format (e.g., boolean, JSON) and does not mention any edge cases. With no output schema, more detail would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and schema coverage is 100% (trivially). Per the baseline rule for 0 parameters, the description does not need to add parameter semantics, and it appropriately omits any.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs a readiness check and returns whether the model is installed. The verb 'Проверка готовности' (readiness check) and resource 'model' are specific. However, it does not explicitly differentiate from sibling tools 'generate' and 'configure', though the purpose is distinct enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of preconditions, context, or scenarios where 'health' is appropriate compared to 'generate' or 'configure'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.1.0
    • First observedconfigure
    • First observedgenerate
    • First observedhealth

TDQS

A3.5/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: 'generate' for LLM inference, 'health' for readiness checking, and 'configure' for setting parameters. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tool names are simple, lowercase verbs that accurately describe their action ('generate', 'health', 'configure'). The pattern is uniform and predictable.

Tool Count4/5

With 3 tools, the count is appropriate for a minimal MCP server focused on LLM inference. It could potentially benefit from a status tool or a list-models tool, but the current set is sufficient for its core purpose.

Completeness3/5

The tool surface covers basic lifecycle: configure (setup), health (readiness), and generate (infer). However, there is no tool for cancelling generation, listing available models, or inspecting current configuration, which are notable gaps for a production server.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    D
    quality
    D
    maintenance
    A Model Context Protocol server that integrates essential penetration testing tools (Nmap, Gobuster, Nikto, John the Ripper) into a unified natural language interface, allowing security professionals to execute and chain multiple tools through conversational commands.
    9
    98 npm
    149
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that exposes over 20 standard penetration testing utilities, such as Nmap, SQLMap, and OWASP ZAP, as callable tools for AI agents. It enables natural language control over complex security workflows for automated and interactive penetration testing.
    109
    -