MCP server for ExposureGuard domain security scanning API
Project description
ExposureGuard MCP Server
An MCP (Model Context Protocol) server that connects AI assistants to the ExposureGuard 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 and grab your API key from the dashboard.
2. Install
# 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):
{
"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"
}
}
}
}
Cursor
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"
}
}
}
}
Windsurf
Edit ~/.codeium/windsurf/mcp_config.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:
{
"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
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.
Publishing
PyPI
pip install build twine
python -m build
twine upload dist/*
Then users install with: pip install exposureguard-mcp
npm
npm publish
Then users install with: npx exposureguard-mcp
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file exposureguard_mcp-1.0.2.tar.gz.
File metadata
- Download URL: exposureguard_mcp-1.0.2.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
242a7d5389c943286db1cc1a44175420d14e88002d51ad1cb3b24e0111070869
|
|
| MD5 |
bc341b9c8c67b95d653e85c7ec6f8f17
|
|
| BLAKE2b-256 |
ead78a88d1ea378a39366b991685d4e5e0d216d70f88842ea2f74e7e2352c714
|
File details
Details for the file exposureguard_mcp-1.0.2-py3-none-any.whl.
File metadata
- Download URL: exposureguard_mcp-1.0.2-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3a290af428964fa4bbc12dbca8540fff0cf39b6270e55d2e8a2f02a6b10549f
|
|
| MD5 |
5974b58b022079850aec06b9711b1923
|
|
| BLAKE2b-256 |
2fa4d0369545b292d627438370096c05ba41e863d50ffbce13138f55454735a4
|