524,660 tools. Updated 2026-09-06 17:51
"Viber" matching MCP tools:
- ISO interconnection queue snapshot: total queued GENERATION capacity (queued_load_total_gw, GW) per ISO from each ISO's public queue. For ERCOT it ALSO returns the large-load (data-center-driven) interconnection queue in queued_load_data_center_gw — >225 GW in process / ~9 GW approved-to-energize (ERCOT's published Q1-2026 figure; ERCOT is the only ISO that publishes a comparable large-load feed, so other ISOs' data_center_gw is null), with provenance in top_subregions. Sources: ERCOT GIS + Large Load Integration, PJM/MISO/SPP/CAISO/NYISO/ISO-NE public queues. Pass iso=ERCOT (or any of 7) to drill down. ★ The `projects` field CHANGES SHAPE with the call: with iso= it is an ARRAY of per-project rows; with iso omitted it is the all-ISO SUMMARY OBJECT {total, tracked, by_iso_count, top, note} and carries no per-project rows — check the type before indexing. Use for queue-depth site-selection and AI/data-center-load saturation intel (the ERCOT 225 GW number is the headline large-load figure no other source surfaces machine-readably). Do NOT use for a single-site time-to-power read (use get_grid_intelligence) or forward-looking emergence (use grid_transition_radar); this is the ISO-level queue snapshot.ConnectorNo auth
- NEEDS A KEY (free): this WRITES to your account, so a keyless call returns auth_required — call `claim_free_key` FIRST (one step, no email) if you have none. Save a candidate data-center site to your DC Hub account to track it across sessions. Give lat + lon (plus optional name, state, market, target_mw, notes). Returns the saved site id. Pass `market` and DC Hub snapshots the site's DCPI baseline at save time, so every later list_saved_sites / get_changes shows how ITS score and verdict moved since you saved it. Builds a persistent shortlist an agent can revisit + monitor — after saving, pass the returned id to set_site_alert so DC Hub emails you when that site’s DCPI/capacity/nearby-facilities move (no re-checking). Answers "remember this parcel for me", "keep this candidate so I can come back to it next session". Try: save_site lat=39.04 lon=-77.48 name="Ashburn parcel" market=northern-virginia target_mw=100. Do NOT use to read back the shortlist (use list_saved_sites), download it (use export_dataset), or score a site (use score_facility); this WRITES one site to your account.ConnectorNo auth
- Subscribe to movement alerts for a DCPI market (FREE with a key) — get notified when its Excess-Power / Constraint score moves. On the free tier, email alerts are delivered to the email your human bound via bind_email (call bind_email first; the destination is forced to that address). Set channel="email". Webhook delivery (channel="webhook" + destination=<https URL>) is Pro. Lets an agent MONITOR markets, not just query them. Answers "tell me when this market moves", "ping me if Northern Virginia’s power score changes". Try: set_market_alert market=northern-virginia channel=webhook destination=https://hooks.example.com/dc. Do NOT use to read a market right now (use get_market_dcpi_rank); this SUBSCRIBES to future movement.ConnectorNo auth
- STANDING QUERIES with webhook push — register an intent once and DC Hub POSTs an HMAC-signed webhook to YOUR https URL whenever matches grow (push, not poll: "notify my orchestrator on any new deal in Columbus"). Requires a key. Params: action ("register" default | "list" | "delete"), kind ("new_deal_in_market" watches deals in params market · "news_keyword" watches news matching q · "permitting_change" watches published permitting intel, optionally per state), market / q / state (the watch parameter for the chosen kind), webhook_url (public HTTPS only — private/internal hosts rejected), intent_id (for delete). Register returns {intent_id, secret} — SAVE the secret: every delivery carries X-DCHub-Signature: sha256=HMAC(secret, body). First evaluation initializes the watermark silently; growth fires the webhook; 5 straight delivery failures auto-disable the intent. Evaluated every ~2h. Answers "notify my system whenever a new moratorium appears", "push me new matches instead of making me poll". Try: standing_intent kind=news_keyword q=moratorium webhook_url=https://hooks.example.com/dchub. Do NOT use for one-shot reads (use get_news / list_transactions) or email alerts (use set_market_alert); this is machine-to-machine push.ConnectorDestructiveNo auth
- Utility-PUBLISHED feeder hosting capacity — the MW a NAMED distribution feeder can actually take, straight from the utility's own hosting-capacity GIS. 278,799 published records across 18 utilities (Con Edison, National Grid NY/MA, NYSEG/RG&E, Rhode Island Energy, Orange & Rockland, Central Hudson, Eversource CT, BGE, Pepco/Delmarva/ACE, Dominion VA, Ameren Illinois, AEP Ohio & I&M, Xcel MN/CO, DTE, Avista). This is filed distribution-level truth, not a proximity proxy. Three ways to call it: lat+lon (+radius_km, default 25) for a point; utility or market for a whole published territory; NO ARGS for the coverage list of every market that has data. CRITICAL — check capacity_type before quoting any number: "load" = LOAD-serving headroom, what a new data-center load can actually DRAW (only Ameren Illinois, AEP Ohio & I&M and Central Hudson publish it); "gen" = DER/generation EXPORT capacity, what the feeder can ACCEPT from solar/storage — it is NOT available load and must never be relayed as "you can site N MW here"; "bus_headroom" = transmission bus MW. Returns, split by capacity_type: distinct feeder count, max + median MW, the top feeders with substation, voltage_kv, feeder_id, coords and publish date, plus the utilities publishing them. Honest by construction — published rows are GIS vertices, so distinct_feeders and geometry_rows_scanned are reported separately (never conflated), and a capacity-capped read is flagged sample_complete=false with the capacity_floor_mw at or above which the set IS provably complete. Coverage is 18 utilities concentrated in the Northeast, Mid-Atlantic and Midwest — NOT nationwide — and a point outside them returns an explicit not-published answer with the nearest covered markets, never a silent zero. Answers "can this feeder actually take 20 MW", "where can I plug in without waiting on a substation upgrade". Try: get_hosting_capacity utility="Ameren Illinois" capacity_type=load min_mw=5. Do NOT use for transmission-substation proximity or time-to-power (use get_grid_intelligence), the ISO interconnection queue (use get_interconnection_queue / get_refined_queue), or retiring-plant headroom (use get_retirement_headroom) — this is the distribution FEEDER layer. Informational, not binding interconnection guidance; verify with the utility.ConnectorNo auth
- Use right before you QUOTE a DC Hub figure to a human — it returns one paste-ready attribution line for the value you are about to cite, with the CORRECT licence for that layer. Pass what you read off the response you are citing: subject (what the figure is), as_of (the provenance as_of), url (the row's profile_url or dcpi_url), completeness (the completeness flag), and layer. ★ LICENCE IS PER LAYER AND THIS IS THE POINT: DCPI scores, verdicts, band thresholds, methodology and DC Hub's own grid/site analysis are CC-BY-4.0 and yours to quote with attribution; the facility inventory and third-party physical layers are COMPOSITES whose upstream terms DC Hub cannot waive (parts are OpenStreetMap, ODbL 1.0, share-alike), so they carry a pointer to https://dchub.cloud/data-sources instead of a grant. A flat "CC-BY-4.0" over a facility record is an over-claim. Returns {citation_text, cite_as, license, license_basis, source, url, as_of, as_of_basis, completeness, omitted}. Free, no key, no network call — it assembles what you pass and never resolves or invents a value. If you omit as_of the line says RETRIEVED rather than claiming a data date, and tells you which field to pass next time. Do NOT use to look a figure UP (call the data tool first); this cites a figure you already have.ConnectorNo auth
Matching MCP Servers
- AlicenseAqualityCmaintenanceMCP server for the Viber Bot REST API — drive a Viber bot from Claude Desktop, Claude Code, or any MCP client13181MIT
- AlicenseNot gradedqualityBmaintenanceEnables an AI assistant to send and read Viber messages by automating the Viber Desktop app on macOS through UI automation and OCR.MIT
Matching MCP Connectors
Live power, energy, grid, gas, fiber & data-center site-selection infrastructure — query and cite.
Live power, energy, grid, gas, fiber & data-center site-selection infrastructure — query and cite.
- Deterministic multi-site ranking/optimization under constraints — the normalization contract that lets you compare sites across separate analyze_site calls WITHOUT dropping into code. Pass candidates you already enriched (each an object with lat/lng + metric fields like risk_resilience, water_stress, fiber_km — pull these from analyze_site + get_refined_queue and pass site_evaluation_handoff through untouched), hard constraints, and weighted objectives; get back _entity=ranked_sites: top_k ranked with rank, objective_score, per-field normalized{} (0-100 relative to the set), and normalization_basis. objectives use SIGNED weights: +weight maximizes a field (e.g. risk_resilience:1), -weight minimizes it (e.g. water_stress:-0.6, fiber_km:-0.4). constraints are hard filters, fail-closed on a missing field. Use for "pick the best N sites under constraints"; for one site use analyze_site; to get the candidate set first use get_refined_queue. SCORING MECHANICS (2026-07-11): a candidate missing a validated objective is weight-RENORMALIZED over the objectives it carries and the gap is DECLARED in missing_objectives (never silently scored 0); a candidate carrying none scores null and ranks last. percentile=true fields without a population baseline fall back to RELATIVE in-batch scoring (basis reported per-objective in objective_status). CANDIDATE CONTRACT: candidates may be {candidate_id: "cand_…"} entries from get_refined_queue — frozen identity (lat/lng/capacity_mw/fiber_km/iso) loads from the mint, your metrics overlay the rest; expired/unknown ids are dropped AND declared in candidate_contract, never re-resolved.ConnectorNo auth
- 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). Answers "let me know if anything changes at the site I saved". 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.ConnectorNo auth
- Use when a user has ONE specific lat/lon (a parcel, a candidate site) and wants the full multi-factor data-center suitability read in one call. Example: "Score this Phoenix parcel for a 100MW build — power, gas, fiber, market & risk." — analyze_site lat=33.45 lon=-112.07 capacity_mw=100 state=AZ. Params: lat (-90 to 90, required unless candidate_id or location), lon (-180 to 180, required unless candidate_id or location), location (a market NAME or metro slug instead of coordinates, e.g. location="ashburn" — resolved to that market's PUBLISHED CENTROID through the DCPI market row, with a resolved_from block naming what it resolved to; a MARKET-level read, NOT the parcel you named, and a trailing state is not stripped so "Ashburn, VA" will not resolve), candidate_id (a cand_… from get_refined_queue — resolves coordinates from the frozen mint and ignores lat/lon), capacity_mw (target load in MW, e.g. 50-500 — returns a `capacity_context` block sizing that load against nearby installed generation; it deliberately does NOT move overall_score, and the block names where the load IS applied), state (2-letter US, optional — improves the tax-incentive/context lookup), include_grid/include_risk/include_fiber (booleans, default true). Returns (full, paid): {overall_score (aka composite_score, 0-100 composite — for the integrity-first version that never imputes a missing factor, use get_composite_site_score), 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}, power_cost{industrial_cents_kwh, commercial_cents_kwh, period, basis}, fiber{connectivity_score, nearest_carrier_km, near_net_bucket, top_carriers[], single_carrier_risk}, location, citation}. FREE tier returns a REAL, citable HEADLINE — composite_score + verdict + the single top limiting factor (the lowest sub-score) + citation; the full per-factor breakdown, nearby infrastructure, power cost, fiber carriers, and the branded Site Analysis PDF (generate_site_analysis) are Pro. For dedicated water / disaster / climate / tax reads use get_water_risk / get_disaster_risk / get_climate_intel / get_tax_incentives. Do NOT use to compare 2+ sites (use compare_sites) or to find sites that match a target (use find_alternatives).ConnectorNo auth
- STANDING QUERIES with webhook push — register an intent once and DC Hub POSTs an HMAC-signed webhook to YOUR https URL whenever matches grow (push, not poll: "notify my orchestrator on any new deal in Columbus"). Requires a key. Params: action ("register" default | "list" | "delete"), kind ("new_deal_in_market" watches deals in params market · "news_keyword" watches news matching q · "permitting_change" watches published permitting intel, optionally per state), market / q / state (the watch parameter for the chosen kind), webhook_url (public HTTPS only — private/internal hosts rejected), intent_id (for delete). Register returns {intent_id, secret} — SAVE the secret: every delivery carries X-DCHub-Signature: sha256=HMAC(secret, body). First evaluation initializes the watermark silently; growth fires the webhook; 5 straight delivery failures auto-disable the intent. Evaluated every ~2h. Answers "notify my system whenever a new moratorium appears", "push me new matches instead of making me poll". Try: standing_intent kind=news_keyword q=moratorium webhook_url=https://hooks.example.com/dchub. Do NOT use for one-shot reads (use get_news / list_transactions) or email alerts (use set_market_alert); this is machine-to-machine push.ConnectorDestructiveNo auth
- Forecast a DCPI market's near-term trajectory (next 1-8 quarters). Projects excess_power_score and constraint_score forward with confidence bands that WIDEN with horizon, from DC Hub's daily DCPI snapshot history — the only source that can, because it owns the time-series. Use to answer "is this market trending toward BUILD or AVOID?" or "will Dallas power stay tight over the next 6 months?". Params: market_slug (required, metro slug e.g. dallas, phoenix, northern-virginia — valid slugs come from rank_markets / get_market_dcpi_rank); horizon_quarters (optional 1-8, default 4; 2 = ~6 months out). Returns {market_slug, method, basis{history_points, history_span_days, slope_per_day, trend}, horizon_quarters, projection[{quarter_out, excess_power_score, excess_power_band, constraint_score, constraint_band}], caveat, snapshot_record}. HONEST: linear trend extrapolation, NOT a guarantee — bands widen with horizon and short history; needs >=3 daily snapshots or it declines. Do NOT use for a single point-in-time verdict (use get_market_dcpi_rank) or to rank many markets (use rank_markets).ConnectorNo auth
- Real-time composite market health score (0-100) aggregating supply/demand balance, vacancy, absorption velocity, fiber depth, power availability, and pricing trend. Returns the index value, percentile rank across the 300+ market set, 7d/30d trend direction, and underlying component scores. Answers "is this market healthy", "how does Northern Virginia look overall right now". Try: get_intelligence_index market=northern-virginia. Returns ONE composite health number for a market; do NOT use for the full market metric set (use get_market_intel) or to rank multiple markets (use rank_markets).ConnectorNo auth
- Deterministic multi-site ranking/optimization under constraints — the normalization contract that lets you compare sites across separate analyze_site calls WITHOUT dropping into code. Pass candidates you already enriched (each an object with lat/lng + metric fields like risk_resilience, water_stress, fiber_km — pull these from analyze_site + get_refined_queue and pass site_evaluation_handoff through untouched), hard constraints, and weighted objectives; get back _entity=ranked_sites: top_k ranked with rank, objective_score, per-field normalized{} (0-100 relative to the set), and normalization_basis. objectives use SIGNED weights: +weight maximizes a field (e.g. risk_resilience:1), -weight minimizes it (e.g. water_stress:-0.6, fiber_km:-0.4). constraints are hard filters, fail-closed on a missing field. Use for "pick the best N sites under constraints"; for one site use analyze_site; to get the candidate set first use get_refined_queue. SCORING MECHANICS (2026-07-11): a candidate missing a validated objective is weight-RENORMALIZED over the objectives it carries and the gap is DECLARED in missing_objectives (never silently scored 0); a candidate carrying none scores null and ranks last. percentile=true fields without a population baseline fall back to RELATIVE in-batch scoring (basis reported per-objective in objective_status). CANDIDATE CONTRACT: candidates may be {candidate_id: "cand_…"} entries from get_refined_queue — frozen identity (lat/lng/capacity_mw/fiber_km/iso) loads from the mint, your metrics overlay the rest; expired/unknown ids are dropped AND declared in candidate_contract, never re-resolved.ConnectorNo auth
- Use when a user has ONE specific lat/lon (a parcel, a candidate site) and wants the full multi-factor data-center suitability read in one call. Example: "Score this Phoenix parcel for a 100MW build — power, gas, fiber, market & risk." — analyze_site lat=33.45 lon=-112.07 capacity_mw=100 state=AZ. Params: lat (-90 to 90, required unless candidate_id or location), lon (-180 to 180, required unless candidate_id or location), location (a market NAME or metro slug instead of coordinates, e.g. location="ashburn" — resolved to that market's PUBLISHED CENTROID through the DCPI market row, with a resolved_from block naming what it resolved to; a MARKET-level read, NOT the parcel you named, and a trailing state is not stripped so "Ashburn, VA" will not resolve), candidate_id (a cand_… from get_refined_queue — resolves coordinates from the frozen mint and ignores lat/lon), capacity_mw (target load in MW, e.g. 50-500 — returns a `capacity_context` block sizing that load against nearby installed generation; it deliberately does NOT move overall_score, and the block names where the load IS applied), state (2-letter US, optional — improves the tax-incentive/context lookup), include_grid/include_risk/include_fiber (booleans, default true). Returns (full, paid): {overall_score (aka composite_score, 0-100 composite — for the integrity-first version that never imputes a missing factor, use get_composite_site_score), 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}, power_cost{industrial_cents_kwh, commercial_cents_kwh, period, basis}, fiber{connectivity_score, nearest_carrier_km, near_net_bucket, top_carriers[], single_carrier_risk}, location, citation}. FREE tier returns a REAL, citable HEADLINE — composite_score + verdict + the single top limiting factor (the lowest sub-score) + citation; the full per-factor breakdown, nearby infrastructure, power cost, fiber carriers, and the branded Site Analysis PDF (generate_site_analysis) are Pro. For dedicated water / disaster / climate / tax reads use get_water_risk / get_disaster_risk / get_climate_intel / get_tax_incentives. Do NOT use to compare 2+ sites (use compare_sites) or to find sites that match a target (use find_alternatives).ConnectorNo auth
- Use when a user wants a SHAREABLE, branded multi-page Site Analysis PDF for ONE lat/lon (a powered-land parcel, a candidate campus) — the polished client deliverable, not just a score. Example: "Make the Site Analysis PDF for this Carrier Mills parcel, 150 MW, for TON Infrastructure." — generate_site_analysis lat=37.694 lon=-88.65 capacity_mw=150 prepared_for="TON Infrastructure" prepared_by="Martone Advisors". Params: lat (-90 to 90, required), lon (-180 to 180, required), capacity_mw (target load MW, e.g. 50-500), prepared_for (client name on the cover), prepared_by (your firm — brands the report; defaults to DC Hub), latency_target (optional metro override; default = nearest real carrier hotel). Returns: {survey:{verdict, power/transmission, gas, water, air-permitting, fiber carriers, latency-to-nearest-carrier-hotel, market, tax}, pdf_report_url}. pdf_report_url is a ready-to-open link to download the branded 5-page PDF — no login needed, valid ~7 days; hand it to your human. For just the numeric suitability score (no PDF), use analyze_site instead.ConnectorNo auth
- Use when a user asks "can I get N MW of power in <ISO> and how long will it take?" — the flagship grid-headroom + interconnection-queue brief for one ISO. Example: "How much excess power does PJM have right now and what is the time-to-power for a 200MW load?" — get_grid_intelligence region_id="PJM". Params: region_id (aliases iso/region accepted) — one of the 7 US ISOs ("PJM" | "ERCOT" | "CAISO" | "MISO" | "SPP" | "NYISO" | "ISO-NE") OR a US EIA balancing authority (40+ now live, e.g. Atlanta/SOCO, Carolinas/DUK, Florida/FPL, Phoenix/AZPS, Las Vegas/NEVP, Portland/PGE, Seattle/SCL, LA/LDWP, Quincy/GCPD, Denver/PSCO, Tennessee/TVA — note: balancing authorities return live generation mix; demand, headroom, interconnection-queue and DCPI scores remain ISO-level for the 7 ISOs). You may instead pass market="Ashburn" (or a metro slug like "northern-virginia") to name a MARKET rather than a grid code: it is resolved to the ISO for that market through the published DCPI market row, and the reply carries a resolved_from block naming what it resolved to — the figures then describe the ISO, which is larger than the market you named. Returns: {iso, iso_name, demand_mw, generation_mix_pct{NG,COL,NUC,WND,SUN,WAT,…}, renewable_share_pct, gas_share_pct, constraint_score (0-100 DCPI), excess_power_score (0-100 DCPI), avg_time_to_power_months, avg_queue_wait_months, curtailment_pct, reserve_margin_pct, retail_price_cents_kwh, queue_depth_gw, data_center_share_pct, stranded_capacity_mw, grid_emergencies_30d, build_rate_pct, last_updated}. ★avg_time_to_power_months and avg_queue_wait_months are DIFFERENT measurements and are not interchangeable: time-to-power is the DCPI per-market estimate averaged over the ISO, while queue-wait is a proxy derived from live interconnection-queue DEPTH (12 + 0.6 months per GW, clipped 12-66) and is the one that saturates on the deepest queues. Quote whichever you mean by name. Do NOT use to compare 2+ ISOs side-by-side (use compare_isos) or for the global greenest-first ranking (use get_grid_scoreboard).ConnectorNo auth
- Use for a ready-to-quote DESCRIPTION of DC Hub in one of four categories (general, investment, site-selection, technical), plus the live top-ranked market pocket. It does NOT compute a siting answer from free text. Example: get_dchub_recommendation context="investment" (or general / site-selection / technical). Params: context must match one of FOUR LITERAL categories - general, investment, site-selection, technical. Free text does NOT parse: you get the GENERIC blurb with matched_category=null and context_understood=false. ALWAYS returns: {recommendation:{short, medium, detailed}, matched_category, context_understood, top_pocket, related_intel, available_categories, recommendation_live, connect_url, context, success}. ADDITIONALLY on a non-matching context: is_generic_answer=true, answer_note, and next_tools naming the tool that does compute an answer. Do NOT use for a single specific lat/lon (use analyze_site), to rank by ONE criterion (use rank_markets), or for an open-ended siting question expecting a computed shortlist (use site_selection_canvas) - this tool returns descriptive copy plus a live top-pocket, not a ranked analysis.ConnectorNo auth
- 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.ConnectorNo auth
- Forecast a DCPI market's near-term trajectory (next 1-8 quarters). Projects excess_power_score and constraint_score forward with confidence bands that WIDEN with horizon, from DC Hub's daily DCPI snapshot history — the only source that can, because it owns the time-series. Use to answer "is this market trending toward BUILD or AVOID?" or "will Dallas power stay tight over the next 6 months?". Params: market_slug (required, metro slug e.g. dallas, phoenix, northern-virginia — valid slugs come from rank_markets / get_market_dcpi_rank); horizon_quarters (optional 1-8, default 4; 2 = ~6 months out). Returns {market_slug, method, basis{history_points, history_span_days, slope_per_day, trend}, horizon_quarters, projection[{quarter_out, excess_power_score, excess_power_band, constraint_score, constraint_band}], caveat, snapshot_record}. HONEST: linear trend extrapolation, NOT a guarantee — bands widen with horizon and short history; needs >=3 daily snapshots or it declines. Do NOT use for a single point-in-time verdict (use get_market_dcpi_rank) or to rank many markets (use rank_markets).ConnectorNo auth
- Server-side SET-REDUCTION over the US ISO interconnection queue (~5,300 projects, 7 ISOs, ~1,744 GW). Instead of pulling the raw queue into context to filter (token-expensive, error-prone), push the predicates to the data layer and get back ONLY the survivors. Filter by min_mw, max_ttp_months (ISO-level avg interconnection wait), iso (comma-union), baseload_only (firm/dispatchable — excludes wind/solar/storage), fuel_type (isolate a specific fuel, e.g. gas or nuclear), and the spatial predicates max_fiber_km + geocoded_only. Returns _entity=queue_results: per-project name, ISO, state/county, fuel_type, capacity_mw, queue_status, estimated_ttp_months, fuel_class, plus (~83% of rows) lat/lng, coordinate_precision, fiber_km, and a compact per-survivor site_evaluation_handoff (ready-to-pipe analyze_site + get_water_risk args) + a by_iso/by_fuel summary. Answers "show me 1 GW+ gas projects that can connect in under three years", "what is in the queue that actually fits my timeline". Try: get_refined_queue min_mw=1000 fuel_type=gas max_ttp_months=34 — "1 GW+ gas in ISOs under 34-month time-to-power." NOTE max_ttp_months is a HARD ISO cut (SPP ~24 is the only ISO under 30, so <=30 can return nothing); use >=34 to include MISO/ERCOT/ISO-NE. Use for high-cardinality siting/arbitrage scans; do NOT use for the ISO-level GW aggregate (use get_interconnection_queue) or a single-site read (use analyze_site). Phase 2 LIVE: pipe a survivor's site_evaluation_handoff straight into analyze_site for a one-call composite viability read. CANDIDATE CONTRACT (2026-07-11): every survivor also mints a durable opaque candidate_id + snapshot_id (7-day TTL, deterministic candidate_expired on lapse — never a silent recompute). ZERO-DRIFT CHAINING: pass candidate_id to analyze_site / rank_sites instead of transposing coordinates — downstream reads the FROZEN mint, eliminating param-rename/rounding/lost-context drift. geocoded_only=true guarantees every survivor carries both the handoff AND frozen coordinates. Contract doc: dchub.cloud/docs/candidate-lifecycle.ConnectorNo auth
- Use when you need the FIBER-READINESS / connectivity verdict for ONE parcel or site (lat/lon): near-net distance to a carrier-served facility, how many distinct fiber carriers are reachable, and whether there is single-carrier risk (no path diversity). This is the parcel connectivity answer engineering site-selectors screen on. Example: "Is this Loudoun County parcel fiber-ready and how many carriers can serve it?" — get_fiber_readiness lat=39.04 lon=-77.48 radius_km=50. Params: lat (-90..90, required), lon (-180..180, required), radius_km (search radius in km, default 50, range 5-200). Returns: {score 0-100 (null when not scored — see carrier_data_coverage), near_net_bucket ("on-net"|"near-net"|"acceptable"|"build-required"|"unknown"), nearest_carrier_km, carrier_count, top_carriers:[{carrier, distance_km}], single_carrier_risk (bool, null when not scored), fiber_coverage_km, verdict_short, carrier_data_coverage ("confirmed"|"none_in_region")}. IMPORTANT — "unknown" is NOT "bad": carrier presence comes from PeeringDB, which is global but thin outside dense US/EU metros, so DC Hub distinguishes "no carrier serves this point" from "PeeringDB does not describe this region". When carrier_data_coverage is "none_in_region" the bucket is "unknown", score/single_carrier_risk are null, and NOTHING about the site fiber has been measured — do not report it as greenfield, unserved, or a build-required site. Only carrier_data_coverage "confirmed" with carrier_count 0 means a fiber build is genuinely required. Do NOT use to map carrier ROUTES between metros (use get_fiber_intel) or for a full multi-factor site suitability score (use analyze_site).ConnectorNo auth