Skip to main content
Glama

Drive AI agents through the full offensive-security lifecycle — from a single web console or a chat message.

Install · Configure · Setup guides · Usage · Architecture


Pyntra orchestrates 100+ security tools over the Model Context Protocol (MCP), reasons about findings, builds attack chains, retrieves from a security knowledge base, and keeps every step auditable. You describe the objective in plain language; the agent plans, runs tools, correlates results, and reports back.

WARNING

Authorized use only. Pyntra is for penetration testing and security research on systems you own or are explicitly authorized to test. You are responsible for complying with all applicable laws and rules of engagement.

✨ Highlights

Feature

What it does

🧠

AI orchestration

Single-agent (ReAct) and multi-agent modes — Deep, Plan-Execute, and Supervisor — that plan, act, and self-correct.

🔌

Native MCP

A built-in MCP server plus first-class integration of external MCP tool servers.

🎭

Role-based testing

Predefined security roles with scoped prompts and restricted tool access (recon, web, cloud, CTF, forensics…).

🧩

Skills system

Modular skill packages for domains like SQLi, XSS, SSRF, IDOR, and API security.

📚

Knowledge base (RAG)

Vector retrieval over your own security knowledge, with local-embedding support.

🕸️

Attack-chain graphing

Visualize, score, and replay multi-step testing sequences.

🐚

Vuln & WebShell management

Track findings and manage remote sessions from the console.

🔎

Internet recon

Built-in Shodan and Censys search tools for asset discovery.

💬

Chat access

Optional Telegram, Slack, and Discord bots — test on the go, keep per-chat context.

🌗

Modern web console

Clean single-page dashboard with light/dark themes.

🏠

Runs fully local

Point it at Ollama for an offline setup, or use any OpenAI-compatible / Anthropic Claude endpoint.

Related MCP server: Kali Tools MCP Server

🧭 How it works

flowchart LR
    U([You]) -->|"objective in plain language"| A
    subgraph Pyntra
        A[AI Agent<br/>ReAct · Deep · Plan-Execute · Supervisor]
        A <-->|reason & retrieve| K[(Knowledge Base<br/>RAG)]
        A -->|invoke| M{MCP Layer}
        M --> T1[Recon<br/>shodan · censys · amass]
        M --> T2[Scan<br/>nmap · nuclei · ffuf]
        M --> T3[Exploit / Post<br/>sqlmap · metasploit]
        M --> Tn[100+ tools &<br/>external MCP servers]
    end
    A --> R[/Findings · Attack chain · Report/]
    R --> U
    A -. also reachable via .-> B[Telegram · Slack · Discord]

🚀 Installation

Prerequisites

Requirement

Notes

Go 1.25+

To build the server.

An LLM endpoint

A local Ollama install (recommended, fully offline), or any OpenAI-compatible / Claude API key.

Python 3 (optional)

Only needed for a few Python-based tools (e.g. shodan_search, censys_search).

Security CLIs (optional)

nmap, nuclei, ffuf, amass, … — install the ones you plan to use; the agent uses whatever is on PATH.

1 — Clone

git clone https://github.com/prnvv2/pyntra.git
cd pyntra
# Install Ollama from https://ollama.com, then pull a model:
ollama pull llama3.1:8b

Set openai.model: llama3.1:8b in config.yaml (the base_url already points at Ollama by default).

3 — Build & run

go build -o pyntra ./cmd/server
./pyntra                     # Windows: .\pyntra.exe

Open the console at http://localhost:8080 and log in with the password from config.yaml.

IMPORTANT

Change the default password (Root@1234) before exposing Pyntra to any network. Edit auth.password in config.yaml or update it from the Settings page.

  1. Install Ollama and pull a model (ollama pull llama3.1:8b).

  2. Leave openai.base_url: http://localhost:11434/v1 and openai.api_key: ollama in config.yaml.

  3. Set openai.model to your pulled model.

  4. go build -o pyntra ./cmd/server && ./pyntra

See OLLAMA_QUICKSTART.md for details.

⚙️ Configuration

Everything lives in config.yaml and most of it is editable from the Settings page in the web console.

Section

Controls

server

Listen host and port (default 0.0.0.0:8080).

auth

Web login password and session length — change Root@1234.

openai

LLM provider (openai | claude), base_url, api_key, model.

agent

Max ReAct iterations before the agent summarizes.

multi_agent

Enable multi-agent mode and pick the default orchestration.

knowledge

Embedding model and RAG retrieval settings.

bots

Telegram / Slack / Discord chat bots.

mcp

Built-in MCP server and external MCP tool servers.

roles_dir · skills_dir · tools_dir · agents_dir

Where roles, skills, tools, and sub-agents are loaded from.

🔑 Setup guides

LLM backend (Ollama / OpenAI / Claude)

openai:
  provider: openai
  base_url: http://localhost:11434/v1
  api_key: ollama          # any non-empty value
  model: llama3.1:8b
openai:
  provider: openai
  base_url: https://api.openai.com/v1
  api_key: sk-...
  model: gpt-4o

Any OpenAI-protocol endpoint works — just point base_url at it.

