The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Cybersecurity MCP Server listing page.
Modern Large Language Models (LLMs) operate in sandboxed, non-deterministic execution environments devoid of native raw-socket access, packet crafting abilities, and live network reconnaissance primitives. When tasked with auditing an attack surface, AI agents are fundamentally constrained by static training cutoff boundaries and an inability to query live network interfaces.
AynOps bridges this operational divide. Built on top of the Model Context Protocol (MCP) specification using the FastMCP framework, AynOps exposes an extensible suite of deterministic cybersecurity reconnaissance tools directly to LLM agents (such as Cursor, VS Code, Claude Desktop, and custom MCP clients) over a standard JSON-RPC 2.0 stdio transport.
tools/signals/) designed for direct ingestion by LLM reasoning layers.threat_analysis) for automated threat modeling workflows.AynOps is engineered from the ground up for cybersecurity engineers, red/blue teams, and security researchers seeking deterministic automation:
crt.sh append-only Merkle trees for passive subdomain and wildcard SSL discovery.v=spf1), DKIM selectors, and DMARC enforcement policies (p=reject/quarantine/none) with quantitative scoring (0–100).Server, X-Powered-By, CDN markers), Set-Cookie cookie names, <meta name="generator"> tag parsing, and HTML/asset-path substring matching — returning structured detections with confidence scores (0–100) and evidence strings.Dockerfile with pre-installed Nmap and Python 3.12 for zero-dependency stdio deployment.AynOps provides 17 specialized reconnaissance tools alongside structured MCP prompt templates.
full_recon)The full_recon tool orchestrates a 3-wave concurrent pipeline designed to minimize scan latency while preserving dependency order across tools:
full_recon)Documentation status: Detailed reference pages are currently available for tools marked Available. Tools marked Pending are implemented and included in the inventory, but their dedicated documentation pages are not yet available.
| Tool | Parameters | Underlying Mechanics / Standards | Telemetry Output | Docs |
|---|---|---|---|---|
whois_lookup | domain: str | RFC 3912 socket lookup via python-whois | Registrar metadata, registration/update/expiry timestamps, nameservers, registrant organization, and ICANN domain status codes. | Available |
dns_enumeration | domain: str | Multi-record DNS resolver (dnspython) + concurrent dictionary brute-forcing | Core Resource Records (A, AAAA, MX, NS, TXT, CNAME, SOA, CAA), enterprise SRV records (_sip, _ldap, _xmpp-server, _kerberos, _autodiscover), and active subdomains. | Available |
port_scan | target: strscan_type: strtimeout: int | Nmap integration via python-nmap with configurable profiles | Port state (open/filtered), service banner detection (-sV), OS fingerprinting (-O), full-port scanning (-p-), and Nmap Scripting Engine vulnerability checks (--script vuln). | Available |
ssl_inspect | domain: strport: int = 443 | Direct TLS handshake & X.509 certificate parsing via cryptography | Certificate subject, issuer, serial number, validity window, days to expiration, Subject Alternative Names (SANs), negotiated cipher suite, and TLS protocol version; wildcard and self-signed detection, public key algorithm (RSA, ECDSA, Ed25519, …), TLS and cipher strength classification (Strong/Good/Weak), weak-version and weak-cipher flags, certificate status (Healthy/Expiring Soon/Expired), an overall security rating (Excellent/Good/Fair/Poor) with point-based scoring, and certificate extension URLs (OCSP, CA Issuer, CRL). | Available |
email_security_check | domain: str | DNS record validation against RFC 7208, RFC 6376, and RFC 7489 | SPF record parsing (v=spf1), DKIM selector probing, DMARC enforcement policy evaluation (p=reject/quarantine/none), anti-spoofing score (0–100), and remediation guidance. | Available |
tech_stack_detect | domain: str | 4-layer engine: HTTP headers · Set-Cookie cookies · <meta name="generator"> · HTML/asset-path substrings — with HTTPS → HTTP fallback and 512 KB body cap | Structured detections with confidence scores and evidence strings across 6 categories: web servers (nginx, Apache, IIS, Caddy), programming languages (PHP, Python, Ruby, Java, ASP.NET), CMS platforms (WordPress, Drupal, Joomla, Shopify, Wix, Ghost, Webflow, Magento), JS frameworks (React, Vue, Angular, Next.js, Nuxt.js, Svelte, jQuery, Bootstrap, Tailwind), CDN/hosting (Cloudflare, Fastly, Akamai, Vercel, Netlify, AWS CloudFront, Azure, GCP), and analytics (GA, GTM, Hotjar, Mixpanel, Segment, Facebook Pixel, Plausible, Matomo). | Pending |
cert_transparency | domain: str | Append-only public Merkle tree log querying via crt.sh | Discovered subdomains, wildcard certificates, historical TLS certificate issuance records, and Certificate Authority log metadata without active target scanning. | Pending |
asn_lookup | target: str | Team Cymru IP-to-ASN WHOIS service over TCP port 43 | Autonomous System Number (ASN), BGP routing prefix, AS organization name, allocation registry (ARIN, RIPE, APNIC, LACNIC, AFRINIC), country code, and allocation date. | Pending |
ip_reputation | ip_address: str | AbuseIPDB v2 REST API integration (Requires API Key) | Abuse confidence score (0–100%), total distinct abuse reports, usage classification (Data Center, ISP, Commercial), ISP metadata, and malicious activity classifications. | Pending |
headers_analyzer | domain: str | HTTP/HTTPS response header linting against modern web security standards | Evaluation of Strict-Transport-Security (HSTS), Content-Security-Policy (CSP), X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, and Cross-Origin isolation headers with severity ratings. | Pending |
full_recon | domain: str | Multi-wave async execution of all 10 core reconnaissance engines | Aggregated, structured telemetry payload cross-correlating domain ownership, network infrastructure, host services, TLS configurations, and security headers. | Pending |
| Tool | Parameters | Underlying Mechanics / Standards | Telemetry Output | Docs |
|---|---|---|---|---|
cve_lookup | software: strversion: str | NIST National Vulnerability Database (NVD) v2 REST API interface | Known CVE IDs, CVSS v3.1 / v2 base severity scores, vector strings, CWE classifications, vulnerability summaries, and official exploit/advisory references. (No API key required) | Pending |
cloud_exposure_check | domain: str | Keyword permutation & unauthenticated HTTP bucket probing | Publicly accessible AWS S3 buckets (s3.amazonaws.com), Azure Blob Storage containers (blob.core.windows.net), and Google Cloud Storage buckets (storage.googleapis.com). | Pending |
trace_redirects | url: str | Hop-by-hop HTTP 3xx redirect chain tracer (RFC 7231) | Complete redirect trajectory, status codes (301, 302, 307, 308), TLS protocol downgrades (HTTPS → HTTP), RFC 1918 private IP address leaks, redirect loops, and cross-domain hops. | Pending |
robots_txt_inspect | domain: str | HTTP retrieval & standards-compliant robots.txt directive parsing | Disallowed endpoints, administrative consoles, hidden staging/API routes, crawl-delay parameters, and declared XML sitemap paths. | Pending |
subdomain_takeover | domain: str | Bounded CNAME-chain resolution + cloud provider fingerprint matching + HTTP probe confirmation | Identifies dangling DNS pointers mapped to de-provisioned cloud infrastructure (GitHub Pages, Heroku, AWS S3, Azure App Services, Ghost, Shopify, Fastly, Pantheon), with each traversed chain returned in cname_chains. | Pending |
hibp_check | query: str | Have I Been Pwned (HIBP) API v3 integration (Requires API Key) | Compromised domain and email accounts across public data breaches, paste-site exposures, compromised data classes, and breach timeline statistics. | Pending |
| Prompt | Context Tool | Description |
|---|---|---|
threat_analysis | full_recon | Injects an expert threat analyst cognitive frame into the LLM agent to correlate raw full_recon telemetry into an actionable threat intelligence report with vulnerability prioritization, attack vector analysis, and defensive hardening roadmaps. |
Query known Common Vulnerabilities and Exposures (CVEs) directly against the NIST National Vulnerability Database (NVD) v2 API for specific software components and patch revisions without requiring API authentication:
Trigger the 3-wave parallel execution engine to synthesize network perimeter state, DNS resource records, SSL/TLS posture, email anti-spoofing enforcement, HTTP headers, and software stack fingerprints into a single structured report:
Ensure your host environment meets the following runtime requirements before starting the server:
>= 3.12 (Download Python)PATH (Download Nmap)uv (Recommended for high-performance virtual environments, Install uv) or pipUsing uv (Fastest):
Alternatively, using standard Python tooling:
Nmap must be installed locally and registered in your system PATH for the port_scan tool:
PATH:
C:\Program Files (x86)\Nmap (or C:\Program Files\Nmap).Install via Homebrew:
Install via your system package manager:
Locate and edit your client's MCP configuration file (e.g., Claude Desktop, Cursor, or VS Code):
| Operating System | Configuration File Path (Claude Desktop) |
|---|---|
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Insert the AynOps server stanza:
Windows (claude_desktop_config.json):
macOS / Linux (claude_desktop_config.json):
[!IMPORTANT] Always supply the absolute filesystem path to your
.venvPython binary andserver.pyfile to prevent the client from binding to a mismatched global Python runtime.
[!NOTE]
ABUSEIPDB_API_KEYis optional and only required forip_reputation(Obtain free at abuseipdb.com).HIBP_API_KEYis optional and only required forhibp_check(Obtain at haveibeenpwned.com/API/Key). All other tools operate with zero API keys.
AynOps ships a production-ready Dockerfile bundling Python 3.12, uv, and nmap, eliminating host dependency requirements.
Run a one-shot container execution. The container will initialize and listen for MCP JSON-RPC messages on stdin:
Configure your client to spawn the container directly:
[!TIP] The container must run in interactive mode (
-i) without detached flags (-d) to preserve the standard I/O communication pipe required by the MCP protocol.
Once connected, you can interact with individual reconnaissance tools or prompt compound analytical queries:
The port_scan tool supports multiple scanning strategies tailored to operational velocity and assessment depth:
Profile (scan_type) | Nmap Flag Equivalent | Execution Scope |
|---|---|---|
basic | -F | Scans top 100 most common TCP ports |
service | -sV --version-light | Top ports + banner grabbing & version identification |
os | -O | TCP/IP stack fingerprinting (Requires elevated privileges) |
full | -p- | Full transmission audit across all 65,535 TCP ports |
vuln | --script vuln | NSE vulnerability detection scripts against open services |
Example invocation:
threat_analysis PromptFor optimal threat intelligence synthesis in supported MCP clients:
+ icon in the prompt input area.threat_analysis prompt template.full_recon, process the normalized signals, and generate a correlated matrix mapping open ports to potential CVEs, missing headers, email spoofability, and infrastructure risk factors.AynOps is indexed and distributed across the following official registries:
| Registry | Identifier / Link |
|---|---|
| Official MCP Registry | io.github.AynOps/AynOps |
| PyPI Package Index | pypi.org/project/AynOps/ |
| Glama MCP Registry | glama.ai/mcp/servers/AynOps/AynOps |
AynOps acts strictly as an execution server over MCP. Tool invocation decisions, parameter synthesis, and prompt chaining are governed by the connected LLM client:
full port scans across all 65,535 ports) may exceed default client JSON-RPC timeout thresholds (typically 60–120s). Configure tool timeouts appropriately or use the basic and service profiles.[!CAUTION] Only perform active network scans and vulnerability evaluations against infrastructure you own or have explicit, documented authorization to test.
whois_lookup, dns_enumeration, asn_lookup, cert_transparency, headers_analyzer, cve_lookup, robots_txt_inspect): Operate purely against publicly advertised records and standard web responses.port_scan, cloud_exposure_check, subdomain_takeover): Send active network traffic. Unauthorized scanning may violate the Computer Fraud and Abuse Act (CFAA), GDPR, and local cyber regulations.scanme.nmap.org.scan_type="os") relies on raw TCP/IP socket crafting (-O) and requires elevated root / Administrator privileges on the host system.crt.sh Certificate Transparency logs, NIST NVD v2 REST API) are subject to upstream service availability and rate limits.ip_reputation and hibp_check require valid API keys configured in environment variables to return live telemetry.stdio stream; running in detached daemon mode (-d) will terminate the MCP pipe.We have active GitHub Discussions set up for community ideas, RFCs, tool requests, and roadmap planning.
Check the current planned Roadmap
💬 Join the conversation: Share your feedback, suggest new tools, or vote on roadmap features in AynOps GitHub Discussions!
Contributions, issues, and feature requests are welcome! See CONTRIBUTING.md for the development setup, project structure, and a guide to adding support for a new tool — that's currently the highest-value place to contribute. All participants are expected to follow Code of Conduct.
Quick version:
git checkout -b feature/amazing-feature)If you find a bug or a security vulnerability, please report it directly to the developer.
This project is licensed under the MIT License — see the LICENSE file for details. You are free to use, modify, distribute, and integrate this software in commercial and open-source environments.
Gaohar Imran
Special thanks to @SemTiOne, one of the early contributors to AynOps, for his valuable contributions, reviews, feedback, and continued support throughout the project. His help, especially during the early stages, is genuinely appreciated. ❤️
Special thanks to @Nitjsefnie for their continued and active involvement in AynOps through multiple contributions across the project. Their consistent effort, initiative, and willingness to improve the project are greatly appreciated. ❤️
With gratitude to all our contributors who have helped improve AynOps through code, documentation, testing, ideas, reviews, and feedback. Your contributions are genuinely appreciated. ❤️