Basicsec Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Basicsec Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol (MCP) server that provides DNS and email security scanning capabilities using the basicsec library.
pip install basicsec-mcpbasicsec-mcpThe server will start and listen for MCP connections on the default interface.
The server provides the following MCP tools:
#### Domain Scanning Tools
passive_scan(domain, dns_timeout=5.0) - DNS-only security scanactive_scan(domain, dns_timeout=5.0, smtp_timeout=3.0, smtp_ports=[25,465,587]) - Full scan with SMTP testsscan_multiple_domains(domains, scan_type="active", dns_timeout=3.0, smtp_timeout=2.0) - Batch domain scanningquick_domain_check(domains, check_types=["live","mx","spf","dmarc"]) - Fast batch checks#### Individual Record Tools
get_mx_records(domain, timeout=5.0) - Get MX recordsget_spf_record(domain, timeout=5.0) - Get and validate SPF recordget_dmarc_record(domain, timeout=5.0) - Get and validate DMARC recordcheck_dnssec_status(domain, timeout=5.0) - Check DNSSEC statusvalidate_dnssec_chain(domain, timeout=5.0) - Validate DNSSEC chain of trusttest_smtp_connection(hostname, port=25, timeout=3.0) - Test SMTP connectivityAdd to your Claude Desktop configuration:
{
"mcpServers": {
"basicsec": {
"command": "basicsec-mcp",
"args": []
}
}
}Or using uvx:
{
"mcpServers": {
"basicsec": {
"command": "uvx",
"args": ["--refresh","basicsec-mcp"]
}
}
}Once connected via MCP, you can use the tools through your AI assistant:
"Scan example.com for email security issues"
-> Uses passive_scan() or active_scan()
"Check SPF and DMARC records for google.com"
-> Uses get_spf_record() and get_dmarc_record()
"Test SMTP connectivity for mail.example.com"
-> Uses test_smtp_connection()
"Quick check these domains: example.com, google.com, github.com"
-> Uses quick_domain_check()The MCP server is optimized for responsiveness:
BASICSEC_MCP_LOG_LEVEL: Set logging level (DEBUG, INFO, WARNING, ERROR)BASICSEC_MCP_DNS_TIMEOUT: Default DNS timeout in secondsBASICSEC_MCP_SMTP_TIMEOUT: Default SMTP timeout in secondsYou can also use the server components directly:
from basicsec_mcp.server import passive_scan, active_scan
# Direct function calls
result = passive_scan("example.com")
print(f"SPF Valid: {result['spf_valid']}")
result = active_scan("example.com")
print(f"SMTP Working: {result['has_smtp_connection']}")# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run server locally
python -m basicsec_mcp.serverMIT License - see LICENSE file for details.
This MCP server is designed for defensive security analysis only:
✅ Allowed Operations:
❌ Not Performed:
Always ensure you have permission to scan target domains.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.