Skip to main content

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

  1. Download Claude for Desktop
  2. Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 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"
			]
		}
}}
  1. 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)

  2. 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

  1. Only use against authorised targets
  2. Follow responsible disclosure practices
  3. 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.

Metadata

Release files for iflow-mcp_naebo_external-recon 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_naebo_external-recon 0.1.0
File Size Uploaded
iflow_mcp_naebo_external_recon-0.1.0.tar.gz 4.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_naebo_external-recon 0.1.0
File Interpreter ABI Platform
iflow_mcp_naebo_external_recon-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 10.1 kB

Release files / iflow_mcp_naebo_external_recon-0.1.0.tar.gz

Download URL iflow_mcp_naebo_external_recon-0.1.0.tar.gz
Size 4.7 kB
Tags Source
SHA-256 checksum
How to use checksums
0fef08bf8aa61da810d027f2a647e3e7e576d2fd694a61497c364cc8a6a5769e
BLAKE2b-256 checksum
How to use checksums
2700e4976cede508750053e9156c573e4f40d2d23cfa235584fb725ef71a6cfa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_naebo_external_recon-0.1.0-py3-none-any.whl

Download URL iflow_mcp_naebo_external_recon-0.1.0-py3-none-any.whl
Size 5.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
20bdfc84599bca1d1a8a1c227b9cee30e8e6df65e8a53a782604bb1db3ba2304
BLAKE2b-256 checksum
How to use checksums
de0c6c3f06c24878b6ab1c679f44a11e5e83a8b14a769a2c5a46679f092116ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page