pypi exposureguard-mcpstdioupdated 4mo ago
An MCP (Model Context Protocol) server that connects AI assistants to the ExposureGuard domain security scanning API.
What can you do with ExposureGuard?
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
Install
Add ExposureGuard to your client. Pick the one you use.
claude mcp add exposureguard-mcp -- uvx exposureguard-mcpcodex mcp add exposureguard-mcp -- uvx exposureguard-mcpamp mcp add exposureguard-mcp -- uvx exposureguard-mcp{
"mcpServers": {
"exposureguard-mcp": {
"command": "uvx",
"args": [
"exposureguard-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"exposureguard-mcp": {
"command": "uvx",
"args": [
"exposureguard-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"exposureguard-mcp","command":"uvx","args":["exposureguard-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"exposureguard-mcp": {
"command": "uvx",
"args": [
"exposureguard-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"exposureguard-mcp": {
"command": "uvx",
"args": [
"exposureguard-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"exposureguard-mcp": {
"command": "uvx",
"args": [
"exposureguard-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"exposureguard-mcp": {
"type": "local",
"command": "uvx",
"args": [
"exposureguard-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"exposureguard-mcp": {
"command": {
"path": "uvx",
"args": [
"exposureguard-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
uvx exposureguard-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
4 tools
ExposureGuard exposes 4 tools to a connected agent.
- 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
Score
59 / 100
Adequate
- Documentation22/25
- Maintenance13/25
- Trust6/20
- Capability6/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 135 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 4 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.0.2Latest | Mar 31, 2026 |