# cluster_sites_by_latency

Physics-bounded latency clustering for 2-8 sites — returns viable low-latency clusters and pairwise RTT floors before any routing work. Use when your human wants to know which of N candidate sites can form a synchronous / low-latency cluster (sync replication, active-active pairs, HPC pods): deterministic pruning BEFORE detailed routing. Per site pair: haversine distance, round-trip physics floor (km × 4.9 µs/km — light in SMF-28 fiber, n≈1.468 — then ×2), estimated real RTT (floor × route_factor 1.4, a stamped inference), viable vs physics_impossible against your budget, and confidence_v — the provenance tier of the supporting evidence (published | tracked | inferred). Also returns clusters: the largest site subsets whose ALL pairwise estimates fit the budget, plus each site's inferred dark-fiber screening level. CANDIDATE CONTRACT: pass candidate_ids (from get_refined_queue) instead of raw coordinates — each resolves to its FROZEN mint coordinates (zero transposition), and cand_… tokens may also be mixed into the sites string; expired/unknown ids are dropped AND declared in candidate_contract (fail-closed). Example: cluster_sites_by_latency sites="39.04,-77.48:ashburn;39.29,-76.61:baltimore;40.42,-79.99:pittsburgh" max_latency_us=2000 — or cluster_sites_by_latency candidate_ids=["cand_…","cand_…"] max_latency_us=2000. Returns _entity=latency_clusters: {pairs:[{from, to, distance_km, floor_rtt_us, est_rtt_us, viable, physics_impossible, confidence_v, endpoint_dark_screen}], clusters:[{sites, size, max_est_rtt_us}], viable_count, pruned_count, assumptions, provenance}. Do NOT treat this as an engineered latency quote — the floors are physics (no fiber path can beat them) but the estimates are inference (route_factor 1.4); always quote each pair's confidence_v when relaying results. For actual route corridors use plan_fiber_leadin; for a single-site connectivity score use get_fiber_readiness.

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

## Facts

- Tool: `cluster_sites_by_latency`
- 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: Read (Low risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: no
- Parameters: 4
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `sites` | string | no | Semicolon-separated "lat,lon" pairs, 2-8 sites (same format as compare_sites locations); optional per-site labels via "lat,lon:label", e.g. "39.04,-77.48:ashbur |
| `candidate_ids` | object | no | Array (or comma-separated string) of candidate_id values from get_refined_queue — each resolves to its FROZEN mint coordinates (zero transcription drift); expir |
| `max_latency_us` | number | no | Round-trip latency budget in microseconds (default 1000 µs = 1 ms; sync replication is typically 1000-2000 µs) |
| `min_confidence` | string | no | Minimum evidence tier a pair must meet to count as viable: "published" \| "tracked" \| "inferred" (default inferred = include all) |

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

## Why cluster_sites_by_latency is rated Low

cluster_sites_by_latency is a pure computational analysis tool that queries site characteristics (locations, latency metrics) and returns calculated clustering results. It retrieves and analyzes existing data without creating, modifying, deleting, or executing operations. The haversine distance and physics-based RTT calculations are deterministic reads over site metadata.

From the tool's own definition: "Tool performs latency analysis and clustering calculations on site data, returning 'viable low-latency clusters', 'pairwise RTT floors', 'haversine distance', 'estimated real RTT', and viability assessments."

## Use case

AI agents call cluster_sites_by_latency to retrieve information from Mcp Server without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "cluster_sites_by_latency": {}
  }
}
```

## 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
- `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
