BasicSec MCP服务器
一种模型上下文协议(MCP)服务器,使用 基本安全 图书馆。
特性
- MCP集成:为AI助手提供完整的模型上下文协议支持
- DNS安全分析:SPF、DMARC、DNSSEC验证
- 电子邮件安全检查:MX记录分析和SMTP测试
- 批处理:高效扫描多个域
- 被动和主动模式:在仅DNS或完整SMTP测试之间进行选择
- 性能优化:设计用于在MCP超时限制内工作
安装
pip install basicsec-mcpMCP服务器使用情况
运行服务器
basicsec-mcp服务器将启动并监听默认接口上的MCP连接。
MCP工具可用
服务器提供以下MCP工具:
域扫描工具
passive_scan(domain, dns_timeout=5.0)-仅DNS安全扫描active_scan(domain, dns_timeout=5.0, smtp_timeout=3.0, smtp_ports=[25,465,587])-带SMTP测试的完整扫描scan_multiple_domains(domains, scan_type="active", dns_timeout=3.0, smtp_timeout=2.0)-批量域扫描quick_domain_check(domains, check_types=["live","mx","spf","dmarc"])-快速批量检查
个人记录工具
get_mx_records(domain, timeout=5.0)-获取MX记录get_spf_record(domain, timeout=5.0)-获取并验证SPF记录get_dmarc_record(domain, timeout=5.0)-获取并验证DMARC记录check_dnssec_status(domain, timeout=5.0)-检查DNSSEC状态validate_dnssec_chain(domain, timeout=5.0)-验证DNSSEC信任链test_smtp_connection(hostname, port=25, timeout=3.0)-测试SMTP连接
Claude桌面集成
添加到您的Claude Desktop配置中:
{
"mcpServers": {
"basicsec": {
"command": "basicsec-mcp",
"args": []
}
}
}或者使用uvx:
{
"mcpServers": {
"basicsec": {
"command": "uvx",
"args": ["--refresh","basicsec-mcp"]
}
}
}使用示例
通过MCP连接后,您可以通过AI助手使用这些工具:
"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()已执行安全检查
DNS记录
- MX记录:邮件服务器配置
- SPF记录:发件人策略框架验证
- DMARC 记录:基于域的消息身份验证
- 域名系统安全扩展:DNS安全扩展状态和链验证
SMTP测试(活动扫描)
- 连接测试:验证邮件服务器的可访问性
- STARTTLS支持:检查加密能力
- 多个端口:测试常用SMTP端口(25、465、587)
性能注意事项
MCP服务器针对响应性进行了优化:
- 超时管理:减少批处理操作的超时时间
- 域限制:批量大小的自动限制
- 快速检查:最少的DNS查找可快速获得结果
- 错误处理:故障时的优雅降级
配置
环境变量
BASICSEC_MCP_LOG_LEVEL:设置日志记录级别(调试、信息、警告、错误)BASICSEC_MCP_DNS_TIMEOUT:默认DNS超时(秒)BASICSEC_MCP_SMTP_TIMEOUT:默认SMTP超时时间(秒)
程序化使用
您还可以直接使用服务器组件:
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']}")需求
- Python 3.8+
- 基本秒>=1.0.0
- mcp>=1.0.0
发展
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run server locally
python -m basicsec_mcp.server许可证
MIT许可证-有关详细信息,请参阅许可证文件。
安全考虑
此MCP服务器专为 仅用于防御安全分析:
✅ 允许的操作:
- DNS记录查找
- 标准SMTP协议测试
- 公共安全记录验证
❌ 未执行:
- 漏洞利用
- 未经授权的访问尝试
- 激进的扫描技术
始终确保您有扫描目标域的权限。
贡献
- 分叉存储库
- 创建要素分支
- 添加新功能的测试
- 确保MCP兼容性
- 提交拉取请求
