NEL VEIL MCP
Enables AI agents to perform passive security scans on domains, checking email spoofing (DMARC/SPF/DKIM), TLS weaknesses, security headers, exposed files, and subdomain-takeover risk without needing an API key.
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 seven 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, and retrieval of an earlier scan.
Free. No API key. No signup.
Install
Claude Code — one command:
claude mcp add nel-veil -- npx -y nel-veil-mcp
Any MCP client — add this to your config file:
{
"mcpServers": {
"nel-veil": {
"command": "npx",
"args": ["-y", "nel-veil-mcp"]
}
}
}
Run it directly, to check it works:
npx -y nel-veil-mcp
It prints a ready line to stderr — something like nel-veil-mcp 0.1.5 ready — 7 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:
Check if a domain can be email-spoofed — example.com
Score: 100/100 (done)
2 findings:
[LOW] DMARC has no reporting address (rua/ruf), you have no visibility into spoofing
[LOW] DKIM key may be 1024-bit (weak), 2048-bit recommended
Free check, built from public information. No port scanning and no exploit testing —
though some checks (TLS via Qualys SSL Labs, admin-panel reachability) do more than
passive reading; see nelprofessional.com/mcp. Active scanning requires verified domain
ownership and runs only at nelprofessional.com.
More: https://www.nelprofessional.com/mcp
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
| Tool | Answers |
|---|---|
check_email_spoofing |
Can someone send email that appears to come from this domain? (DMARC/SPF/DKIM) |
check_tls |
Does this domain's TLS have known weaknesses? (Qualys SSL Labs grade — see the note below) |
check_security_headers |
Does this site send the headers that protect visitors in the browser? |
check_exposed_files |
Is this domain publicly serving files it should not be? |
check_subdomain_takeover |
Are there DNS records pointing at services someone else could claim? |
scan_domain |
All of the above at once, with a per-module score. |
get_scan_report |
Retrieve a scan already run at nelprofessional.com, by its scn_… id. |
Each returns a 0–100 score plus specific findings you can act on.
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 two tools do more than read public records:
check_tlsis not passive. It queries Qualys SSL Labs, which performs its own active TLS assessment of the target from Qualys's infrastructure (reusing a recent cached result when Qualys has one). NEL sends no probe itself, but running this does cause the target to be actively tested by a third party. It returns the SSL Labs grade and known problems — Heartbleed, POODLE, RC4, deprecated protocols, weak forward secrecy, certificate chain issues. It does not report certificate expiry, issuer, or hostname validity.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 — lives at nelprofessional.com, behind DNS-TXT proof that you control the domain. 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
| Variable | Default | Purpose |
|---|---|---|
NEL_API_URL |
https://api.nelprofessional.com |
Point at a self-hosted NEL backend. Only needed for local development. |
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.
git clone https://github.com/NELPROINC/nel-veil-mcp.git
cd nel-veil-mcp
npm install
npm run build
node scripts/mcp-smoke.mjs example.com
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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。