Skip to main content
Glama
Seiya-wasabi

mcp-server-security-snapshot

by Seiya-wasabi
README.md
# mcp-server-security-snapshot

MCP server that exposes [Website Security Snapshot API](https://api.cybersecurity-japan.com) as a tool for Claude and other AI agents.

Scan any public URL's HTTP security headers directly from your AI assistant — payment settled automatically on-chain via x402 (0.05 USDC on Base).

> **Network status:** Currently on Base Sepolia testnet. Mainnet (Base) goes live **2026-03-28**.
> Use `"NETWORK": "base-sepolia"` for testing before that date; switch to `"NETWORK": "base"` on 2026-03-28.

## Tools Provided

| Tool | Description | Cost |
|------|-------------|------|
| `scan_security_headers` | Scan a URL's security headers (live, paid) | 0.05 USDC |
| `demo_security_snapshot` | Return a pre-baked example (free) | Free |

### `scan_security_headers`

Checks:
- HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy
- HTTPS enforcement and redirect chain
- Presence of `security.txt`, `robots.txt`, `sitemap.xml`

## Setup

### Requirements

- A wallet with USDC on Base (mainnet) or Base Sepolia (testnet)
- Get testnet USDC free: https://faucet.circle.com

### Claude Desktop

Add to `claude_desktop_config.json` (usually `~/Library/Application Support/Claude/` on macOS, `%APPDATA%\Claude\` on Windows):

```json
{
  "mcpServers": {
    "security-snapshot": {
      "command": "npx",
      "args": ["-y", "mcp-server-security-snapshot"],
      "env": {
        "WALLET_PRIVATE_KEY": "0xYOUR_PRIVATE_KEY",
        "NETWORK": "base"
      }
    }
  }
}
```

For testnet (free USDC from faucet):
```json
{
  "env": {
    "WALLET_PRIVATE_KEY": "0xYOUR_TESTNET_KEY",
    "NETWORK": "base-sepolia"
  }
}
```

### Run Directly

```bash
WALLET_PRIVATE_KEY=0x... NETWORK=base npx mcp-server-security-snapshot
```

### Environment Variables

| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `WALLET_PRIVATE_KEY` | **Yes** | — | Private key of paying wallet (`0x...`) |
| `NETWORK` | No | `base` | `base` or `base-sepolia` |
| `API_BASE_URL` | No | `https://api.cybersecurity-japan.com` | Override API endpoint |

## Example Usage in Claude

Once configured, ask Claude:

> "Check the security headers on https://example.com"

> "Does https://mysite.com have HSTS and CSP enabled?"

> "Audit the security hygiene of https://example.com and tell me what's missing"

Claude will call `scan_security_headers`, pay 0.05 USDC from your wallet, and return the results.

## Security Note

Your `WALLET_PRIVATE_KEY` is used to sign USDC transactions. Use a dedicated wallet with only enough USDC for your intended usage. Do not use your main wallet.

## Links

- [API docs](https://api.cybersecurity-japan.com/docs)
- [OpenAPI spec](https://api.cybersecurity-japan.com/openapi.json)
- [x402 protocol](https://github.com/coinbase/x402)

## License

MIT

TDQS

A4.2/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have completely distinct purposes: demo_security_snapshot provides a static example for testing, while scan_security_headers performs an active scan of a URL's security headers. There is no functional overlap or ambiguity between them.

Naming Consistency5/5

Both tools follow a consistent verb_noun naming pattern (demo_security_snapshot, scan_security_headers) using snake_case. The verbs 'demo' and 'scan' clearly indicate their different actions, maintaining perfect consistency throughout the set.

Tool Count2/5

With only 2 tools, the server feels severely under-scoped for a security snapshot domain. While the tools are distinct, a security-focused server would typically need more operations (e.g., historical scans, configuration management, or additional scan types) to provide comprehensive coverage.

Completeness2/5

The toolset is highly incomplete for security snapshot functionality. It lacks core operations like retrieving past scans, managing scan configurations, or covering other security aspects beyond HTTP headers. Agents will face dead ends when trying to perform typical security audit workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues