Connects Claude and other MCP clients to the ExposureGuard domain security API. You get four tools: scan_domain runs a full security audit with 8 checks and returns an A-F grade plus findings, get_grade pulls cached results for speed, get_remediation spits out copy-paste fix snippets for failing checks, and get_dependencies shows third-party scripts loaded by a domain. Scans take around 8 seconds. Useful when you're auditing sites in conversation or need security context without leaving your editor. Requires an ExposureGuard API key from their dashboard. Rate limits apply based on your plan tier.
Public tool metadata for what this MCP can expose to an agent.
scan_domainRun a comprehensive 8-point security audit on any domain. Checks SPF (email spoofing prevention), DMARC (email authentication policy), SSL/TLS certificate validity, HTTPS redirect enforcement, security headers (X-Frame-Options, Content-Security-Policy, Strict-Transport-Securit...1 paramsRun a comprehensive 8-point security audit on any domain. Checks SPF (email spoofing prevention), DMARC (email authentication policy), SSL/TLS certificate validity, HTTPS redirect enforcement, security headers (X-Frame-Options, Content-Security-Policy, Strict-Transport-Securit...
domainstringget_gradeRetrieve the most recent cached security grade for a domain without triggering a new scan. Returns the letter grade (A-F), numeric score (0-100), and timestamp of when the grade was last calculated. Results may be up to 24 hours old. Use this for quick lookups when you need a...1 paramsRetrieve the most recent cached security grade for a domain without triggering a new scan. Returns the letter grade (A-F), numeric score (0-100), and timestamp of when the grade was last calculated. Results may be up to 24 hours old. Use this for quick lookups when you need a...
domainstringget_remediationGet actionable, copy-paste fix instructions for every failing security check on a domain. Returns specific DNS TXT records to add (SPF, DMARC), server configuration snippets (Nginx, Apache, Cloudflare) for security headers and HTTPS redirects, and step-by-step instructions for...1 paramsGet actionable, copy-paste fix instructions for every failing security check on a domain. Returns specific DNS TXT records to add (SPF, DMARC), server configuration snippets (Nginx, Apache, Cloudflare) for security headers and HTTPS redirects, and step-by-step instructions for...
domainstringget_dependenciesDiscover all third-party scripts, stylesheets, fonts, images, and iframes loaded by a domain's website. Returns each external resource with its type (script/stylesheet/image/iframe), host, and full URL. Useful for supply-chain risk assessment — reveals what external services t...1 paramsDiscover all third-party scripts, stylesheets, fonts, images, and iframes loaded by a domain's website. Returns each external resource with its type (script/stylesheet/image/iframe), host, and full URL. Useful for supply-chain risk assessment — reveals what external services t...
domainstringAn MCP (Model Context Protocol) server that connects AI assistants to the ExposureGuard domain security scanning API.
| Tool | Description |
|---|---|
scan_domain | Full security scan — 8 checks, A-F grade, score, findings, report URL (~8s) |
get_grade | Cached grade lookup (up to 24h old) — fast, no new scan triggered |
get_remediation | Copy-paste fix snippets for all failing checks |
get_dependencies | Third-party scripts/resources loaded by the domain |
Sign up at getexposureguard.com and grab your API key from the dashboard.
# Option A: pip install (recommended)
pip install -e /path/to/exposureguard-mcp
# Option B: just install deps
pip install mcp httpx
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"exposureguard": {
"command": "python",
"args": ["-m", "exposureguard_mcp.server"],
"env": {
"EXPOSUREGUARD_API_KEY": "your-api-key-here"
}
}
}
}
If you installed as a package, you can also use:
{
"mcpServers": {
"exposureguard": {
"command": "exposureguard-mcp",
"env": {
"EXPOSUREGUARD_API_KEY": "your-api-key-here"
}
}
}
}
Edit .cursor/mcp.json in your project root (or globally at ~/.cursor/mcp.json):
{
"mcpServers": {
"exposureguard": {
"command": "python",
"args": ["-m", "exposureguard_mcp.server"],
"env": {
"EXPOSUREGUARD_API_KEY": "your-api-key-here"
}
}
}
}
Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"exposureguard": {
"command": "python",
"args": ["-m", "exposureguard_mcp.server"],
"env": {
"EXPOSUREGUARD_API_KEY": "your-api-key-here"
}
}
}
}
Edit .vscode/mcp.json in your project:
{
"servers": {
"exposureguard": {
"type": "stdio",
"command": "python",
"args": ["-m", "exposureguard_mcp.server"],
"env": {
"EXPOSUREGUARD_API_KEY": "your-api-key-here"
}
}
}
}
Once connected, ask your AI assistant:
export EXPOSUREGUARD_API_KEY=your-api-key-here
python -m exposureguard_mcp.server
The server communicates over stdio using the MCP protocol — it's designed to be launched by an MCP client, not used interactively.
Rate limits depend on your ExposureGuard plan. If you hit a 429 response, the server will return a message suggesting you upgrade at getexposureguard.com/pricing.
pip install build twine
python -m build
twine upload dist/*
Then users install with: pip install exposureguard-mcp
npm publish
Then users install with: npx exposureguard-mcp
MIT
com.exploit-intel/eip-mcp
dmontgomery40/pentest-mcp
pantheon-security/notebooklm-mcp-secure
cyanheads/pentest-mcp-server
io.github.akhilucky/ai-firewall-mcp