https://github.com/ExposureGuard/exposureguard-mcp
MCP server for ExposureGuard — scan any domain for SPF, DMARC, SSL, security headers, DNSSEC, open ports, and more. Get A–F grades with fix snippets.
https://github.com/ExposureGuard/exposureguard-mcp
Last synced: 2 months ago
JSON representation
MCP server for ExposureGuard — scan any domain for SPF, DMARC, SSL, security headers, DNSSEC, open ports, and more. Get A–F grades with fix snippets.
- Host: GitHub
- URL: https://github.com/ExposureGuard/exposureguard-mcp
- Owner: ExposureGuard
- Created: 2026-03-29T14:37:46.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-18T14:25:29.000Z (3 months ago)
- Last Synced: 2026-04-19T00:30:56.694Z (3 months ago)
- Language: Python
- Homepage: https://getexposureguard.com
- Size: 33.2 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-devops-mcp-servers - ExposureGuard/exposureguard-mcp - Domain security scanning MCP server for SPF, DMARC, SSL, headers, DNSSEC, and open-port checks with remediation guidance. (Cloud Infrastructure / 🔒 Security)
- awesome-mcp-servers - **ExposureGuard/exposureguard-mcp 🍎 🪟 🐧** - Domain security scanning MCP server for SPF, DMARC, SSL, headers, DNSSEC, and open-port checks with remediation guidance. `http` `ai` `git` `github` (📦 Other)
README
# ExposureGuard MCP Server
An [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that connects AI assistants to the [ExposureGuard](https://getexposureguard.com) domain security scanning API.
## Tools
| 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 |
## Setup
### 1. Get an API Key
Sign up at [getexposureguard.com](https://getexposureguard.com) and grab your API key from the [dashboard](https://getexposureguard.com/dashboard/api-keys).
### 2. Install
```bash
# Option A: pip install (recommended)
pip install -e /path/to/exposureguard-mcp
# Option B: just install deps
pip install mcp httpx
```
### 3. Configure Your AI Client
#### Claude Desktop
Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```json
{
"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:
```json
{
"mcpServers": {
"exposureguard": {
"command": "exposureguard-mcp",
"env": {
"EXPOSUREGUARD_API_KEY": "your-api-key-here"
}
}
}
}
```
#### Cursor
Edit `.cursor/mcp.json` in your project root (or globally at `~/.cursor/mcp.json`):
```json
{
"mcpServers": {
"exposureguard": {
"command": "python",
"args": ["-m", "exposureguard_mcp.server"],
"env": {
"EXPOSUREGUARD_API_KEY": "your-api-key-here"
}
}
}
}
```
#### Windsurf
Edit `~/.codeium/windsurf/mcp_config.json`:
```json
{
"mcpServers": {
"exposureguard": {
"command": "python",
"args": ["-m", "exposureguard_mcp.server"],
"env": {
"EXPOSUREGUARD_API_KEY": "your-api-key-here"
}
}
}
}
```
#### VS Code (Copilot)
Edit `.vscode/mcp.json` in your project:
```json
{
"servers": {
"exposureguard": {
"type": "stdio",
"command": "python",
"args": ["-m", "exposureguard_mcp.server"],
"env": {
"EXPOSUREGUARD_API_KEY": "your-api-key-here"
}
}
}
}
```
### 4. Usage Examples
Once connected, ask your AI assistant:
- "Scan example.com for security issues"
- "What's the security grade for cloudflare.com?"
- "Show me how to fix the security issues on my-site.com"
- "What third-party scripts does shopify.com load?"
## Running Standalone
```bash
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
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](https://getexposureguard.com/pricing).
## Publishing
### PyPI
```bash
pip install build twine
python -m build
twine upload dist/*
```
Then users install with: `pip install exposureguard-mcp`
### npm
```bash
npm publish
```
Then users install with: `npx exposureguard-mcp`
## License
MIT