# set_site_alert

Arm an email watch on a site you already saved (FREE with a key) — DC Hub emails you when that site’s DCPI score, grid capacity, or nearby facilities move, so you don’t have to keep re-checking. On the free tier the alert is delivered to your human’s bound email (call bind_email first; notify_email is forced to that address). Pro can send to any address. The "monitor my shortlist for me" loop: call save_site first (it returns a saved_site_id), then set_site_alert on that id. Params: saved_site_id (required integer, from save_site or list_saved_sites), trigger_type ("dcpi_change" | "capacity_change" | "new_facility_nearby", default "dcpi_change"), threshold (number — the points/MW move that fires it, default 5), notify_email (required — the address the alert is sent to). Try: set_site_alert saved_site_id=12 trigger_type=dcpi_change threshold=5 notify_email=you@firm.com. Returns {ok, alert_id, message}. Do NOT use to watch a whole MARKET (use set_market_alert) or to save a new site (use save_site); this arms a monitor on ONE already-saved site.

Agent View of the PolicyLayer registry record for `set_site_alert`. HTML page: https://policylayer.com/tools/cloud-dchub-mcp-server/set-site-alert

## Facts

- Tool: `set_site_alert`
- Server: Mcp Server (`https://dchub.cloud/mcp`) — https://policylayer.com/tools/cloud-dchub-mcp-server.md
- Homepage: https://github.com/azmartone67/dchub-mcp-server
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: no
- Parameters: 4
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `threshold` | number | no | The points/MW move that fires the alert (default 5) |
| `notify_email` | string | no | Email address the alert is sent to (required); on free tier forced to your human's bound email |
| `trigger_type` | string | no | What movement fires the alert: "dcpi_change" (default), "capacity_change", or "new_facility_nearby" |
| `saved_site_id` | object | no | The saved_site_id returned by save_site or list_saved_sites (required) |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "set_site_alert",
    "arguments": {}
  }
}
```

## Why set_site_alert is rated Medium

This tool creates a new alert/watch configuration on a saved site, which is a reversible write operation (alerts can typically be disabled or deleted). It does not execute external code, delete data permanently, move money, or retrieve data without side effects. The trigger mechanism that monitors for changes is a side effect of writing the alert configuration, but the primary action is configuration creation.

From the tool's own definition: "The tool arms an email watch on a site by setting up alerts, which creates and modifies a monitoring configuration. Key phrases: 'Arm an email watch', 'emails you when...move', 'call set_site_alert on that id'."

## Use case

AI agents use set_site_alert to create or update resources in Mcp Server, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Mcp Server environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Mcp Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "set_site_alert": {
      "limits": [
        {
          "counter": "set_site_alert_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Mcp Server (78)

- `standing_intent` — Destructive — https://policylayer.com/tools/cloud-dchub-mcp-server/standing-intent.md
- `compare_sites` — Execute — https://policylayer.com/tools/cloud-dchub-mcp-server/compare-sites.md
- `rank_markets` — Execute — https://policylayer.com/tools/cloud-dchub-mcp-server/rank-markets.md
- `unlock_more_data` — Financial — https://policylayer.com/tools/cloud-dchub-mcp-server/unlock-more-data.md
- `ai_capacity_index` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/ai-capacity-index.md
- `analyze_parcel` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/analyze-parcel.md
- `analyze_site` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/analyze-site.md
- `cluster_sites_by_latency` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/cluster-sites-by-latency.md
- `compare_isos` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/compare-isos.md
- `deal_autopsy` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/deal-autopsy.md
- `discover_tools` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/discover-tools.md
- `export_dataset` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/export-dataset.md
- `fetch` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/fetch.md
- `find_alternatives` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/find-alternatives.md
- `get_agent_registry` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-agent-registry.md
- `get_backup_status` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-backup-status.md
- `get_changes` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-changes.md
- `get_climate_intel` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-climate-intel.md
- `get_composite_site_score` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-composite-site-score.md
- `get_dchub_recommendation` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-dchub-recommendation.md
- `get_disaster_risk` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-disaster-risk.md
- `get_energy_prices` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-energy-prices.md
- `get_facility` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-facility.md
- `get_facility_risk_delta` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-facility-risk-delta.md
- `get_fiber_intel` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-fiber-intel.md
- `get_fiber_readiness` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-fiber-readiness.md
- `get_gas_economics` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-gas-economics.md
- `get_gas_index` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-gas-index.md
- `get_gas_intelligence` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-gas-intelligence.md
- `get_global_power` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-global-power.md
- …and 48 more: https://policylayer.com/tools/cloud-dchub-mcp-server.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=cloud-dchub-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/cloud-dchub-mcp-server
