
Nel Veil
io.github.NELPROINC由 GitHub 账号 NELPROINC 发布v0.2.0更新于 Oct 24, 2026
Free passive security scanning - check any domain's DMARC, TLS, headers, and exposures.
概览
一个免费的本地 MCP 服务器,让助手对域名做被动安全检查:邮件伪造、TLS、安全响应头、暴露文件、子域接管与合规框架。
- 可以做什么
- 检查域名能否被伪造邮件(DMARC/SPF/DKIM)以及 TLS 证书与协商的协议版本是否安全,检查是否发送常见 HTTP 安全响应头、是否公开提供 .env 等敏感路径,并检查常见子域是否指向可被他人接管的云服务,一次性运行全部检查并给出各模块评分,按编号取回此前扫描结果,列出或评估针对 102 个合规框架的就绪度并附覆盖说明
- 适用场景
- 适合需要快速、免费、免注册地了解某域名公开安全状况时使用,例如判断能否被邮件伪造、证书是否将过期,以及获取示意性的合规就绪度信号,而非正式审计。
- 运行要求
- 通过 npx 以 stdio 在本地运行,需要 Node.js 18 或更高版本。无需 API 密钥、注册或账户。需要访问 NEL 公共 API 的网络;可选环境变量 NEL_API_URL 可覆盖 API 基础地址,仅用于针对自托管后端的本地开发。
安装
在 SourceWeft 中
- 打开 控制台中的 Nel Veil,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
NEL VEIL MCP — free domain security checks for AI agents
Ask your agent "can someone spoof email from example.com?" and get a real answer in about ten seconds.
NEL VEIL MCP gives any MCP-compatible agent nine tools for checking a domain's public security posture: email spoofing (DMARC/SPF/DKIM), TLS weaknesses, HTTP security headers, publicly exposed files, subdomain-takeover risk, a combined scan, retrieval of an earlier scan, and compliance readiness against a register of 102 global frameworks.
Free. No API key. No signup.
Install
Claude Code — one command:
Any MCP client — add this to your config file:
Run it directly, to check it works:
It prints a ready line to stderr — something like nel-veil-mcp 0.2.1 ready — 9 tools, free passive tier. — and then waits for JSON-RPC on stdin. That is correct: it is a stdio server, not a CLI, and stdout carries the protocol, so nothing else is ever written there.
Requires Node 18 or newer.
30 seconds: is your domain spoofable?
After installing, ask your agent:
Check if example.com can be email-spoofed.
It calls check_email_spoofing. Real output for example.com at the time of writing:
That domain is in good shape. The finding people are most often surprised by is a DMARC policy of p=none — it looks configured, monitors everything, and blocks nothing.
Tools
Each returns a 0–100 score plus specific findings you can act on.
Compliance
check_compliance maps one passive scan onto a register of 102 frameworks
across Canada, the United States, the EU/EEA, the United Kingdom, Asia-Pacific,
Africa and the global standards — citing the specific provision each finding
bears on.
Read the coverage field before repeating a score. Every framework reports
how many of the scan categories it relies on were actually observed, as 9/16:
- A framework whose relevant checks did not run has a null score and the tier "Not assessed", with a reason. That is unknown, not clean.
- A clean result over fewer than half a framework's categories is "Partial", not "Strong".
- 26 of the 102 are "Not assessable" — an anti-money-laundering regime, a consumer-protection statute, a criminal offences provision or a securities disclosure rule imposes no technical safeguard an external scan could ever evidence. They are listed and explained, never scored.
These are indicative readiness signals from public-surface evidence. They are not an audit, not a certification and not legal advice, and every framework also carries a note on what it requires that no external scan can see — consent records, impact assessments, retention schedules, vendor agreements, board governance.
What this sends — stated plainly
Being precise here matters more than sounding safe, because this is the paragraph you rely on when deciding whether you may point a tool at someone else's domain.
No tool here does port scanning or exploit testing. Those are genuinely intrusive, they need the domain owner's permission, and they are deliberately not exposed over MCP at all.
But "passive" is not the same as "invisible", and several of these tools do more than read public records:
check_tlsconnects to the domain, but only as a browser would. It makes one ordinary TLS handshake to port 443, from NEL's own infrastructure, and reads what the server presents: certificate issuer and subject, the validity window and how many days remain, the subject alternative names, and the negotiated protocol and cipher. Nothing else is contacted, and no third party is asked to test the target. It reports an expired certificate, one expiring within 14 or 30 days, a self-signed certificate, an untrusted chain, a certificate that does not cover the hostname, and a connection negotiated over TLS 1.0 or 1.1. What one handshake cannot tell you: it shows what the server chose for that connection, not everything the server would accept. It does not enumerate supported cipher suites, does not test for Heartbleed, POODLE, DROWN or RC4 support, and produces no letter grade. Those need the deep assessment described below.check_subdomain_takeoveris not DNS-only. It resolves a small fixed list of common subdomain names and makes one HTTPS request to any that point at a known cloud host. It never claims or modifies anything.check_exposed_filesrequests a small fixed list of well-known paths (.env,.git/configand similar). It never brute-forces or fuzzes — the list does not grow or adapt — but these are paths a crawler would not request, so they are recognisable in a target's logs as a security check.scan_domainruns all of the above, and additionally checks whether common admin panels (/phpmyadmin/,/manager/html) are publicly reachable.
Everything above is information the domain publishes. None of it attacks anything. But it is more than ordinary crawling, so prefer running it against a domain you own or are authorised to assess.
Active scanning — port exposure, API probing, proof-of-concept checks, and the deep TLS assessment (tls_labs) that produces the Qualys SSL Labs grade along with the Heartbleed, POODLE, DROWN and RC4 tests — lives at nelprofessional.com, behind DNS-TXT proof that you control the domain. None of it is reachable from this MCP server. That is the right place for it, because a human proves ownership once and NEL can stand behind the result.
Rate limits. Ten single checks and three full scans per minute, per IP address. If you hit it, wait a minute.
Privacy. This package sends no API key, no email address, and no account identifier. Each request carries the domain you asked about and a nel-veil-mcp user-agent. Note that, like any HTTP service, NEL sees the IP the request came from — it is what the rate limit is keyed on.
Configuration
Development
These steps need the git repository, not the published npm package — the tarball ships only dist/, so src/ and scripts/ are not in it.
scripts/mcp-smoke.mjs launches the built server exactly as npx would, performs the MCP handshake, lists the tools and calls one for real — so it catches transport and schema problems a unit test would not.
About NEL VEIL
NEL VEIL is the security scanner behind NEL Professional, a marketplace connecting organisations with verified cybersecurity professionals. The same modules that power this MCP server power the scans on the site.
Full documentation: nelprofessional.com/mcp
License
MIT — see LICENSE.
来源:README.md,提交 24a0a01
工具
0版本历史
1- v0.2.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分