Supports containerized deployment of the domain analysis server for easier distribution and scaling.
Leveraged for data validation and schema management in the domain analysis tools.
Used as the implementation language for the server, enabling domain analysis capabilities through Python's ecosystem.
Domain Tools MCP Server
A Model Context Protocol (MCP) server for comprehensive domain analysis: WHOIS, DNS records, and DNS health checks.
Table of Contents
- Overview
- Features
- Project Structure
- Requirements
- Installation
- Deployment
- Usage
- API Reference
- Configuration
- Troubleshooting
- Security Considerations
- Support and Contribution
- License
- Acknowledgments
Overview
The Domain Tools MCP Server is a Model Context Protocol (MCP) server that provides comprehensive domain analysis capabilities. It offers tools for WHOIS lookups, DNS record queries, and DNS health checking to help you analyze and monitor domain configurations.
Features
- WHOIS Information: Get detailed domain registration data.
- DNS Records: Query various DNS record types (A, AAAA, MX, NS, TXT, CNAME, SOA).
- DNS Health Checks: Identify common DNS configuration issues.
- Comprehensive Analysis: Complete domain assessment in one tool.
Project Structure
Requirements
- Python 3.13+ (recommended)
- pip (Python package installer)
- Internet connection for DNS/WHOIS queries
Installation
1. Clone the Repository
2. Create a Virtual Environment (Recommended)
3. Install Dependencies
4. Verify Installation
Deployment
Local Development
Or make it executable:
Production Deployment
Using systemd (Linux)
- Create a service file
/etc/systemd/system/domain-tools-mcp.service
: - Enable and start the service:
Using Docker
- Create a
Dockerfile
: - Build and run:
Usage
MCP Client Integration
The server implements the Model Context Protocol and can be integrated with any MCP-compatible client.
Example MCP Client Configuration:
API Reference
Available Tools
1. WHOIS Lookup
- Parameters:
domain
(string, required): Domain name to lookup
- Example Request:
- Sample Output:
2. DNS Records Query
- Parameters:
domain
(string, required): Domain name to queryrecord_types
(array, optional): DNS record types to query (default:["A", "AAAA", "MX", "NS", "TXT", "CNAME", "SOA"]
)
- Example Request:
3. DNS Health Check
- Parameters:
domain
(string, required): Domain name to analyze
- Example Request:
4. Complete Domain Analysis
- Parameters:
domain
(string, required): Domain name to analyze
- Example Request:
Tool Schemas
Each tool follows a JSON schema for input. See the code for full details.
Response Format
All tools return responses in the following format:
Configuration
DNS Resolver
You can customize the DNS resolver in the server code:
Environment Variables
You can configure the server using environment variables:
Troubleshooting
Common Issues
- Import Errors:
Runpip install --upgrade mcp dnspython python-whois pydantic
. - DNS Resolution Failures:
- Check internet connectivity.
- Try different DNS servers.
- Increase timeout values.
- WHOIS Lookup Failures:
- Some domains may have restricted WHOIS access.
- Rate limiting may be in effect.
- Permission Errors:
- Run with appropriate permissions.
- Use non-privileged ports for testing.
Debug Mode
Enable debug logging by adding this to your server:
Security Considerations
- Input Validation: Always validate domain inputs.
- Rate Limiting: Implement rate limiting to prevent abuse.
- Network Security: Use secure DNS resolvers.
- Logging: Log all queries for audit purposes.
- Access Control: Implement authentication if needed.
Support and Contribution
- For issues, feature requests, or contributions, please open an issue or pull request on GitHub.
- Contributions are welcome! Please review the troubleshooting section and provide detailed error messages and logs if reporting bugs.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Acknowledgments
Author
- Abhishek Deshpande(@deshabhishek007)
Notes
- This server is intended for use as a backend service or as part of a larger system that communicates using the MCP protocol.
- For more information on MCP, see the official documentation.
This server cannot be installed
A Model Context Protocol server that provides comprehensive domain analysis capabilities including WHOIS lookups, DNS record queries, and DNS health checking.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that allows AI agents to perform WHOIS lookups, enabling users to directly ask the AI about domain availability, ownership, registration details, and other domain information.Last updated -4101JavaScriptMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables natural language querying of the Censys Search API for domain, IP, and FQDN reconnaissance, providing information about hosts, DNS, certificates, and services in real-time.Last updated -1Python
- -securityAlicense-qualityA Model Context Protocol server that provides network analysis tools for security professionals, enabling AI models like Claude to perform tasks such as ASN lookups, DNS analysis, WHOIS retrieval, and IP geolocation for security investigations.Last updated -1PythonApache 2.0
- AsecurityFlicenseAqualityA Model Context Protocol server that enables users to perform third-party enrichment lookups for security observables (IP addresses, domains, URLs, emails) through services like VirusTotal, Shodan, and others.Last updated -1Python