Skip to main content
Glama
xelemental

webamon-mcp

by xelemental
README.md
# webamon-mcp

MCP (Model Context Protocol) server for the [Webamon](https://webamon.com) threat intelligence platform. Lets AI assistants like Claude search scan databases, submit URLs for scanning, browse campaigns, and explore infrastructure clusters — all via Lucene-powered queries across multiple indexes.

Built for the community as part of the [c0c0n 2026](https://india.c0c0n.org/) course: **"Threat Tradecraft: Infrastructure Hunting & Malware Analysis"**.

## Features

- **14 MCP tools** covering all free-tier accessible endpoints
- **Lucene search** across 8 indexes: scans, domains, servers, resources, detections, new_domains, infostealers, and Certificate Transparency Logs (CTL)
- **URL scanning** — submit URLs and retrieve scan reports
- **Campaign & cluster intelligence** — browse tracked phishing/malware campaigns and infrastructure clusters
- **Pro tier ready** — set `WEBAMON_PRO=true` to switch to `pro.webamon.com`

## Available Tools

| Tool | Description |
|------|-------------|
| `search_scans` | Search the scans index (domain names, tags, fingerprints, page titles, etc.) |
| `search_domains` | Search the domains index |
| `search_servers` | Search the servers index (IPs, ASNs, hosting, headers) |
| `search_resources` | Search web resources collected during scans |
| `search_detections` | Search threat detection records |
| `search_new_domains` | Search newly registered domains (NRDs) |
| `search_infostealers` | Search infostealer-related records |
| `search_ctl` | Search Certificate Transparency Log indexes by date |
| `basic_search` | Simple keyword search (non-Lucene) |
| `submit_scan` | Submit a URL for scanning |
| `get_scan_report` | Retrieve a completed scan report by report ID |
| `get_screenshot` | Retrieve the screenshot for a scan report |
| `list_campaigns` | List tracked phishing/malware campaigns |
| `list_clusters` | List infrastructure clusters |

## Installation

```bash
git clone https://github.com/xelemental/webamon-mcp.git
cd webamon-mcp
python -m venv venv

# Windows
venv\Scripts\activate

# macOS/Linux
source venv/bin/activate

pip install -e .
```

## Configuration

### Claude Desktop

Add to your `claude_desktop_config.json`:

**Windows** (`%APPDATA%\Claude\claude_desktop_config.json`):
```json
{
  "mcpServers": {
    "webamon": {
      "command": "C:\\path\\to\\webamon-mcp\\venv\\Scripts\\python.exe",
      "args": ["-m", "webamon_mcp"],
      "env": {
        "WEBAMON_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

**macOS** (`~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
  "mcpServers": {
    "webamon": {
      "command": "/path/to/webamon-mcp/venv/bin/python",
      "args": ["-m", "webamon_mcp"],
      "env": {
        "WEBAMON_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

### Pro Tier

If you have a Pro API key, add `WEBAMON_PRO` to switch to the pro base URL:

```json
"env": {
  "WEBAMON_API_KEY": "your-pro-api-key",
  "WEBAMON_PRO": "true"
}
```

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `WEBAMON_API_KEY` | Yes | Your Webamon API key |
| `WEBAMON_PRO` | No | Set to `true` to use `pro.webamon.com` (default: free tier) |
| `WEBAMON_MCP_TRANSPORT` | No | Transport mode — `stdio` (default) or `sse` |

## Lucene Query Examples

```
# Find scans of a specific domain
domain_name:example.com

# Find phishing pages tagged by OpenPhish
tag:openphish

# Find scans with a specific page title
page_title:"Account Verification"

# Find AI-flagged phishing pages
threat_ai:phishing

# Find scans by SSL fingerprint
fingerprint.ssl:"HASH_VALUE"

# Wildcard — all recent entries
*
```

## API Tiers

| Feature | Free | Pro |
|---------|------|-----|
| Base URL | `search.webamon.com` | `pro.webamon.com` |
| Auth | API key (`x-api-key`) | API key (`x-api-key`) |
| Max results | 25 per query | 500 per query |
| Pagination | No | Yes |
| Rate limits | Standard | Higher |
| Monitor API | No | Yes |

## License

MIT

## Author

[Subhajeet Singha](https://github.com/xelemental) ([@xelemental](https://github.com/xelemental))