openai:
  provider: claude          # bridges to the Anthropic Messages API
  base_url: https://api.anthropic.com
  api_key: sk-ant-...
  model: claude-sonnet-4

Recon API keys (Shodan / Censys)

The shodan_search and censys_search tools read credentials from environment variables at launch (nothing is written to disk):

# Shodan — https://account.shodan.io
export SHODAN_API_KEY="your-key"

# Censys — https://search.censys.io/account/api
export CENSYS_API_ID="your-id"
export CENSYS_API_SECRET="your-secret"

./pyntra

Both tools are enabled and attached to the Information Collection role out of the box.

Chat bots (Telegram / Slack / Discord)

Enable one or more bots in the bots: block of config.yaml. Each bot keeps a per-chat conversation — send /new to reset it, /help for commands.

  1. Message @BotFather/newbot → copy the token.

  2. Configure:

    bots:
      telegram:
        enabled: true
        token: "123456:ABC-DEF..."
        role: ""          # optional role name from roles/
  3. Restart Pyntra and DM your bot.

  1. Create an app at api.slack.com/apps.

  2. Enable Socket Mode → generate an app-level token (xapp-…).

  3. Add bot scopes (chat:write, app_mentions:read, im:history) → install → copy the bot token (xoxb-…).

  4. Subscribe to message.im / app_mention events.

  5. Configure:

    bots:
      slack:
        enabled: true
        app_token: "xapp-..."
        bot_token: "xoxb-..."
  1. Create an app at the Discord Developer PortalBot → copy the token.

  2. Enable the Message Content Intent under the bot settings.

  3. Invite the bot to your server with the Send Messages permission.

  4. Configure:

    bots:
      discord:
        enabled: true
        token: "your-bot-token"

🧑‍💻 Usage

  1. Pick a role (e.g. Information Collection, Web Application Scanning, CTF) to scope the agent's prompt and tools — or use the default.

  2. Describe the objective in the chat: "Enumerate subdomains and open ports for example.com, then flag anything exploitable."

  3. Watch it work — the agent plans, calls tools over MCP, and streams progress.

  4. Review findings, the generated attack chain, and recorded vulnerabilities in the console.

  5. Iterate — refine in the same conversation; context and history are preserved.

  • Multi-agent modes (Deep / Plan-Execute / Supervisor) handle larger objectives by decomposing them across specialized sub-agents.

  • Skills and the knowledge base are pulled in automatically to ground the agent in domain techniques and your own notes.

  • Batch tasks let you queue many targets and run them on a schedule.

🧰 Tool catalog

Tools are simple YAML definitions in tools/; the agent invokes them over MCP. Highlights:

Category

Tools (examples)

Recon / OSINT

shodan_search, censys_search, amass, subfinder, dnsenum, httpx

Web

ffuf, feroxbuster, dalfox, katana, arjun, dirsearch

Network

nmap, masscan, rustscan, enum4linux-ng, arp-scan

Exploit / Post

sqlmap, metasploit, dotdotpwn, bloodhound

Cloud / Container

checkov, clair, docker-bench-security, cloudmapper, falco

Binary / Forensics

angr, binwalk, checksec, exiftool, fcrackzip

Add your own by dropping a YAML file in tools/, or plug in any external MCP server from the Settings → MCP page.

🧱 Architecture

flowchart TD
    subgraph Client
        W[Web Console — SPA]
        BOT[Telegram · Slack · Discord]
    end
    W <-->|HTTP + WebSocket| API[Gin API]
    BOT -->|long-poll / socket / gateway| API
    API --> ORCH[Agent Orchestration<br/>single & multi-agent]
    ORCH --> RSK[Roles · Skills · Knowledge RAG · Attack-chain builder]
    ORCH --> MCP[MCP Layer<br/>built-in server + external tool servers]
    MCP --> TOOLS[(100+ security tools)]
    API --> DB[(SQLite<br/>conversations · vulns · webshells · chains)]

Stack: Go · Gin · Gorilla WebSocket · CloudWeGo Eino · Model Context Protocol · modernc SQLite · Zap · discordgo.

🗺️ Roadmap

  • Redesigned dashboard and views on the new design system

  • Scope / authorization guardrails (target allowlist, engagement scope)

  • Multi-user accounts, roles, and audit log

  • Exportable pentest report generator (PDF / HTML)

  • Local model eval & benchmark panel

🤝 Contributing

Issues and pull requests are welcome. Please keep contributions focused and include a clear description of the change.

📄 License

Licensed under the Apache License 2.0 — see LICENSE.

Pyntra is a derivative work based on an upstream Apache-2.0 project; see NOTICE for attribution and a summary of modifications.

Related MCP Connectors

Related MCP Servers

  • 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.
    97
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Integrates 7 security tools (nmap, nuclei, dirsearch, sqlmap, hydra, Acunetix, Metasploit) via MCP protocol for AI-assisted penetration testing with enterprise-grade safety features.
    1
    MIT
  • A
    license
    C
    quality
    C
    maintenance
    Enables AI agents to orchestrate 25+ security tools for penetration testing through natural language, automating scans, vulnerability detection, and report generation.
    31
    MIT