pyntra
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pyntrascan 10.0.0.5 for open ports and services"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
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 |
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. |
Security CLIs (optional) |
|
1 — Clone
git clone https://github.com/prnvv2/pyntra.git
cd pyntra2 — Start a local model (recommended)
# Install Ollama from https://ollama.com, then pull a model:
ollama pull llama3.1:8bSet 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.exeOpen the console at http://localhost:8080 and log in with the password from config.yaml.
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.
Install Ollama and pull a model (
ollama pull llama3.1:8b).Leave
openai.base_url: http://localhost:11434/v1andopenai.api_key: ollamainconfig.yaml.Set
openai.modelto your pulled model.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 |
| Listen host and port (default |
| Web login password and session length — change |
| LLM |
| Max ReAct iterations before the agent summarizes. |
| Enable multi-agent mode and pick the default orchestration. |
| Embedding model and RAG retrieval settings. |
| Telegram / Slack / Discord chat bots. |
| Built-in MCP server and external MCP tool servers. |
| 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:8bopenai:
provider: openai
base_url: https://api.openai.com/v1
api_key: sk-...
model: gpt-4oAny 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-4Recon 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"
./pyntraBoth 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.
Message @BotFather →
/newbot→ copy the token.Configure:
bots: telegram: enabled: true token: "123456:ABC-DEF..." role: "" # optional role name from roles/Restart Pyntra and DM your bot.
Create an app at api.slack.com/apps.
Enable Socket Mode → generate an app-level token (
xapp-…).Add bot scopes (
chat:write,app_mentions:read,im:history) → install → copy the bot token (xoxb-…).Subscribe to
message.im/app_mentionevents.Configure:
bots: slack: enabled: true app_token: "xapp-..." bot_token: "xoxb-..."
Create an app at the Discord Developer Portal → Bot → copy the token.
Enable the Message Content Intent under the bot settings.
Invite the bot to your server with the Send Messages permission.
Configure:
bots: discord: enabled: true token: "your-bot-token"
🧑💻 Usage
Pick a role (e.g. Information Collection, Web Application Scanning, CTF) to scope the agent's prompt and tools — or use the default.
Describe the objective in the chat: "Enumerate subdomains and open ports for example.com, then flag anything exploitable."
Watch it work — the agent plans, calls tools over MCP, and streams progress.
Review findings, the generated attack chain, and recorded vulnerabilities in the console.
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 |
|
Web |
|
Network |
|
Exploit / Post |
|
Cloud / Container |
|
Binary / Forensics |
|
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.
This server cannot be deployed
Maintenance
Related MCP Connectors
Compliance frameworks (SOC 2, ISO 27001, CMMC, NIST, more) delivered to AI agents as MCP tools.
AI-security knowledge as MCP: standards-mapped tools (OWASP, NIST, MITRE) for AI agents.
Hyperion — MCP tool marketplace for AI agents: web, OSINT, security, research via one key.
Find, vet, and run MCP tools through a secure audited gateway with prompt-injection risk scoring
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceAn 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-
- AlicenseNot gradedqualityDmaintenanceIntegrates 7 security tools (nmap, nuclei, dirsearch, sqlmap, hydra, Acunetix, Metasploit) via MCP protocol for AI-assisted penetration testing with enterprise-grade safety features.1MIT
- AlicenseNot gradedqualityCmaintenanceTurns any MCP-capable AI agent into a professional penetration testing platform with 150+ security tools, adaptive async tasks, and crash-proof concurrency.1MIT
- AlicenseCqualityCmaintenanceEnables AI agents to orchestrate 25+ security tools for penetration testing through natural language, automating scans, vulnerability detection, and report generation.31MIT