External Reconnaissance MCP Server
A Model Context Protocol (MCP) server for performing active external reconnaissance activities against a domain. This tool provides a simple suite of reconnaissance capabilities including DNS enumeration, subdomain discovery, email security analysis, and SSL certificate inspection.
Want to build your own?
This project was created as a PoC for my tutorial on creating your own MCP server here
[!CAUTION] This is intended solely as a demonstration and is not production-ready. Use at your own risk. Only use MCPs that you trust to run on your machine. While this is a relatively benign tool, it does run OS commands. Do not target systems that you do not have permission to target.
Features
- DNS Reconnaissance
- Comprehensive DNS record enumeration (A, AAAA, MX, NS, SOA, TXT, SRV)
- DNS zone transfer attempts
- Subdomain enumeration & bruteforcing
- Domain Information
- WHOIS lookups
- HTTP headers analysis
- Email Security Assessment
System Requirements
The following tools need to be installed on your system:
- dig (DNS lookup utility)
- whois
- dnsrecon
Required Files
A subdomain wordlist has been supplied for brute-forcing, add to the list or replace for your own. (Note there is currently a limitation with very long wordlists).
- dns-wordlist.txt
Usage
For using a pre-built server, instructions from here: https://modelcontextprotocol.io/quickstart/user
- Download Claude for Desktop
- Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
- Download this repo and add to Claude for Desktop config
- Claude for Desktop > Settings > Developer > Edit config This will create a configuration file at:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\\Claude\\claude_desktop_config.json
Open up the configuration file in any text editor. Replace the file contents with this:
{
"mcpServers": {
"external-recon": {
"command": "/ABSOLUTE/PATH/TO/PARENT/FOLDER/uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-external-recon-server",
"run",
"external-recon.py"
]
}
}}
-
Relaunch Claude for Desktop You should now see two icons in the chat bar, a hammer which shows the tools available and a connection icon which shows the prompt defined and the input required (domain name)
-
Select the external-recon setup prompt and supply the target domain, you can then ask Claude to peform external recon and away she goes!
Security Considerations
- Only use against authorised targets
- Follow responsible disclosure practices
- Respect target system's resources
Contributing
Contributions are welcome! Please feel free to submit pull requests.
Disclaimer
This tool is for educational and authorized testing purposes only. Users are responsible for ensuring they have permission to test target systems.
Recommend MCP Servers 💡
@ipfind/ipfind-mcp-server
IP Find MCP Server
unichat-mcp-server
Send requests to OpenAI, MistralAI, Anthropic, xAI, Google AI, DeepSeek, Alibaba, Inception using MCP protocol via tool or predefined prompts. Vendor API key required
ph0ryn/Discord-webhook-MCP
A MCP server that enables sending messages to Discord via webhook using the Model Context Protocol.
mcp-clean-code
MCP server for planning and creating clean, well-structured code with comprehensive English comments
mcp-national-rail
A Model Context Protocol (MCP) server to retrieve train schedules from National Rail
mcp-server-tft
An MCP server for Team Fight Tactics (TFT) that provides access to TFT game data including match history and details