Sign inSign up

hackerdogs/pentest-agent-mcp

By hackerdogs

•Updated 3 months ago

Pentest Agent MCP Server

Image
0

640

hackerdogs/pentest-agent-mcp repository overview

Hackerdogs
hackerdogs ⁠

⁠Pentest Agent MCP Server

MCP server wrapper for PentestAgent MCP⁠ — an all-in-one offensive security toolbox and AI-driven red team assistant.

⁠What is Pentest Agent?

PentestAgent MCP is a comprehensive offensive security framework built on the Model Context Protocol that acts as an AI-powered Red Team assistant. It integrates a broad suite of penetration testing capabilities — including reconnaissance, vulnerability scanning, exploitation guidance, and post-exploitation workflows — into a single conversational interface. See Iam0TI/PentestAgent-MCP⁠ for full documentation.

No API keys required — PentestAgent runs locally inside the Docker container. Use only on systems you own or have explicit written permission to test.

Tools:

  • pentest_agent_info — Return basic info / status for PentestAgent MCP.

⁠Tools Reference

⁠Example Prompts

Here are example prompts you can use with Claude (or any MCP client) when this tool is connected:

  • "Perform a reconnaissance scan on 192.168.1.0/24 and enumerate live hosts and open ports."
  • "Run an automated vulnerability assessment against my lab environment at 10.0.0.5."
  • "Generate a penetration testing plan for a web application at https://testapp.internal⁠."
  • "Help me identify and exploit a misconfigured SMB share on 10.0.0.10 (authorized lab)."
  • "Enumerate subdomains and virtual hosts for my authorized target domain example-lab.com."
  • "Summarize the attack surface of the hosts discovered during this engagement and suggest next steps."

⁠Deploy

docker-compose up -d
⁠Docker Run (stdio mode)
docker run -i --rm hackerdogs/pentest-agent-mcp:latest
⁠Docker Run (HTTP streamable mode)
docker run -d -p 8443:8443 \
  -e MCP_TRANSPORT=streamable-http \
  -e MCP_PORT=8443 \
  hackerdogs/pentest-agent-mcp:latest

⁠MCP Client Configuration

⁠Stdio mode (default)

Add to your Claude Desktop or Cursor MCP config:

{
  "mcpServers": {
    "pentest-agent-mcp": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "MCP_TRANSPORT", "hackerdogs/pentest-agent-mcp:latest"],
      "env": {
        "MCP_TRANSPORT": "stdio"
      }
    }
  }
}
⁠HTTP mode (streamable-http)

First, start the server using Docker Compose or docker run with HTTP mode (see Deploy⁠ above), then point your MCP client at the running server:

{
  "mcpServers": {
    "pentest-agent-mcp": {
      "url": "http://localhost:8443/mcp"
    }
  }
}

When to use HTTP mode: HTTP mode is ideal for shared/remote deployments, multi-user setups, and Hackerdogs⁠ scheduled prompts. The server runs as a long-lived process and accepts connections from multiple MCP clients concurrently.

⁠Environment Variables

VariableDefaultDescription
MCP_TRANSPORTstdioTransport mode: stdio or streamable-http
MCP_PORT8443HTTP port (only used with streamable-http)

⁠Installing in Hackerdogs

The fastest way to get started is through Hackerdogs⁠:

  1. Log in to your Hackerdogs account.
  2. Go to the Tools Catalog.
  3. Search for the tool by name (e.g. "nuclei", "naabu", "julius").
  4. Expand the tool card and click Install — you're ready to go.

Give it a couple of minutes to go live. Then start querying by asking Hackerdogs to use the tool explicitly (e.g. "Use naabu to scan example.com"). If you don't specify, Hackerdogs will automatically choose the best tool for the job — it may choose this one on its own.

  1. Vendor API key required? Add your key in the config environment variable field before clicking Install. Your key will be encrypted at rest.
  2. Enable / Disable the tool anytime from the Enabled Tools page.
  3. Need to update a key or parameter? Go to My Tools → toggle Show Decrypted Values → edit → Save.

Want to contribute or chat with the team? Join our Discord⁠.

⁠Build

docker build -t hackerdogs/pentest-agent-mcp:latest .

⁠Testing

⁠Automated tests
./test.sh
⁠Test directly with Docker

1. Start the server in HTTP mode:

docker run -d --rm --name pentest-agent-mcp-test -p 8443:8443 \
  -e MCP_TRANSPORT=streamable-http \
  hackerdogs/pentest-agent-mcp:latest

2. Initialize the MCP session:

SESSION_ID=$(curl -s -D - -X POST http://localhost:8443/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1"}}}' \
  2>&1 | grep -i mcp-session-id | awk '{print $2}' | tr -d '\r\n')

curl -s -X POST http://localhost:8443/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: $SESSION_ID" \
  -d '{"jsonrpc":"2.0","method":"notifications/initialized"}'

3. Call a tool:

curl -s -X POST http://localhost:8443/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: $SESSION_ID" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"pentest_agent_info","arguments":{}}}'

4. Clean up:

docker stop pentest-agent-mcp-test

⁠Running the tool directly (bypassing MCP)

You can run the PentestAgent MCP server in the same container by overriding the entrypoint without starting the MCP wrapper.

Show help:

docker run -i --rm --entrypoint python hackerdogs/pentest-agent-mcp:latest mcp_server.py --help

Tag summary

Content type

Image

Digest

sha256:ec24b59b6…

Size

74.8 MB

Last updated

3 months ago

docker pull hackerdogs/pentest-agent-mcp