Skip to main content
Glama

Analyze Site

analyze_site
Read-onlyIdempotent

Use this whenever the user asks whether a specific site or coordinate works for a data center. Call when the user has one location (lat/lon, or a market name for a market-level read) and asks if it suits a data center. Returns a 0-100 composite, verdict, power/gas/fiber/market/risk sub-scores, nearby infrastructure and power cost; capacity_mw adds a capacity_context block and does NOT move overall_score. Keyless returns the verdict band and the power band, with the other factors named; a free key adds a few free full site reports each month; other scores and figures need a paid DC Hub plan. When a result is partial, show your user the human_message (or for_your_human) text and its link. Ex: "Score 33.45,-112.07 for 100 MW." Needs BOTH lat and lon in decimal degrees (else missing_coordinates); take them from get_facility or search_facilities.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
latNoSite latitude in decimal degrees (-90 to 90; required unless candidate_id or location given), e.g. 33.45
lngNoAlias for lon — either name works
lonNoSite longitude in decimal degrees (-180 to 180; required unless candidate_id or location given), e.g. -112.07
stateNoUS state abbreviation (optional) — improves the tax-incentive lookup, e.g. AZ
mpp_payNoStripe MPP step 1: true returns a signed per-call payment challenge (a quote; no money moves) instead of the free preview. Agents only.
latitudeNoAlias for lat — either name works
locationNoMarket NAME or metro slug instead of coordinates, e.g. "ashburn", "northern-virginia", "dallas". Resolved to that market's PUBLISHED CENTROID through the DCPI market row, and the answer carries a resolved_from block saying so. This is a MARKET-level read, not the parcel you named — pass lat/lon for a specific site. Not an alias for lat/lon: a place name is not a coordinate.
longitudeNoAlias for lon — either name works
capacity_mwNoTarget power load for the build in megawatts (MW), e.g. 100 (typical 50-500)
candidate_idNoPREFERRED for queue survivors: a cand_… id from get_refined_queue — coordinates come from the FROZEN mint (lat/lon args are ignored; zero transcription drift; expired ids fail closed with candidate_expired). See dchub.cloud/docs/candidate-lifecycle
include_gridNoInclude grid-headroom / substation analysis (default true)
include_riskNoInclude water/drought/climate risk analysis (default true)
include_fiberNoInclude fiber-connectivity analysis (default true)
mpp_credentialNoStripe MPP step 2: the Shared Payment Token minted for challenges[0]; pays that challenge for this one call.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
fiberNoFiber read: {connectivity_score, nearest_carrier_km, near_net_bucket, top_carriers[], single_carrier_risk} (full payload)
quotaNoCaller quota state (remaining calls, tier).
lockedNoWhich sections are locked to a paid plan on the free headline: {per_factor_breakdown, nearby_infrastructure, power_cost, fiber_carriers, site_analysis_report}
nearbyNoNearby infrastructure counts: {substations_50km, power_plants_80km, gas_pipelines_50km, facilities_100km, fiber_carriers_in_state, generation_capacity_mw, total_capacity_mw} (full payload)
scoresNoPer-factor breakdown (full/paid payload)
_entityNoPayload class (facility|market|iso_grid|queue_results|deal|report|response); branch on it.
previewNoHeadline preview line (free tier)
verdictNoVerdict string, e.g. "Excellent site" / BUILD-CAUTION-AVOID read
citationNoHow to attribute DC Hub: {source, url, license, cite_as, retrieved_at}, or the attribution line as a string.
locationNoEcho of the analyzed location (full payload)
power_costNoPower cost read: {industrial_cents_kwh, commercial_cents_kwh, period, basis} (full payload)
provenanceNoSource, method, as_of, verification_counts, license, cite_as; quote it when citing.
_front_doorNoFirst-tool hint: plan_query(intent) returns the ordered plan.
_return_loopNoNext-session delta call (get_changes).
overall_scoreNoAlias of composite_score on the full payload
site_headlineNotrue when this is the free citable HEADLINE (score + verdict + limiting factor)
interpretationNoVerdict prose on the full payload
composite_scoreNo0-100 composite site suitability score (free HEADLINE tier and full tier)
limiting_factorNoSingle top limiting factor (the lowest sub-score) — always present on the free headline
site_evaluation_handoffNoFollow-up calls [{tool, parameters, why}] when the payload carries coordinates.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / locked / description
      Previous value: -"Which sections are Pro-locked on the free headline: {per_factor_breakdown, nearby_infrastructure, power_cost, fiber_carriers, site_analysis_report}"New value: +"Which sections are locked to a paid plan on the free headline: {per_factor_breakdown, nearby_infrastructure, power_cost, fiber_carriers, site_analysis_report}"
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": {},
      +  "description": "Multi-factor site suitability for one lat/lon: composite score + verdict (+ per-factor breakdown, nearby infra, power cost, fiber on paid) — alongside the DC Hub envelope keys.",
      +  "properties": {
      +    "_entity": {
      +      "description": "Payload class (facility|market|iso_grid|queue_results|deal|report|response); branch on it.",
      +      "type": "string"
      +    },
      +    "_front_door": {
      +      "additionalProperties": {},
      +      "description": "First-tool hint: plan_query(intent) returns the ordered plan.",
      +      "properties": {},
      +      "type": "object"
      +    },
      +    "_return_loop": {
      +      "additionalProperties": {},
      +      "description": "Next-session delta call (get_changes).",
      +      "properties": {},
      +      "type": "object"
      +    },
      +    "citation": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {},
      +          "type": "object"
      +        },
      +        {
      +          "type": "string"
      +        }
      +      ],
      +      "description": "How to attribute DC Hub: {source, url, license, cite_as, retrieved_at}, or the attribution line as a string."
      +    },
      +    "composite_score": {
      +      "anyOf": [
      +        {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "string"
      +            }
      +          ]
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "0-100 composite site suitability score (free HEADLINE tier and full tier)"
      +    },
      +    "fiber": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {},
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Fiber read: {connectivity_score, nearest_carrier_km, near_net_bucket, top_carriers[], single_carrier_risk} (full payload)"
      +    },
      +    "interpretation": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Verdict prose on the full payload"
      +    },
      +    "limiting_factor": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {
      +            "factor": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "The lowest-scoring factor"
      +            },
      +            "note": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "Why it limits the site"
      +            },
      +            "of": {
      +              "anyOf": [
      +                {
      +                  "anyOf": [
      +                    {
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "string"
      +                    }
      +                  ]
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "Scale maximum (100)"
      +            },
      +            "score": {
      +              "anyOf": [
      +                {
      +                  "anyOf": [
      +                    {
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "string"
      +                    }
      +                  ]
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "Its score"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Single top limiting factor (the lowest sub-score) — always present on the free headline"
      +    },
      +    "location": {
      +      "description": "Echo of the analyzed location (full payload)"
      +    },
      +    "locked": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {},
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Which sections are Pro-locked on the free headline: {per_factor_breakdown, nearby_infrastructure, power_cost, fiber_carriers, site_analysis_report}"
      +    },
      +    "nearby": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {},
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Nearby infrastructure counts: {substations_50km, power_plants_80km, gas_pipelines_50km, facilities_100km, fiber_carriers_in_state, generation_capacity_mw, total_capacity_mw} (full payload)"
      +    },
      +    "overall_score": {
      +      "anyOf": [
      +        {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "string"
      +            }
      +          ]
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Alias of composite_score on the full payload"
      +    },
      +    "power_cost": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {},
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Power cost read: {industrial_cents_kwh, commercial_cents_kwh, period, basis} (full payload)"
      +    },
      +    "preview": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Headline preview line (free tier)"
      +    },
      +    "provenance": {
      +      "additionalProperties": {},
      +      "description": "Source, method, as_of, verification_counts, license, cite_as; quote it when citing.",
      +      "properties": {},
      +      "type": "object"
      +    },
      +    "quota": {
      +      "additionalProperties": {},
      +      "description": "Caller quota state (remaining calls, tier).",
      +      "properties": {},
      +      "type": "object"
      +    },
      +    "scores": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {
      +            "fiber_connectivity": {
      +              "anyOf": [
      +                {
      +                  "anyOf": [
      +                    {
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "string"
      +                    }
      +                  ]
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "0-100"
      +            },
      +            "gas_pipeline_access": {
      +              "anyOf": [
      +                {
      +                  "anyOf": [
      +                    {
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "string"
      +                    }
      +                  ]
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "0-100"
      +            },
      +            "market_conditions": {
      +              "anyOf": [
      +                {
      +                  "anyOf": [
      +                    {
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "string"
      +                    }
      +                  ]
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "0-100"
      +            },
      +            "power_infrastructure": {
      +              "anyOf": [
      +                {
      +                  "anyOf": [
      +                    {
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "string"
      +                    }
      +                  ]
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "0-100"
      +            },
      +            "risk_resilience": {
      +              "anyOf": [
      +                {
      +                  "anyOf": [
      +                    {
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "string"
      +                    }
      +                  ]
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "0-100"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Per-factor breakdown (full/paid payload)"
      +    },
      +    "site_evaluation_handoff": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "additionalProperties": {},
      +            "properties": {},
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "additionalProperties": {},
      +          "properties": {},
      +          "type": "object"
      +        }
      +      ],
      +      "description": "Follow-up calls [{tool, parameters, why}] when the payload carries coordinates."
      +    },
      +    "site_headline": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "true when this is the free citable HEADLINE (score + verdict + limiting factor)"
      +    },
      +    "verdict": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Verdict string, e.g. \"Excellent site\" / BUILD-CAUTION-AVOID read"
      +    }
      +  },
      +  "type": "object"
      +}
  3. Changed2 schema fields changed
    • changedInput schema / properties / mpp_credential / description
      Previous value: -"Autonomous payment (Stripe MPP), step 2: the Shared Payment Token you minted for challenges[0]. Set it here to pay that challenge for this single call and receive the full result — no API key, no subscription, no human. One payment covers one call."New value: +"Stripe MPP step 2: the Shared Payment Token minted for challenges[0]; pays that challenge for this one call."
    • changedInput schema / properties / mpp_pay / description
      Previous value: -"Autonomous payment (Stripe MPP), step 1: set true to receive a signed per-call payment challenge (the challenge states the amount) for this call instead of the free preview. No money moves — a challenge is a price quote. Humans never set this, so it does not affect the normal free/trial funnel."New value: +"Stripe MPP step 1: true returns a signed per-call payment challenge (a quote; no money moves) instead of the free preview. Agents only."
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": {},
      -  "description": "Multi-factor site suitability for one lat/lon: composite score + verdict (+ per-factor breakdown, nearby infra, power cost, fiber on paid) — alongside the DC Hub envelope keys.",
      -  "properties": {
      -    "_entity": {
      -      "description": "Payload class discriminator (e.g. facility|market|iso_grid|queue_results|deal|report|response) — branch on this before parsing the rest.",
      -      "type": "string"
      -    },
      -    "_front_door": {
      -      "additionalProperties": {},
      -      "description": "In-band front-door hint (first workflow-entry tool of a session): call plan_query(intent) first for the ordered multi-step plan.",
      -      "properties": {},
      -      "type": "object"
      -    },
      -    "_return_loop": {
      -      "additionalProperties": {},
      -      "description": "Suggested next-session delta call (get_changes since=24h) so you pull only what changed.",
      -      "properties": {},
      -      "type": "object"
      -    },
      -    "citation": {
      -      "anyOf": [
      -        {
      -          "additionalProperties": {},
      -          "properties": {},
      -          "type": "object"
      -        },
      -        {
      -          "type": "string"
      -        }
      -      ],
      -      "description": "Machine-readable citation: how to attribute DC Hub (dchub.cloud) for this payload. Normally an OBJECT {source, url, license, cite_as, retrieved_at}; a bare string is accepted and carries the attribution line itself."
      -    },
      -    "composite_score": {
      -      "anyOf": [
      -        {
      -          "anyOf": [
      -            {
      -              "type": "number"
      -            },
      -            {
      -              "type": "string"
      -            }
      -          ]
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "0-100 composite site suitability score (free HEADLINE tier and full tier)"
      -    },
      -    "fiber": {
      -      "anyOf": [
      -        {
      -          "additionalProperties": {},
      -          "properties": {},
      -          "type": "object"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "Fiber read: {connectivity_score, nearest_carrier_km, near_net_bucket, top_carriers[], single_carrier_risk} (full payload)"
      -    },
      -    "interpretation": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "Verdict prose on the full payload"
      -    },
      -    "limiting_factor": {
      -      "anyOf": [
      -        {
      -          "additionalProperties": {},
      -          "properties": {
      -            "factor": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "The lowest-scoring factor"
      -            },
      -            "note": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Why it limits the site"
      -            },
      -            "of": {
      -              "anyOf": [
      -                {
      -                  "anyOf": [
      -                    {
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "string"
      -                    }
      -                  ]
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Scale maximum (100)"
      -            },
      -            "score": {
      -              "anyOf": [
      -                {
      -                  "anyOf": [
      -                    {
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "string"
      -                    }
      -                  ]
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Its score"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "Single top limiting factor (the lowest sub-score) — always present on the free headline"
      -    },
      -    "location": {
      -      "description": "Echo of the analyzed location (full payload)"
      -    },
      -    "locked": {
      -      "anyOf": [
      -        {
      -          "additionalProperties": {},
      -          "properties": {},
      -          "type": "object"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "Which sections are Pro-locked on the free headline: {per_factor_breakdown, nearby_infrastructure, power_cost, fiber_carriers, site_analysis_report}"
      -    },
      -    "nearby": {
      -      "anyOf": [
      -        {
      -          "additionalProperties": {},
      -          "properties": {},
      -          "type": "object"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "Nearby infrastructure counts: {substations_50km, power_plants_80km, gas_pipelines_50km, facilities_100km, fiber_carriers_in_state, generation_capacity_mw, total_capacity_mw} (full payload)"
      -    },
      -    "overall_score": {
      -      "anyOf": [
      -        {
      -          "anyOf": [
      -            {
      -              "type": "number"
      -            },
      -            {
      -              "type": "string"
      -            }
      -          ]
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "Alias of composite_score on the full payload"
      -    },
      -    "power_cost": {
      -      "anyOf": [
      -        {
      -          "additionalProperties": {},
      -          "properties": {},
      -          "type": "object"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "Power cost read: {industrial_cents_kwh, commercial_cents_kwh, period, basis} (full payload)"
      -    },
      -    "preview": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "Headline preview line (free tier)"
      -    },
      -    "provenance": {
      -      "additionalProperties": {},
      -      "description": "Collection-level provenance block: {source, method, as_of, verification_counts, cite_url_template, license, cite_as}. Quote the verification level when citing.",
      -      "properties": {},
      -      "type": "object"
      -    },
      -    "quota": {
      -      "additionalProperties": {},
      -      "description": "Caller quota state (remaining calls, tier) when available.",
      -      "properties": {},
      -      "type": "object"
      -    },
      -    "scores": {
      -      "anyOf": [
      -        {
      -          "additionalProperties": {},
      -          "properties": {
      -            "fiber_connectivity": {
      -              "anyOf": [
      -                {
      -                  "anyOf": [
      -                    {
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "string"
      -                    }
      -                  ]
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "0-100"
      -            },
      -            "gas_pipeline_access": {
      -              "anyOf": [
      -                {
      -                  "anyOf": [
      -                    {
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "string"
      -                    }
      -                  ]
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "0-100"
      -            },
      -            "market_conditions": {
      -              "anyOf": [
      -                {
      -                  "anyOf": [
      -                    {
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "string"
      -                    }
      -                  ]
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "0-100"
      -            },
      -            "power_infrastructure": {
      -              "anyOf": [
      -                {
      -                  "anyOf": [
      -                    {
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "string"
      -                    }
      -                  ]
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "0-100"
      -            },
      -            "risk_resilience": {
      -              "anyOf": [
      -                {
      -                  "anyOf": [
      -                    {
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "string"
      -                    }
      -                  ]
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "0-100"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "Per-factor breakdown (full/paid payload)"
      -    },
      -    "site_evaluation_handoff": {
      -      "anyOf": [
      -        {
      -          "items": {
      -            "additionalProperties": {},
      -            "properties": {},
      -            "type": "object"
      -          },
      -          "type": "array"
      -        },
      -        {
      -          "additionalProperties": {},
      -          "properties": {},
      -          "type": "object"
      -        }
      -      ],
      -      "description": "Pre-built follow-up calls (analyze_site / get_water_risk args) when the payload carries coordinates — an array of {tool, parameters, why} entries."
      -    },
      -    "site_headline": {
      -      "anyOf": [
      -        {
      -          "type": "boolean"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "true when this is the free citable HEADLINE (score + verdict + limiting factor)"
      -    },
      -    "verdict": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "description": "Verdict string, e.g. \"Excellent site\" / BUILD-CAUTION-AVOID read"
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  5. Changed2 schema fields changed
    • changedInput schema / properties / mpp_credential / description
      Previous value: -"Autonomous payment (Stripe MPP), step 2: the Shared Payment Token you minted for challenges[0]. Set it here to pay $0.50 for this single call and receive the full result — no API key, no subscription, no human. One payment covers one call."New value: +"Autonomous payment (Stripe MPP), step 2: the Shared Payment Token you minted for challenges[0]. Set it here to pay that challenge for this single call and receive the full result — no API key, no subscription, no human. One payment covers one call."
    • changedInput schema / properties / mpp_pay / description
      Previous value: -"Autonomous payment (Stripe MPP), step 1: set true to receive a signed $0.50 payment challenge for this call instead of the free preview. No money moves — a challenge is a price quote. Humans never set this, so it does not affect the normal free/trial funnel."New value: +"Autonomous payment (Stripe MPP), step 1: set true to receive a signed per-call payment challenge (the challenge states the amount) for this call instead of the free preview. No money moves — a challenge is a price quote. Humans never set this, so it does not affect the normal free/trial funnel."
  6. Changed3 schema fields changed
    • changedInput schema / properties / lat / description
      Previous value: -"Site latitude in decimal degrees (-90 to 90; required unless candidate_id given), e.g. 33.45"New value: +"Site latitude in decimal degrees (-90 to 90; required unless candidate_id or location given), e.g. 33.45"
    • addedInput schema / properties / location
      Added value: +{
      +  "description": "Market NAME or metro slug instead of coordinates, e.g. \"ashburn\", \"northern-virginia\", \"dallas\". Resolved to that market's PUBLISHED CENTROID through the DCPI market row, and the answer carries a resolved_from block saying so. This is a MARKET-level read, not the parcel you named — pass lat/lon for a specific site. Not an alias for lat/lon: a place name is not a coordinate.",
      +  "type": "string"
      +}
    • changedInput schema / properties / lon / description
      Previous value: -"Site longitude in decimal degrees (-180 to 180; required unless candidate_id given), e.g. -112.07"New value: +"Site longitude in decimal degrees (-180 to 180; required unless candidate_id or location given), e.g. -112.07"
  7. Changed2 schema fields changed
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedOutput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
  8. Changed2 schema fields changed
    • addedInput schema / properties / mpp_credential
      Added value: +{
      +  "description": "Autonomous payment (Stripe MPP), step 2: the Shared Payment Token you minted for challenges[0]. Set it here to pay $0.50 for this single call and receive the full result — no API key, no subscription, no human. One payment covers one call.",
      +  "type": "string"
      +}
    • addedInput schema / properties / mpp_pay
      Added value: +{
      +  "description": "Autonomous payment (Stripe MPP), step 1: set true to receive a signed $0.50 payment challenge for this call instead of the free preview. No money moves — a challenge is a price quote. Humans never set this, so it does not affect the normal free/trial funnel.",
      +  "type": "boolean"
      +}
  9. Changed5 schema fields changed
    • removedOutput schema / properties / citation / additionalProperties
      Removed value: -{}
    • addedOutput schema / properties / citation / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {},
      +    "type": "object"
      +  },
      +  {
      +    "type": "string"
      +  }
      +]
    • changedOutput schema / properties / citation / description
      Previous value: -"Machine-readable citation: how to attribute DC Hub (dchub.cloud) for this payload."New value: +"Machine-readable citation: how to attribute DC Hub (dchub.cloud) for this payload. Normally an OBJECT {source, url, license, cite_as, retrieved_at}; a bare string is accepted and carries the attribution line itself."
    • removedOutput schema / properties / citation / properties
      Removed value: -{}
    • removedOutput schema / properties / citation / type
      Removed value: -"object"
  10. Changed1 schema field changed
    • addedOutput schema / properties / _front_door
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "In-band front-door hint (first workflow-entry tool of a session): call plan_query(intent) first for the ordered multi-step plan.",
      +  "properties": {},
      +  "type": "object"
      +}
  11. Changed19 schema fields changed
    • changedOutput schema / description
      Previous value: -"DC Hub envelope: structuredContent mirrors the JSON payload in content[0].text — tool-specific data fields ride at the top level alongside these envelope keys."New value: +"Multi-factor site suitability for one lat/lon: composite score + verdict (+ per-factor breakdown, nearby infra, power cost, fiber on paid) — alongside the DC Hub envelope keys."
    • addedOutput schema / properties / composite_score
      Added value: +{
      +  "anyOf": [
      +    {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "string"
      +        }
      +      ]
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "0-100 composite site suitability score (free HEADLINE tier and full tier)"
      +}
    • addedOutput schema / properties / fiber
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": {},
      +      "properties": {},
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Fiber read: {connectivity_score, nearest_carrier_km, near_net_bucket, top_carriers[], single_carrier_risk} (full payload)"
      +}
    • addedOutput schema / properties / interpretation
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Verdict prose on the full payload"
      +}
    • addedOutput schema / properties / limiting_factor
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": {},
      +      "properties": {
      +        "factor": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "The lowest-scoring factor"
      +        },
      +        "note": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Why it limits the site"
      +        },
      +        "of": {
      +          "anyOf": [
      +            {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "string"
      +                }
      +              ]
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Scale maximum (100)"
      +        },
      +        "score": {
      +          "anyOf": [
      +            {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "string"
      +                }
      +              ]
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Its score"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Single top limiting factor (the lowest sub-score) — always present on the free headline"
      +}
    • addedOutput schema / properties / location
      Added value: +{
      +  "description": "Echo of the analyzed location (full payload)"
      +}
    • addedOutput schema / properties / locked
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": {},
      +      "properties": {},
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Which sections are Pro-locked on the free headline: {per_factor_breakdown, nearby_infrastructure, power_cost, fiber_carriers, site_analysis_report}"
      +}
    • addedOutput schema / properties / nearby
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": {},
      +      "properties": {},
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Nearby infrastructure counts: {substations_50km, power_plants_80km, gas_pipelines_50km, facilities_100km, fiber_carriers_in_state, generation_capacity_mw, total_capacity_mw} (full payload)"
      +}
    • addedOutput schema / properties / overall_score
      Added value: +{
      +  "anyOf": [
      +    {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "string"
      +        }
      +      ]
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Alias of composite_score on the full payload"
      +}
    • addedOutput schema / properties / power_cost
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": {},
      +      "properties": {},
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Power cost read: {industrial_cents_kwh, commercial_cents_kwh, period, basis} (full payload)"
      +}
    • addedOutput schema / properties / preview
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Headline preview line (free tier)"
      +}
    • addedOutput schema / properties / scores
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": {},
      +      "properties": {
      +        "fiber_connectivity": {
      +          "anyOf": [
      +            {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "string"
      +                }
      +              ]
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "0-100"
      +        },
      +        "gas_pipeline_access": {
      +          "anyOf": [
      +            {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "string"
      +                }
      +              ]
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "0-100"
      +        },
      +        "market_conditions": {
      +          "anyOf": [
      +            {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "string"
      +                }
      +              ]
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "0-100"
      +        },
      +        "power_infrastructure": {
      +          "anyOf": [
      +            {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "string"
      +                }
      +              ]
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "0-100"
      +        },
      +        "risk_resilience": {
      +          "anyOf": [
      +            {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "string"
      +                }
      +              ]
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "0-100"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Per-factor breakdown (full/paid payload)"
      +}
    • removedOutput schema / properties / site_evaluation_handoff / additionalProperties
      Removed value: -{}
    • addedOutput schema / properties / site_evaluation_handoff / anyOf
      Added value: +[
      +  {
      +    "items": {
      +      "additionalProperties": {},
      +      "properties": {},
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {},
      +    "type": "object"
      +  }
      +]
    • changedOutput schema / properties / site_evaluation_handoff / description
      Previous value: -"Pre-built follow-up call (analyze_site / get_water_risk args) when the payload carries coordinates."New value: +"Pre-built follow-up calls (analyze_site / get_water_risk args) when the payload carries coordinates — an array of {tool, parameters, why} entries."
    • removedOutput schema / properties / site_evaluation_handoff / properties
      Removed value: -{}
    • removedOutput schema / properties / site_evaluation_handoff / type
      Removed value: -"object"
    • addedOutput schema / properties / site_headline
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "true when this is the free citable HEADLINE (score + verdict + limiting factor)"
      +}
    • addedOutput schema / properties / verdict
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Verdict string, e.g. \"Excellent site\" / BUILD-CAUTION-AVOID read"
      +}
  12. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "description": "DC Hub envelope: structuredContent mirrors the JSON payload in content[0].text — tool-specific data fields ride at the top level alongside these envelope keys.",
      +  "properties": {
      +    "_entity": {
      +      "description": "Payload class discriminator (e.g. facility|market|iso_grid|queue_results|deal|report|response) — branch on this before parsing the rest.",
      +      "type": "string"
      +    },
      +    "_return_loop": {
      +      "additionalProperties": {},
      +      "description": "Suggested next-session delta call (get_changes since=24h) so you pull only what changed.",
      +      "properties": {},
      +      "type": "object"
      +    },
      +    "citation": {
      +      "additionalProperties": {},
      +      "description": "Machine-readable citation: how to attribute DC Hub (dchub.cloud) for this payload.",
      +      "properties": {},
      +      "type": "object"
      +    },
      +    "provenance": {
      +      "additionalProperties": {},
      +      "description": "Collection-level provenance block: {source, method, as_of, verification_counts, cite_url_template, license, cite_as}. Quote the verification level when citing.",
      +      "properties": {},
      +      "type": "object"
      +    },
      +    "quota": {
      +      "additionalProperties": {},
      +      "description": "Caller quota state (remaining calls, tier) when available.",
      +      "properties": {},
      +      "type": "object"
      +    },
      +    "site_evaluation_handoff": {
      +      "additionalProperties": {},
      +      "description": "Pre-built follow-up call (analyze_site / get_water_risk args) when the payload carries coordinates.",
      +      "properties": {},
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  13. Changed3 schema fields changed
    • addedInput schema / properties / latitude
      Added value: +{
      +  "description": "Alias for lat — either name works",
      +  "type": "number"
      +}
    • addedInput schema / properties / lng
      Added value: +{
      +  "description": "Alias for lon — either name works",
      +  "type": "number"
      +}
    • addedInput schema / properties / longitude
      Added value: +{
      +  "description": "Alias for lon — either name works",
      +  "type": "number"
      +}
  14. Changed3 schema fields changed
    • addedInput schema / properties / candidate_id
      Added value: +{
      +  "description": "PREFERRED for queue survivors: a cand_… id from get_refined_queue — coordinates come from the FROZEN mint (lat/lon args are ignored; zero transcription drift; expired ids fail closed with candidate_expired). See dchub.cloud/docs/candidate-lifecycle",
      +  "type": "string"
      +}
    • changedInput schema / properties / lat / description
      Previous value: -"Site latitude in decimal degrees (-90 to 90, required), e.g. 33.45"New value: +"Site latitude in decimal degrees (-90 to 90; required unless candidate_id given), e.g. 33.45"
    • changedInput schema / properties / lon / description
      Previous value: -"Site longitude in decimal degrees (-180 to 180, required), e.g. -112.07"New value: +"Site longitude in decimal degrees (-180 to 180; required unless candidate_id given), e.g. -112.07"
  15. Changed7 schema fields changed
    • addedInput schema / properties / capacity_mw / description
      Added value: +"Target power load for the build in megawatts (MW), e.g. 100 (typical 50-500)"
    • addedInput schema / properties / include_fiber / description
      Added value: +"Include fiber-connectivity analysis (default true)"
    • addedInput schema / properties / include_grid / description
      Added value: +"Include grid-headroom / substation analysis (default true)"
    • addedInput schema / properties / include_risk / description
      Added value: +"Include water/drought/climate risk analysis (default true)"
    • addedInput schema / properties / lat / description
      Added value: +"Site latitude in decimal degrees (-90 to 90, required), e.g. 33.45"
    • addedInput schema / properties / lon / description
      Added value: +"Site longitude in decimal degrees (-180 to 180, required), e.g. -112.07"
    • addedInput schema / properties / state / description
      Added value: +"US state abbreviation (optional) — improves the tax-incentive lookup, e.g. AZ"
  16. Changed17 schema fields changed
    • addedInput schema / $schema
      Added value: +"http://json-schema.org/draft-07/schema#"
    • removedInput schema / properties / capacity_mw / default
      Removed value: -0
    • removedInput schema / properties / capacity_mw / title
      Removed value: -"Capacity Mw"
    • removedInput schema / properties / include_fiber / default
      Removed value: -true
    • removedInput schema / properties / include_fiber / title
      Removed value: -"Include Fiber"
    • removedInput schema / properties / include_grid / default
      Removed value: -true
    • removedInput schema / properties / include_grid / title
      Removed value: -"Include Grid"
    • removedInput schema / properties / include_risk / default
      Removed value: -true
    • removedInput schema / properties / include_risk / title
      Removed value: -"Include Risk"
    • removedInput schema / properties / lat / default
      Removed value: -0
    • removedInput schema / properties / lat / title
      Removed value: -"Lat"
    • removedInput schema / properties / lon / default
      Removed value: -0
    • removedInput schema / properties / lon / title
      Removed value: -"Lon"
    • removedInput schema / properties / state / default
      Removed value: -""
    • removedInput schema / properties / state / title
      Removed value: -"State"
    • removedInput schema / title
      Removed value: -"analyze_siteArguments"
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "result": {
      -      "title": "Result",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "result"
      -  ],
      -  "title": "analyze_siteOutput",
      -  "type": "object"
      -}New value: +null
  17. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "result": {
      +      "title": "Result",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "result"
      +  ],
      +  "title": "analyze_siteOutput",
      +  "type": "object"
      +}
  18. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "result": {
      -      "title": "Result",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "result"
      -  ],
      -  "title": "analyze_siteOutput",
      -  "type": "object"
      -}New value: +null
  19. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "result": {
      +      "title": "Result",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "result"
      +  ],
      +  "title": "analyze_siteOutput",
      +  "type": "object"
      +}
  20. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "result": {
      -      "title": "Result",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "result"
      -  ],
      -  "title": "analyze_siteOutput",
      -  "type": "object"
      -}New value: +null
  21. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.