Nuclear News Network

MCP server · the nuclear buildout as a knowledge graph

Reference

Data model & ids

Stable ids, typed edges, and verification metadata on every record.

Entity ids

Every entity has one id of the form {type}:{slug}. Ids are permanent: a renamed company keeps its id and the old name becomes an alias. If two records turn out to be the same entity, both ids keep working. Store ids, not names.

TypeCoversExample
orgCompanies, utilities, vendors, regulators, labs, investors, governmentsorg:westinghouse
sitePlant and facility sites (power plants, fuel facilities, research sites)site:sizewell-c
unitReactor units: tracker projects (planned → commissioning) and the operating/shut-down units NNN coversunit:vogtle-3
designReactor designs, with vendor, reactor type and SMR flagdesign:bwrx-300
programGovernment and industry programsprogram:prometheus
policyLaws and policies tracked by NNNpolicy:advance-act

The entity record

get_entity returns the record, its links and counts:

get_entity → structuredContent (abridged)
{
  "entity": {
    "id": "org:westinghouse",
    "type": "org",
    "name": "Westinghouse Electric Company",
    "aliases": [
      "Westinghouse"
    ],
    "kind": "vendor",
    "country": "US",
    "parent": {
      "id": "org:brookfield",
      "name": "Brookfield"
    },
    "identifiers": {
      "lei": "549300OK7IPGO6ZCOM18",
      "wikidata": "Q1133735",
      "website": "https://westinghousenuclear.com"
    },
    "nnn_page": "https://www.nuclearnewsnetwork.com/topics/westinghouse",
    "sources": [
      "https://info.westinghousenuclear.com/news/westinghouse-acquisition-by-brookfield-and-cameco-complete"
    ],
    "last_verified": "2026-09-30",
    "confidence": "high"
  },
  "links": [
    {
      "subject": {
        "id": "org:westinghouse",
        "name": "Westinghouse Electric Company"
      },
      "predicate": "vendor_of",
      "object": {
        "id": "design:ap1000",
        "name": "AP1000"
      },
      "origin": "registry"
    }
  ],
  "counts": {
    "articles_about": 5,
    "articles_mentioning": 31,
    "incidents": 0,
    "ledger_relationships": 2
  },
  "relationships": {
    "available_on": "pro",
    "count": 2
  },
  "_meta": {
    "dataset_version": "a2a6ae4…",
    "loaded_at": "2026-10-12T…",
    "attribution": "Nuclear News Network …"
  }
}

Edges

The knowledge graph joins entities with typed, directed edges. entity_graph walks them; get_entity lists the free ones.

PredicateDirectionMeaningPlan
subsidiary_oforg → orgMajority (>50%) owner, from the registryFree
operator_oforg → site / unitOperator of recordFree
vendor_oforg → design / unitReactor vendorFree
located_atunit → siteUnit's siteFree
uses_designunit → designUnit's reactor designFree
owner_operator_oforg → unitTracker owner/operatorFree
epc_fororg → unitTracker EPC contractorFree
participant_inorg → programPrometheus program participationFree
shareholder_oforg → orgStake with share_pct, history of changesPro
offtaker_oforg → unit / sitePower purchase / offtakePro
contractor_fororg → unit / site / org / programEPC, NSSS, turbine, fuel, supply… with scope and sourced valuePro
licensee_of · applicant_fororg → unit / site / designLicences and applications with docketPro
member_of · regulator_oforg → program / org / …Memberships and regulatory oversightPro

Industry trackers

Four record-level trackers sit beside the reactor tracker: fusion energy companies, uranium enrichment & HALEU, nuclear plant restarts and nuclear decommissioning. Records have a vertical and a slug, typed fields (targets, capacities, costs in the original currency with an as-of date), sources and a confidence grade, and link to registry entities through entity_ids. industry_trackers returns current state (free);industry_tracker_history returns each record’s append-only milestone log (Pro).

The relationship ledger (Pro)

Ledger relationships are permanent records with their own id (rel:…). Ended relationships are kept with a valid_to date, and every stake change or amendment is an appended event:

relationships → one item
{
  "id": "rel:cgn-nnb-genco-shareholding",
  "subject": {
    "id": "org:cgn",
    "name": "China General Nuclear Power Group"
  },
  "predicate": "shareholder_of",
  "object": {
    "id": "org:nnb-genco",
    "name": "NNB Generation Company (HPC) Ltd"
  },
  "current": true,
  "share_pct": 23.31,
  "valid_from": "2016-09-29",
  "valid_to": null,
  "events": [
    {
      "date": "2016-09-29",
      "event": "CGN entry completed at 33.5% (agreed 2015-10-21).",
      "source": "https://…"
    },
    {
      "date": "2025-12-31",
      "event": "CGN diluted to 23.31%.",
      "source": "https://…"
    }
  ],
  "sources": [
    "https://…"
  ],
  "last_verified": "2026-10-07",
  "confidence": "high"
}

Contract values appear only when a primary source states them, in the original currency, never converted or estimated.

Verification fields

  • sources: primary first (company, regulator, government), then trade press.
  • last_verified: when NNN last checked the record against its sources.
  • confidence: high (primary source), medium (primary relayed by trade press, or a reputable secondary), low (a single secondary source).