@burtthecoder/mcp-dnstwist 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +160 -158
  3. package/build/index.js +0 -0
  4. package/package.json +1 -1
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2024 mcp-dnstwist contributors
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2024 mcp-dnstwist contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,158 +1,160 @@
1
- # DNStwist MCP Server
2
-
3
- A Model Context Protocol (MCP) server for [dnstwist](https://github.com/elceef/dnstwist), a powerful DNS fuzzing tool that helps detect typosquatting, phishing, and corporate espionage. This server provides tools for analyzing domain permutations and identifying potentially malicious domains. It is designed to integrate seamlessly with MCP-compatible applications like [Claude Desktop](https://claude.ai).
4
-
5
- ## ⚠️ Warning
6
-
7
- This tool is designed for legitimate security research purposes. Please:
8
- - Only analyze domains you own or have permission to test
9
- - Respect rate limits and DNS server policies
10
- - Use responsibly and ethically
11
- - Be aware that some DNS servers may rate-limit or block automated queries
12
- - Consider the impact on DNS infrastructure when running large scans
13
-
14
- ## Requirements
15
-
16
- - Node.js (v18 or later)
17
- - Docker
18
- - macOS, Linux, or Windows with Docker Desktop installed
19
-
20
- ## Quick Start
21
-
22
- 1. Install Docker:
23
- - macOS: Install [Docker Desktop](https://www.docker.com/products/docker-desktop)
24
- - Linux: Follow the [Docker Engine installation guide](https://docs.docker.com/engine/install/)
25
-
26
- 2. Install the server globally via npm:
27
- ```bash
28
- npm install -g mcp-dnstwist
29
- ```
30
-
31
- 3. Add to your Claude Desktop configuration file:
32
- ```json
33
- {
34
- "mcpServers": {
35
- "dnstwist": {
36
- "command": "mcp-dnstwist"
37
- }
38
- }
39
- }
40
- ```
41
-
42
- Configuration file location:
43
- - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
44
- - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
45
-
46
- 4. Restart Claude Desktop
47
-
48
- ## Alternative Setup (From Source)
49
-
50
- If you prefer to run from source or need to modify the code:
51
-
52
- 1. Clone and build:
53
- ```bash
54
- git clone <repository_url>
55
- cd mcp-dnstwist
56
- npm install
57
- npm run build
58
- ```
59
-
60
- 2. Add to your Claude Desktop configuration:
61
- ```json
62
- {
63
- "mcpServers": {
64
- "dnstwist": {
65
- "command": "node",
66
- "args": ["/absolute/path/to/mcp-dnstwist/build/index.js"]
67
- }
68
- }
69
- }
70
- ```
71
-
72
- ## Features
73
-
74
- - **Domain Fuzzing**: Generate domain permutations using various algorithms
75
- - **Registration Check**: Verify if permutated domains are registered
76
- - **DNS Analysis**: Check A, AAAA, MX, and NS records
77
- - **Web Presence**: Capture HTTP banner information
78
- - **WHOIS Data**: Retrieve registration dates and registrar information
79
- - **Phishing Detection**: Generate fuzzy hashes of web pages
80
- - **Configurable**: Custom DNS servers and parallel processing
81
- - **Multiple Formats**: Support for json, csv, and list output formats
82
-
83
- ## Tools
84
-
85
- ### Domain Fuzzing Tool
86
- - Name: `fuzz_domain`
87
- - Description: Generate and analyze domain permutations to detect potential typosquatting, phishing, and brand impersonation
88
- - Parameters:
89
- * `domain` (required): Domain name to analyze (e.g., example.com)
90
- * `nameservers` (optional, default: "1.1.1.1"): Comma-separated list of DNS servers
91
- * `threads` (optional, default: 50): Number of threads for parallel processing
92
- * `format` (optional, default: "json"): Output format (json, csv, list)
93
- * `registered_only` (optional, default: true): Show only registered domains
94
- * `mxcheck` (optional, default: true): Check for MX records
95
- * `ssdeep` (optional, default: false): Generate fuzzy hashes of web pages
96
- * `banners` (optional, default: true): Capture HTTP banner information
97
-
98
- Example:
99
- ```json
100
- {
101
- "domain": "example.com",
102
- "nameservers": "1.1.1.1,8.8.8.8",
103
- "threads": 50,
104
- "format": "json",
105
- "registered_only": true,
106
- "mxcheck": true,
107
- "banners": true
108
- }
109
- ```
110
-
111
- ## Troubleshooting
112
-
113
- ### Docker Issues
114
-
115
- 1. Verify Docker is installed and running:
116
- ```bash
117
- docker --version
118
- docker ps
119
- ```
120
-
121
- 2. Check Docker permissions:
122
- - Ensure your user has permissions to run Docker commands
123
- - On Linux, add your user to the docker group: `sudo usermod -aG docker $USER`
124
-
125
- ### Common Issues
126
-
127
- 1. DNS resolution problems:
128
- - Verify DNS servers are accessible
129
- - Try alternative DNS servers (e.g., 8.8.8.8)
130
- - Check for rate limiting or blocking
131
-
132
- 2. Performance issues:
133
- - Adjust thread count based on system capabilities
134
- - Consider network bandwidth and latency
135
- - Monitor DNS server response times
136
-
137
- 3. After fixing any issues:
138
- - Save the configuration file
139
- - Restart Claude Desktop
140
-
141
- ## Error Messages
142
-
143
- - "Docker is not installed or not running": Install Docker and start the Docker daemon
144
- - "Failed to parse dnstwist output": Check if the domain is valid and the format is correct
145
- - "Error executing dnstwist": Check Docker logs and ensure proper permissions
146
- - "DNS server not responding": Verify DNS server accessibility and try alternative servers
147
-
148
- ## Contributing
149
-
150
- 1. Fork the repository
151
- 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
152
- 3. Commit your changes (`git commit -m 'Add amazing feature'`)
153
- 4. Push to the branch (`git push origin feature/amazing-feature`)
154
- 5. Open a Pull Request
155
-
156
- ## License
157
-
158
- This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
1
+ # DNStwist MCP Server
2
+
3
+ A Model Context Protocol (MCP) server for [dnstwist](https://github.com/elceef/dnstwist), a powerful DNS fuzzing tool that helps detect typosquatting, phishing, and corporate espionage. This server provides tools for analyzing domain permutations and identifying potentially malicious domains. It is designed to integrate seamlessly with MCP-compatible applications like [Claude Desktop](https://claude.ai).
4
+
5
+ <a href="https://glama.ai/mcp/servers/it7izu3ufb"><img width="380" height="200" src="https://glama.ai/mcp/servers/it7izu3ufb/badge" alt="mcp-dnstwist MCP server" /></a>
6
+
7
+ ## ⚠️ Warning
8
+
9
+ This tool is designed for legitimate security research purposes. Please:
10
+ - Only analyze domains you own or have permission to test
11
+ - Respect rate limits and DNS server policies
12
+ - Use responsibly and ethically
13
+ - Be aware that some DNS servers may rate-limit or block automated queries
14
+ - Consider the impact on DNS infrastructure when running large scans
15
+
16
+ ## Requirements
17
+
18
+ - Node.js (v18 or later)
19
+ - Docker
20
+ - macOS, Linux, or Windows with Docker Desktop installed
21
+
22
+ ## Quick Start
23
+
24
+ 1. Install Docker:
25
+ - macOS: Install [Docker Desktop](https://www.docker.com/products/docker-desktop)
26
+ - Linux: Follow the [Docker Engine installation guide](https://docs.docker.com/engine/install/)
27
+
28
+ 2. Install the server globally via npm:
29
+ ```bash
30
+ npm install -g mcp-dnstwist
31
+ ```
32
+
33
+ 3. Add to your Claude Desktop configuration file:
34
+ ```json
35
+ {
36
+ "mcpServers": {
37
+ "dnstwist": {
38
+ "command": "mcp-dnstwist"
39
+ }
40
+ }
41
+ }
42
+ ```
43
+
44
+ Configuration file location:
45
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
46
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
47
+
48
+ 4. Restart Claude Desktop
49
+
50
+ ## Alternative Setup (From Source)
51
+
52
+ If you prefer to run from source or need to modify the code:
53
+
54
+ 1. Clone and build:
55
+ ```bash
56
+ git clone <repository_url>
57
+ cd mcp-dnstwist
58
+ npm install
59
+ npm run build
60
+ ```
61
+
62
+ 2. Add to your Claude Desktop configuration:
63
+ ```json
64
+ {
65
+ "mcpServers": {
66
+ "dnstwist": {
67
+ "command": "node",
68
+ "args": ["/absolute/path/to/mcp-dnstwist/build/index.js"]
69
+ }
70
+ }
71
+ }
72
+ ```
73
+
74
+ ## Features
75
+
76
+ - **Domain Fuzzing**: Generate domain permutations using various algorithms
77
+ - **Registration Check**: Verify if permutated domains are registered
78
+ - **DNS Analysis**: Check A, AAAA, MX, and NS records
79
+ - **Web Presence**: Capture HTTP banner information
80
+ - **WHOIS Data**: Retrieve registration dates and registrar information
81
+ - **Phishing Detection**: Generate fuzzy hashes of web pages
82
+ - **Configurable**: Custom DNS servers and parallel processing
83
+ - **Multiple Formats**: Support for json, csv, and list output formats
84
+
85
+ ## Tools
86
+
87
+ ### Domain Fuzzing Tool
88
+ - Name: `fuzz_domain`
89
+ - Description: Generate and analyze domain permutations to detect potential typosquatting, phishing, and brand impersonation
90
+ - Parameters:
91
+ * `domain` (required): Domain name to analyze (e.g., example.com)
92
+ * `nameservers` (optional, default: "1.1.1.1"): Comma-separated list of DNS servers
93
+ * `threads` (optional, default: 50): Number of threads for parallel processing
94
+ * `format` (optional, default: "json"): Output format (json, csv, list)
95
+ * `registered_only` (optional, default: true): Show only registered domains
96
+ * `mxcheck` (optional, default: true): Check for MX records
97
+ * `ssdeep` (optional, default: false): Generate fuzzy hashes of web pages
98
+ * `banners` (optional, default: true): Capture HTTP banner information
99
+
100
+ Example:
101
+ ```json
102
+ {
103
+ "domain": "example.com",
104
+ "nameservers": "1.1.1.1,8.8.8.8",
105
+ "threads": 50,
106
+ "format": "json",
107
+ "registered_only": true,
108
+ "mxcheck": true,
109
+ "banners": true
110
+ }
111
+ ```
112
+
113
+ ## Troubleshooting
114
+
115
+ ### Docker Issues
116
+
117
+ 1. Verify Docker is installed and running:
118
+ ```bash
119
+ docker --version
120
+ docker ps
121
+ ```
122
+
123
+ 2. Check Docker permissions:
124
+ - Ensure your user has permissions to run Docker commands
125
+ - On Linux, add your user to the docker group: `sudo usermod -aG docker $USER`
126
+
127
+ ### Common Issues
128
+
129
+ 1. DNS resolution problems:
130
+ - Verify DNS servers are accessible
131
+ - Try alternative DNS servers (e.g., 8.8.8.8)
132
+ - Check for rate limiting or blocking
133
+
134
+ 2. Performance issues:
135
+ - Adjust thread count based on system capabilities
136
+ - Consider network bandwidth and latency
137
+ - Monitor DNS server response times
138
+
139
+ 3. After fixing any issues:
140
+ - Save the configuration file
141
+ - Restart Claude Desktop
142
+
143
+ ## Error Messages
144
+
145
+ - "Docker is not installed or not running": Install Docker and start the Docker daemon
146
+ - "Failed to parse dnstwist output": Check if the domain is valid and the format is correct
147
+ - "Error executing dnstwist": Check Docker logs and ensure proper permissions
148
+ - "DNS server not responding": Verify DNS server accessibility and try alternative servers
149
+
150
+ ## Contributing
151
+
152
+ 1. Fork the repository
153
+ 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
154
+ 3. Commit your changes (`git commit -m 'Add amazing feature'`)
155
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
156
+ 5. Open a Pull Request
157
+
158
+ ## License
159
+
160
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
package/build/index.js CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burtthecoder/mcp-dnstwist",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "MCP server for dnstwist - DNS fuzzing to detect typosquatting, phishing and corporate espionage",
5
5
  "main": "build/index.js",
6
6
  "type": "module",