Reference
Tools
15 read-only tools. Every tool is annotated readOnlyHint: true, destructiveHint: false, openWorldHint: false, and returns JSON as both structuredContent and a text block.
search_entitiesFree
Fuzzy search the NNN entity registry (organizations, sites, reactor units, reactor designs, programs, policies) by name, alias or id. Use this first to turn a name into a stable entity id.
| Parameter | Type | Description |
|---|---|---|
| query* | string | Name, alias or id, e.g. "Westinghouse", "Hinkley", "BWRX-300". |
| type | "org" | "site" | "unit" | "design" | "program" | "policy" | Restrict to one entity type. |
| country | string | ISO-3166 alpha-2 country code, e.g. US, GB, FR. |
| limit | integer (1–50) | Maximum rows (1–50). Default 10. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_entities",
"arguments": {
"query": "Sizewell",
"type": "site"
}
}
}dataset_statusFree
Which version of the NNN data this server is answering from: nnn-site git SHA, load time, row counts per table, and the license terms that apply.
No parameters.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "dataset_status",
"arguments": {}
}
}get_entityFree
Full record for one entity: names and aliases, kind, country, identifiers (Wikidata, LEI, ticker, website), sources, verification date and confidence, plus its public structural links (parent, subsidiaries, operator, vendor, site, design, units) and counts of articles and incidents. Pro accounts also get its ledger relationships (shareholdings, contracts, offtake) inline.
| Parameter | Type | Description |
|---|---|---|
| id* | string | Stable NNN entity id, "{type}:{slug}", e.g. "org:edf", "site:sizewell-c", "unit:vogtle-3". Find ids with search_entities. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_entity",
"arguments": {
"id": "org:nnb-genco"
}
}
}posts_aboutFree
NNN articles whose subject is the entity (about) or that mention it, newest first, with title, summary, date and URL.
| Parameter | Type | Description |
|---|---|---|
| id* | string | Stable NNN entity id, "{type}:{slug}", e.g. "org:edf", "site:sizewell-c", "unit:vogtle-3". Find ids with search_entities. |
| role | "about" | "mentions" | "any" | Default "any". |
| limit | integer (1–50) | Maximum rows (1–50). Default 10. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "posts_about",
"arguments": {
"id": "org:terrapower",
"role": "about"
}
}
}list_unitsFree
Current state of reactor units: tracker projects (planned → commissioning) and registry units (operating and shut-down fleet NNN covers). Filter by status, country, vendor, design, site, reactor type or SMR flag.
| Parameter | Type | Description |
|---|---|---|
| status | string | Unit status, e.g. "under_construction", "commissioning", "operating", "permanent_shutdown". |
| country | string | ISO-3166 alpha-2 country code. |
| vendor_id | string | Vendor organization id, e.g. org:westinghouse. |
| design_id | string | Design id, e.g. design:ap1000. |
| site_id | string | Site id, e.g. site:vogtle. |
| reactor_type | "PWR" | "BWR" | "PHWR" | "HTGR" | "LFR" | "SFR" | "MSR" | "fusion" | "other" | |
| is_smr | boolean | Only small modular reactors (true) or only large units (false). |
| record | "tracker" | "registry" | "all" | tracker = new-build projects; registry = operating/shut-down units. Default "all". |
| limit | integer (1–200) | Maximum rows (1–200). Default 50. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_units",
"arguments": {
"status": "under_construction",
"country": "CN"
}
}
}list_incidentsFree
The NNN drone incident tracker for nuclear and energy infrastructure: date, facility, outcome, attribution, sources. Filter by site or unit id, country, or date.
| Parameter | Type | Description |
|---|---|---|
| site_id | string | Stable NNN entity id, "{type}:{slug}", e.g. "org:edf", "site:sizewell-c", "unit:vogtle-3". Find ids with search_entities. |
| unit_id | string | Stable NNN entity id, "{type}:{slug}", e.g. "org:edf", "site:sizewell-c", "unit:vogtle-3". Find ids with search_entities. |
| country | string | Country name as recorded, e.g. "Ukraine". |
| since | string | Date, YYYY-MM-DD. |
| limit | integer (1–100) | Maximum rows (1–100). Default 25. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_incidents",
"arguments": {
"site_id": "site:zaporizhzhia"
}
}
}industry_trackersFree
Current state of NNN's industry trackers: fusion energy companies and devices, uranium enrichment and HALEU facilities, nuclear plant restarts, and decommissioning projects. Each record has status, key figures, targets, linked entity ids, sources, confidence and its NNN page. Filter by tracker, status, country, entity id or text.
| Parameter | Type | Description |
|---|---|---|
| vertical | "fusion-energy-companies" | "uranium-enrichment-haleu" | "nuclear-plant-restarts" | "nuclear-decommissioning" | Industry tracker: fusion-energy-companies, uranium-enrichment-haleu, nuclear-plant-restarts or nuclear-decommissioning. |
| status | string | Record status within the tracker, e.g. "restarted", "construction", "operating". |
| country | string | ISO-3166 alpha-2 country code. |
| entity_id | string | Only records linked to this entity, e.g. org:urenco or site:palisades. |
| query | string | Text match on name and summary. |
| limit | integer (1–200) | Maximum rows (1–200). Default 50. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "industry_trackers",
"arguments": {
"vertical": "nuclear-plant-restarts",
"country": "JP"
}
}
}relationshipsPro
The NNN relationship ledger for an entity: shareholdings (with %), offtake agreements, EPC/supply/fuel contracts (with primary-sourced values), licences and memberships, as subject or object, including ended relationships and their dated event history.
| Parameter | Type | Description |
|---|---|---|
| id* | string | Stable NNN entity id, "{type}:{slug}", e.g. "org:edf", "site:sizewell-c", "unit:vogtle-3". Find ids with search_entities. |
| predicate | "shareholder_of" | "offtaker_of" | "contractor_for" | "licensee_of" | "applicant_for" | "member_of" | "regulator_of" | |
| direction | "outgoing" | "incoming" | "both" | outgoing = the entity is the subject (e.g. its stakes); incoming = the object (e.g. its shareholders). Default "both". |
| include_ended | boolean | Include relationships with a valid_to date in the past. Default true. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "relationships",
"arguments": {
"id": "org:westinghouse",
"direction": "incoming"
}
}
}ownershipPro
Cap table for a company or project: current shareholders with percentages and their sum, former shareholders, stake-change events, and — in the other direction — the entity's own holdings.
| Parameter | Type | Description |
|---|---|---|
| id* | string | Stable NNN entity id, "{type}:{slug}", e.g. "org:edf", "site:sizewell-c", "unit:vogtle-3". Find ids with search_entities. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "ownership",
"arguments": {
"id": "org:sizewell-c-ltd"
}
}
}entity_graphPro
Multi-hop neighbourhood of an entity in the NNN knowledge graph (registry structure, tracker vendor/owner/EPC links, Prometheus participation and the relationship ledger). Returns nodes and typed edges up to the requested depth.
| Parameter | Type | Description |
|---|---|---|
| id* | string | Stable NNN entity id, "{type}:{slug}", e.g. "org:edf", "site:sizewell-c", "unit:vogtle-3". Find ids with search_entities. |
| depth | integer (1–3) | Default 2. |
| predicates | string[] | Only follow these edge predicates, e.g. ["shareholder_of", "subsidiary_of"]. |
| include_ended | boolean | Default false. |
| max_nodes | integer (5–300) | Default 100. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "entity_graph",
"arguments": {
"id": "org:cnnc",
"depth": 2
}
}
}unit_historyPro
Append-only history of a reactor unit: every dated tracker milestone (first concrete, fuel load, grid connection, delays) and registry status change (shutdown, restart), each with its source.
| Parameter | Type | Description |
|---|---|---|
| id* | string | Stable NNN entity id, "{type}:{slug}", e.g. "org:edf", "site:sizewell-c", "unit:vogtle-3". Find ids with search_entities. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "unit_history",
"arguments": {
"id": "unit:akkuyu-1"
}
}
}industry_tracker_historyPro
Append-only milestone history of one industry-tracker record (a fusion device, an enrichment facility, a plant restart or a decommissioning project): every dated event with its source.
| Parameter | Type | Description |
|---|---|---|
| vertical* | "fusion-energy-companies" | "uranium-enrichment-haleu" | "nuclear-plant-restarts" | "nuclear-decommissioning" | Industry tracker: fusion-energy-companies, uranium-enrichment-haleu, nuclear-plant-restarts or nuclear-decommissioning. |
| slug* | string | Record slug from industry_trackers, e.g. "palisades". |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "industry_tracker_history",
"arguments": {
"vertical": "nuclear-plant-restarts",
"slug": "takahama-1"
}
}
}changes_sincePro
Everything that changed in the NNN data on or after a date: unit milestones and status changes, relationship events, new relationships, policy-tracker events, Prometheus events, incidents, industry-tracker milestones and re-verified entities.
| Parameter | Type | Description |
|---|---|---|
| since* | string | Date, YYYY-MM-DD. |
| types | "unit_milestones" | "relationships" | "policy" | "prometheus" | "incidents" | "industry_trackers" | "entities"[] | Limit to these change types (default: all). |
| limit | integer (1–500) | Maximum rows (1–500). Default 100. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "changes_since",
"arguments": {
"since": "2026-09-01"
}
}
}searchFree
Search NNN entities and articles. Returns result ids to pass to fetch. Implements the search tool contract ChatGPT uses for connectors and deep research.
| Parameter | Type | Description |
|---|---|---|
| query* | string | Natural-language query. |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search",
"arguments": {
"query": "who owns Hinkley Point C"
}
}
}fetchFree
Fetch one document returned by search ("entity:{id}" or "post:{slug}") as readable text with its URL and metadata. Implements the fetch tool contract ChatGPT uses for connectors and deep research.
| Parameter | Type | Description |
|---|---|---|
| id* | string | An id from search, e.g. "entity:org:edf". |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "fetch",
"arguments": {
"id": "entity:org:nnb-genco"
}
}
}Errors
Tool failures come back as results with isError: true and a sentence saying what to do next: an unknown id (use search_entities), a Pro tool on a free account (upgrade link) or the hourly limit (reset time). See Limits, errors & license.