# compare_sites

Use when a user has narrowed to 2-4 candidate parcels and wants a side-by-side winner picker across power, gas, fiber, market & risk — with a recommended pick and the reason. Runs the analyze_site read on each parcel and ranks them by overall score. Example: "Compare a Phoenix parcel and an Ashburn parcel for a 50MW build — which wins and why?" — compare_sites locations="33.45,-112.07;39.04,-77.48" capacity_mw=50. Params: locations is a semicolon-separated list of "lat,lon" pairs (2-4 max); capacity_mw is the target load in MW (e.g. 50-500). Returns (full, paid): {sites:[{lat, lon, capacity_requested_mw, overall_score (0-100 composite), interpretation (verdict string, e.g. "Excellent site"), scores{power_infrastructure, gas_pipeline_access, fiber_connectivity, market_conditions, risk_resilience — each 0-100}, nearby{substations_50km, power_plants_80km, gas_pipelines_50km, facilities_100km, fiber_carriers_in_state, generation_capacity_mw, total_capacity_mw}, fiber{connectivity_score, carrier_count, nearest_carrier_km, near_net_bucket, single_carrier_risk, top_carriers[{carrier, distance_km}]}, power_cost, location}], winner:{lat, lon, overall_score, why}, decision_rationale, citation}. Each site carries the same shape analyze_site returns. compare_sites is a paid/Pro tool — the free tier returns a locked preview, not the comparison. Do NOT use for a single site (use analyze_site) or to rank entire markets (use rank_markets).

Agent View of the PolicyLayer registry record for `compare_sites`. HTML page: https://policylayer.com/tools/cloud-dchub-mcp-server/compare-sites

## Facts

- Tool: `compare_sites`
- 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: Execute (High risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: no
- Parameters: 3
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `sites` | object | no | Alternative to locations: an array of {lat, lon} (or {lat, lng}) objects, 2-4 sites |
| `locations` | string | no | Semicolon-separated list of 2-4 "lat,lon" pairs to compare, e.g. "33.45,-112.07;39.04,-77.48" |
| `capacity_mw` | number | no | Target power load for the build in megawatts (MW), e.g. 50 (typical 50-500) |

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": "compare_sites",
    "arguments": {}
  }
}
```

## Why compare_sites is rated High

compare_sites triggers real processes with real consequences. An agent gone sideways doesn't fire it once. It starts dozens of builds, sends mass notifications, or burns through compute before anyone looks up.

## Use case

AI agents invoke compare_sites to trigger actions in Mcp Server. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## 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": {
    "compare_sites": {
      "limits": [
        {
          "counter": "compare_sites_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Mcp Server (78)

- `standing_intent` — Destructive — https://policylayer.com/tools/cloud-dchub-mcp-server/standing-intent.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
- `get_grid_data` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-grid-data.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
