Skip to main content
Glama
petjal

oklo-aurora-mcp

by petjal

fast-reactor-mcp (formerly oklo-aurora-mcp): Fast-Reactor Physics & MCP Engine, Aurora-style

┌────────────────────────────────────────────────────────────────────────┐
│           ⚠️  WARNING: NOT FIT FOR HUMAN CONSUMPTION  ⚠️              │
│                                                                        │
│  This repository is engineered exclusively in machine-optimized,      │
│  token-effective context format for direct LLM context ingestion.      │
│  Humans proceed to AI prompt steering instructions below.              │
└────────────────────────────────────────────────────────────────────────┘

📢 PROOF-OF-CONCEPT & EVALUATION DISCLAIMER: This repository (fast-reactor-mcp) is an independent research proof-of-concept (PoC), fast-reactor physics solver suite, and Model Context Protocol (MCP) server developed strictly for portfolio evaluation, demonstration, and research analysis.

  • Not Nuclear-Safety-Grade: Calculations are analytical reduced-order models (10 CFR 50 App B non-qualified) derived from unclassified public literature (NRC Docket 05200049, ANL reports).

  • Intellectual Property & Licensing: Copyright (c) 2026 Emil "Pete" Jalajas. All Rights Reserved. Source-available for public evaluation.

  • No Affiliation: Independent evaluation project; not officially published by Oklo Inc.

  • Scope: Unsolicited, self-directed PoC built on my own time to show how I think and how I drive AI tooling. Not requested by Oklo and not meant to be complete. Verified claims and known gaps are in VALIDATION.md.

NOTICE FOR HUMAN VISITORS: This repository is engineered exclusively in machine-optimized dense context format for direct ingestion by AI agents, LLM clients, and MCP orchestrators.

To evaluate or interact with this repository, paste any of the following prompts into your AI assistant (Claude, Cursor, AGY, ChatGPT):

  1. "What is this repository, how is it structured, and why would an Oklo software engineer use it?"

  2. "How do I connect this MCP server to my local Claude Code, AGY, or Cursor setup?"

  3. "Evaluate the Oklo coolant bundle using evaluate_coolant_bundle at 12.5 kg/s sodium flow."

  4. "Audit this fast-reactor thermal-hydraulic solver, heat pipe capillary limit engine, electrorefining mass balance, medical radioisotope yield calculator, defense off-grid solver, and HALEU transport cask module for code quality and physics invariants."

⚡ Live MCP Tool Execution Example

Prompt: "Evaluate the Oklo coolant bundle using evaluate_coolant_bundle at 12.5 kg/s sodium flow."

Actual output (v1.4.0, default 2,400 kW assembly power, 400 °C inlet; reproduce with python3 -m oklo_mcp.cli solve-th):

{
  "assembly_power_kw": 2400.0,
  "flow_rate_kg_s": 12.5,
  "coolant_temp_inlet_c": 400.0,
  "coolant_temp_outlet_c": 551.44,
  "reynolds_number": 30008.2,
  "peclet_number": 142.1,
  "pressure_drop_kpa": 6.28,
  "film_htc_w_m2k": 84088.0,
  "peak_clad_outer_temp_c": 556.46,
  "peak_cladding_temp_c": 564.59,
  "fcci_eutectic_threshold_c": 710.0,
  "fcci_eutectic_margin_c": 145.41,
  "status": "PASS"
}

Verification: every quantitative claim in this repo is listed with a reproduce command in VALIDATION.md.


Overview

fast-reactor-mcp is a proprietary Model Context Protocol (MCP) server, Fast-Reactor Physics Solvers, and AGY Native Skill engineered specifically for the Oklo corporate ecosystem: liquid-metal fast reactors (Aurora micro-reactor), spent fuel recycling at INL (A3F), fast-flux medical radioisotope production (Groves Isotope Test Reactor / Atomic Alchemy), AI hyperscale data center micro-grids (Meta 1.2 GW / Switch 12 GW PPAs), DoD off-grid defense resilience, and HALEU Type B cask logistics.

🌐 Live Interactive Web HUD (No MCP Installation Required)

For browser visitors evaluating this repository without an active MCP agent or local Python setup:

  • Live URL: https://petjal.github.io/fast-reactor-mcp/

  • Mini-Explainer: Standalone single-file page on GitHub Pages. Card 2 (sodium bundle T/H) and Card 5 (fitted surrogate) are ports of the Python package and are parity-tested against it in CI (tests/test_hud_parity.py). Cards 1, 3 and 4 (core-block conduction, heat pipe/sCO2, HALEU cask) are simplified client-side approximations and are not parity-tested.

👥 Mentorship & Team Enablement: Entry-Level AI/ML Engineer Primer

Engineering leadership isn't just about solo execution; it's about building scalable onboarding paths that bring junior engineers and domain scientists up to speed.

  • Onboarding Walkthrough: docs/ONBOARDING_PRIMER.md

  • What it Covers: A 30-minute "Hello World" tutorial designed for entry-level AI/ML engineers joining Oklo—explaining how to bridge fast-reactor physical invariants (sodium thermal-hydraulics, eutectic limits) with a fitted, held-out-validated surrogate, FastMCP tool registration, and the HAMRP AST rationale testing harness.

License Notice

Copyright (c) 2026 Emil "Pete" Jalajas. All Rights Reserved. Source-available on GitHub for public evaluation, review, and demonstration purposes only.

5-Second Standalone CLI Quickstart

No MCP client required to run the physics calculations and the fitted surrogate:

# Install package via uv or pip
pip install -e .

# Run the fitted surrogate (reports held-out metrics, extrapolation flag, and residual vs the solver)
python3 -m oklo_mcp.cli solve-surrogate --flow-rate 12.5 --temp 400.0 --power-kw 2400

# Retrain the surrogate and regenerate coefficients (requires numpy)
PYTHONPATH=src python3 scripts/train_surrogate.py

# Run thermal-hydraulics solver
python3 -m oklo_mcp.cli solve-th --flow-rate 12.5 --temp 400.0 --power-kw 2400

# Run Actinium-225 medical radioisotope yield solver
python3 -m oklo_mcp.cli solve-pyro --batch-kg 100.0

# Run multi-physics system transient scenario
python3 -m oklo_mcp.cli solve-transient --power-mwth 4.0 --coolant-flow 12.5

# Launch local stdio MCP server for Claude Code / AGY / Cursor
python3 -m oklo_mcp.server

📦 Installation & Setup Guide

1. Prerequisites

  • Python 3.10+

  • mcp SDK package (pip install "mcp>=1.0.0,<2.0.0")

2. Local Package Installation

# Clone the repository
git clone https://github.com/petjal/fast-reactor-mcp.git
cd fast-reactor-mcp

# Install required dependencies
pip install "mcp>=1.0.0,<2.0.0"
pip install -e .

3. Client Configuration

Option A: Antigravity (AGY CLI)

Run the single command via agy mcp add:

agy mcp add --env PYTHONPATH=/path/to/fast-reactor-mcp/src oklo-aurora python3 /path/to/fast-reactor-mcp/src/oklo_mcp/server.py

Verify status:

agy mcp list
Option B: Claude Code

Add to ~/.claude.json or run claude mcp add:

{
  "mcpServers": {
    "oklo-aurora": {
      "command": "python3",
      "args": ["/path/to/fast-reactor-mcp/src/oklo_mcp/server.py"],
      "env": {
        "PYTHONPATH": "/path/to/fast-reactor-mcp/src"
      }
    }
  }
}
Option C: Cursor / Claude Desktop

Add to your claude_desktop_config.json (~/.config/Claude/claude_desktop_config.json on Linux):

{
  "mcpServers": {
    "oklo-aurora": {
      "command": "python3",
      "args": ["/path/to/fast-reactor-mcp/src/oklo_mcp/server.py"],
      "env": {
        "PYTHONPATH": "/path/to/fast-reactor-mcp/src"
      }
    }
  }
}

1-Minute MCP "Hello World" Handshake Test

Once registered, test the multi-physics orchestrator execution directly from Python or via any connected MCP agent:

python3 -c "from oklo_mcp.orchestrator import solve_aurora_transient_scenarios; import json; print(json.dumps(solve_aurora_transient_scenarios(), indent=2))"

Key Solvers & Capabilities

  1. thermal_hydraulics.py: Novendstern wire-wrap bundle pressure drop; power-coupled peak cladding temperature (energy balance + Mikityuk 2009 liquid-metal Nusselt + clad wall conduction); Fink & Leibowitz (1995) sodium properties; FCCI eutectic margin (illustrative threshold model). 1a. surrogate.py: Linear least-squares surrogate over physics-informed features, fit by scripts/train_surrogate.py and gated on held-out accuracy in CI. Its ground truth is cheap, so it is not faster in any meaningful way; it demonstrates the validated surrogate workflow.

  2. rvacs_transient.py: 1D passive decay heat RVACS natural air circulation transient simulator using ANL fast-reactor decay heat parameterization.

  3. heatpipe_sco2.py: Liquid metal heat pipe capillary ($\Delta P_{cap, max}$), sonic, entrainment, and boiling operational limits coupled to an $\text{sCO}_2$ Brayton power loop.

  4. electrorefining.py: Pyroprocessing molten salt ($\text{LiCl-KCl}$) actinide mass balance calculator for spent EBR-II fuel recycling at Oklo's A3F facility.

  5. isotope_production.py: Ac-225 production via Ra-226(n,2n)Ra-225 → Ac-225 (two-member Bateman chain). The spectrum-averaged cross section is an explicit, unsourced assumption; outputs are illustrative.

  6. datacenter_microgrid.py: Dynamic load-following solver modeling Oklo Aurora $\text{sCO}_2$ power response to megawatt-scale AI data center training load spikes (Meta 1.2 GW / Switch 12 GW PPAs).

  7. defense_space_microreactor.py: Solves remote forward operating military base power resilience, daily diesel fuel displacement, and containerized core autonomy.

  8. haleu_logistics_transport.py: Solves HALEU Category II Special Nuclear Material (SNM) transport cask thermal dissipation, dose rate bounds, and $1.68B A3F inventory throughput.

  9. orchestrator.py: Multi-physics tool (solve_aurora_transient_scenarios) chaining all 8 solvers sequentially.


Machine Specification & Context Architecture

[LLM REPOSITORY DIRECTIVE: OKLO_AURORA_MCP_ROOT]
TARGET: petjal/fast-reactor-mcp
DOMAIN: Liquid-Metal Fast Reactors, Sodium Heat Pipes, Pyroprocessing, Radioisotopes, AI Data Centers, Defense Micro-Grids, HALEU Logistics, NRC Docket 05200049
SPEC_VERSION: 1.4.0 (proof of concept)
LICENSE: Proprietary (Copyright (c) 2026 Emil "Pete" Jalajas)
PROTOCOL: Model Context Protocol (MCP) JSON-RPC Stdio / GCP Cloud Run SSE
ANNOTATION_HARNESS: Hyper-Annotated Machine Rationale Protocol (HAMRP)
GOVERNANCE: META_GOVERNANCE.md (10 CFR 810 Export Control Disclaimer / 10 CFR 50 App B Non-Safety Notice)

Available Tools

11 tools
calculate_pyroprocess_recycling_mass_balanceB

Calculates pyroprocessing molten salt (LiCl-KCl) electrorefining mass balance for spent EBR-II fuel recycling at Oklo A3F facility.

ParametersJSON Schema
NameRequiredDescriptionDefault
cadmium_cathodeNo
spent_fuel_batch_kgNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. The verb 'Calculates' implies a deterministic, non-mutating operation, and the domain framing (LiCl-KCl electrorefining at A3F) adds useful context. However, it discloses nothing about side effects, assumptions, or limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler; the domain qualifiers are packaged efficiently. It is terse to the point of omitting useful detail, but every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. Against that, the tool has two undocumented parameters with defaults and no annotations, and the description gives no hint of how inputs influence the mass balance — leaving gaps for a calculation tool of this specificity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so both parameters (cadmium_cathode, spent_fuel_batch_kg) are undocumented except for their titles and defaults. The description never mentions either input, so it does not compensate for the coverage gap — e.g. what toggling cadmium_cathode changes or how batch size affects results remains unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Contains a specific verb and resource: 'Calculates pyroprocessing molten salt (LiCl-KCl) electrorefining mass balance.' The scope is pinned to a concrete domain (EBR-II fuel, Oklo A3F facility), making it unmistakable against siblings like evaluate_coolant_bundle or solve_aurora_system_transient. It stops short of naming or contrasting a sibling, so it falls just below a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states what the tool computes but gives no when-to-use guidance, no prerequisites, and no alternatives among the ten sibling tools. Nothing tells the agent under what conditions this calculation is the right call versus, for example, calculate_radioisotope_production_yield.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_radioisotope_production_yieldA

Estimates end-of-irradiation Ac-225 activity from a Ra-226 target via Ra-226(n,2n)Ra-225 -> Ac-225 in a fast neutron flux. Cross section is an illustrative assumption.

ParametersJSON Schema
NameRequiredDescriptionDefault
target_mass_gNo
irradiation_daysNo
neutron_flux_n_cm2_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It does add a genuinely useful caveat that the cross section is an illustrative assumption, warning the agent results are approximate. However, it discloses nothing about the calculation model's limitations, validity ranges, or units beyond what is implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with no wasted words; the core action and reaction pathway are front-loaded and the caveat is correctly placed last.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. The description covers the reaction channel and one key assumption, which is sufficient for calling the tool, though it omits model scope/validity limits that a physics simulation would benefit from.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema provides no parameter meaning and the description must compensate. It only implicitly maps 'Ra-226 target' to target_mass_g and 'fast neutron flux' to neutron_flux_n_cm2_s, and clarifies nothing beyond the parameter names (e.g. no explicit units or valid ranges), so compensation is partial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (estimates) and a precise resource (end-of-irradiation Ac-225 activity) and quantifies the pathway (Ra-226(n,2n)Ra-225 -> Ac-225 in a fast neutron flux). This is distinctly different from the sibling tools, which concern thermal/energy/thermal-hydraulic problems, so an agent can route unambiguously.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit when-to-use or when-not-to-use guidance and names no alternatives. The reaction context implies its purpose, but the agent is left to infer that this is the tool for radionuclide yield estimates.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evaluate_aurora_core_block_conduction_toolC

Evaluates radial conduction heat transfer from U-10Zr fuel pins across Oklo's solid core block (Docket 05200049 monolithic stainless steel core) to sodium heat pipes.

ParametersJSON Schema
NameRequiredDescriptionDefault
burnup_gwd_tNo
thermal_power_kwNo
core_block_temp_cNo
fuel_pin_radius_mNo
fuel_channel_pitch_mNo
steel_thermal_conductivity_w_mkNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing beyond the physical scope: no assumptions, correlations, validity ranges, steady-state vs transient nature, or sensitivity to the defaulted inputs. The regulatory docket reference is context, not behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is front-loaded with the verb and contains no filler. It is appropriately sized for a one-purpose physics evaluator, though it stops short of earning a 5 by omitting any usage or scope cues.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, but for a six-input simulation tool with zero annotation and zero schema-description coverage, the description leaves the agent without parameter meaning, validity bounds, or sibling disambiguation. It is under-specified for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Six parameters with 0% schema description coverage and no parameter information in the description. The field names embed units (burnup_gwd_t, thermal_power_kw, fuel_pin_radius_m, steel_thermal_conductivity_w_mk), so semantics are partially inferable, but no ranges, defaults rationale, or relationships (e.g. pitch vs pin radius) are supplied.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb ('Evaluates') plus the exact physical resource: radial conduction heat transfer from U-10Zr fuel pins across Oklo's solid core block to sodium heat pipes. This level of specificity inherently separates it from siblings like solve_aurora_system_transient or evaluate_heatpipe_and_sco2_cycle, which cover different physics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to choose this tool over the closely related siblings (solve_aurora_system_transient, evaluate_heatpipe_and_sco2_cycle) or what preconditions apply. The description states what is computed but never when an agent should reach for it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evaluate_coolant_bundleB

Evaluates sodium coolant pressure drop (Novendstern) and power-coupled peak cladding temperature (energy balance + Mikityuk liquid-metal Nu) with FCCI eutectic margin. temp_c is the coolant inlet temperature.

ParametersJSON Schema
NameRequiredDescriptionDefault
temp_cNo
pitch_mNo
burnup_gwd_tNo
flow_rate_kg_sNo
pin_diameter_mNo
assembly_power_kwNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose the modeling approach (Novendstern pressure drop, energy balance plus Mikityuk Nu for clad temperature), which is meaningful behavioral context. However, it says nothing about whether the tool is a pure computation, what units or format the result takes, or any assumptions/limits beyond the named correlations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly packed sentences that front-load the core computation and reserve the second for a parameter clarification. No filler, though the density assumes significant domain knowledge.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. Still, for a six-parameter nuclear-thermal evaluation with no annotations and 0% schema coverage, the description leaves parameter meaning and usage context largely unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across six parameters, so the description must compensate, but it only explains temp_c (coolant inlet temperature). The other five inputs (pitch_m, burnup_gwd_t, flow_rate_kg_s, pin_diameter_m, assembly_power_kw) are left to self-descriptive names with no stated units beyond the suffixes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('evaluates') plus concrete computed resources: sodium coolant pressure drop, peak cladding temperature, and FCCI eutectic margin, even naming the correlations used (Novendstern, Mikityuk). This clearly distinguishes it from physics siblings like evaluate_aurora_core_block_conduction_tool, though it does not explicitly call out the contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no mention of alternatives among the many sibling evaluation tools. The only usage-adjacent statement is that temp_c is the coolant inlet temperature, which is clarification rather than selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evaluate_datacenter_microgrid_rampC

Evaluates micro-grid stability, sCO2 turbine ramp times, and thermal buffer energy requirements for AI data center training load spikes.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseline_power_mweNo
target_load_step_mweNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It says what is computed but nothing about how the evaluation behaves: no indication of determinism, computational cost, sensitivity to the two inputs, or what happens when defaults are used. An output schema exists, but its mere existence does not explain the behavior of the calculation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler or repetition. It is appropriately sized, though it could carry one more clause of usage or parameter context without becoming bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-value explanation is not needed, and defaults reduce input burden. However, for a parameterized physics evaluation with 0% schema coverage and no annotations, the description leaves both input semantics and behavioral expectations unaddressed, so it is only minimally sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the two numeric parameters, so the description must compensate and does not. It never mentions baseline_power_mwe or target_load_step_mwe, their units, or that the difference between them is the load step being assessed; only the parameter titles hint at this.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (evaluates) and three concrete outputs (microgrid stability, sCO2 turbine ramp times, thermal buffer sizing) scoped to AI data center training load spikes. That is clear and distinct from generic siblings like evaluate_coolant_bundle. It stops short of explicitly contrasting with the closely related evaluate_defense_microgrid_autonomy, so no sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus alternatives, no prerequisites, and no exclusions. The domain phrase 'AI data center training load spikes' implies a context but it is inference, not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evaluate_defense_microgrid_autonomyC

Evaluates forward operating military base power resilience, daily diesel fuel displacement, and logistics convoy reduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
operating_daysNo
microreactor_power_mweNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden and delivers little: it does not disclose underlying model assumptions, whether results are deterministic or approximate, units/fidelity of the metrics, or any auth/rate constraints. The single sentence describes subject matter, not behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler — appropriate length. It is efficient, though the brevity comes at the cost of the missing detail captured in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, but the definition is still thin: no annotations, no parameter documentation, and no indication of the evaluation methodology or when the tool is appropriate. For a physics/economics evaluation tool, this leaves significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description never mentions the two inputs (operating_days, microreactor_power_mwe) or their defaults. The topic sentence loosely implies a time horizon and reactor sizing, but there is no explanation of units or how changing these values affects the evaluation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Evaluates') and three concrete outputs: base power resilience, daily diesel fuel displacement, and logistics convoy reduction. This is far more informative than a tautology, though it does not distinguish itself explicitly from near-neighbors like evaluate_datacenter_microgrid_ramp.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus the many sibling evaluation tools, no prerequisites, and no scenario framing beyond the topic itself. An agent must infer applicability purely from the subject matter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evaluate_haleu_transport_cask_safetyB

Evaluates Type B transport cask decay heat dissipation, radiation dose rates, and criticality safety margins for HALEU Category II SNM shipments.

ParametersJSON Schema
NameRequiredDescriptionDefault
haleu_mass_kgNo
enrichment_pctNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, and it does disclose the three analysis domains it covers (decay heat, dose rates, criticality margins), which is genuinely useful. However, it says nothing about the computational model, assumptions, validity limits, or that it is a non-mutating evaluation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence, front-loaded with the verb and the scope. No filler, nothing to trim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, and the scope is stated. But for a two-parameter nuclear-safety evaluation with no annotations and zero schema coverage, the omission of parameter semantics and usage context leaves the definition only minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema documents neither haleu_mass_kg nor enrichment_pct, and the description does not mention either parameter at all. Their names are self-descriptive, but units, valid ranges, and the meaning of the 250/19.75 defaults are left entirely to inference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Evaluates) with a precisely scoped resource (Type B transport cask decay heat dissipation, radiation dose rates, criticality safety margins) and a named domain (HALEU Category II SNM shipments). None of the siblings touch transport cask safety, so the agent can route here unambiguously.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says only what the tool computes, never when to choose it or what preconditions apply. There is no guidance on required inputs, shipment assumptions, or how it relates to the reactor/thermal siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evaluate_heatpipe_and_sco2_cycleC

Evaluates liquid metal heat pipe capillary limits and supercritical CO2 (sCO2) Brayton cycle power conversion efficiency.

ParametersJSON Schema
NameRequiredDescriptionDefault
temp_cNo
heat_input_kwNo
working_fluidNosodium

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the entire behavioral burden. It says what is evaluated but discloses nothing about assumed operating ranges, validity limits, modeling assumptions, or whether the two analyses are coupled, which matters for a physics tool taking an input temperature and heat load.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence with the core purpose front-loaded and no filler. It is appropriately sized, though that brevity is partly achieved by omitting necessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be explained, but with zero annotation coverage and 0% parameter documentation the definition leaves the agent without units, ranges, or usage context for a three-parameter physical simulation. Completeness is well below what this tool's complexity demands.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does not. The three parameters (temp_c, heat_input_kw, working_fluid) are never mentioned; the description only alludes to 'liquid metal' implicitly covering the sodium default, leaving units and valid ranges entirely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (evaluates) plus two concrete technical resources (liquid metal heat pipe capillary limits and sCO2 Brayton cycle conversion efficiency), so the agent knows exactly what analysis this performs. It doesn't explicitly differentiate itself from the many sibling evaluate_* tools beyond the distinct domain, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no preconditions, and no mention of alternatives among the sibling evaluators. The agent must infer applicability purely from the technical domain in the noun phrase.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evaluate_physics_surrogate_toolA

Predicts peak cladding temperature and pressure drop with a least-squares surrogate fit to the analytical T/H solver. Reports held-out validation metrics, flags extrapolation outside the training envelope, and returns the residual against the solver.

ParametersJSON Schema
NameRequiredDescriptionDefault
temp_cNo
burnup_gwd_tNo
flow_rate_kg_sNo
assembly_power_kwNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does meaningful work: it discloses the surrogate/approximation nature, that held-out validation metrics are reported, that out-of-envelope inputs are flagged as extrapolation, and that a residual against the solver is returned. It does not state what happens when extrapolation is detected (warning vs. refusal) or any accuracy/permission limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence that front-loads the prediction, then appends reporting behaviors (metrics, extrapolation flag, residual). Every clause carries information and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return-value detail is not required, and the description is honest about the surrogate's limitations. However, for a numerical surrogate with four undocumented, zero-covered inputs, the description gives no hint of the training envelope boundaries or valid input ranges, which is the key information an agent needs to avoid triggering extrapolation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for all four parameters, so the description must compensate and it does not — no mention of temp_c, burnup_gwd_t, flow_rate_kg_s, or assembly_power_kw, their units, or their valid ranges. The parameter names themselves encode units and are self-explanatory, but the description adds no semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (predicts) and concrete outputs (peak cladding temperature, pressure drop) plus the method (least-squares surrogate fit to the analytical T/H solver), which clearly separates it from a full-solver sibling. It never names a sibling tool, so the differentiation is by technique rather than by explicit routing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Describing itself as a 'surrogate fit to the analytical T/H solver' implies the when-to-use case (fast approximate evaluation instead of the analytical solver), but there is no explicit guidance, no stated prerequisites, and no named alternative among the ten sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simulate_passive_rvacs_coolingC

Simulates 1D passive Reactor Vessel Auxiliary Cooling System (RVACS) natural air circulation decay heat removal following a loss-of-forced-flow (LOFF) reactor trip.

ParametersJSON Schema
NameRequiredDescriptionDefault
power_mwthNo
duration_hoursNo
initial_sodium_temp_cNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It describes the physics being modeled but doesn't state whether the simulation is deterministic, what units the output uses, time-step behavior, or any limits. With no annotations and no output-schema explanation in the description, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, dense sentence that front-loads the core simulation purpose. It's efficient and not padded, though the acronym expansion adds length without operational guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simulation tool with no annotations, 3 undocumented parameters, and an output schema, the description omits parameter meaning, output interpretation, and usage context. It's too sparse for correct invocation despite the explicit scenario.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and there are 3 parameters with no descriptions. The description doesn't mention power_mwth, duration_hours, or initial_sodium_temp_c at all, so an agent gets no semantic help beyond parameter names and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific simulation verb and resource (1D passive RVACS natural air circulation decay heat removal), and includes the triggering scenario (LOFF reactor trip). This distinguishes it from siblings like solve_aurora_system_transient or evaluate_coolant_bundle. However, it doesn't explicitly name which sibling to use instead in adjacent cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies usage through the LOFF reactor trip scenario, giving a clear context for when this simulation applies. But it offers no exclusions, no alternatives, and no guidance on when to pick a different sibling (e.g., solve_aurora_system_transient).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

solve_aurora_system_transientB

Chains all 8 fast-reactor & ecosystem solvers sequentially into a unified multi-physics evaluation scenario.

ParametersJSON Schema
NameRequiredDescriptionDefault
power_mwthNo
coolant_flow_kg_sNo
spent_fuel_feed_kgNo
coolant_inlet_temp_cNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden. It does reveal genuine behavioral semantics beyond the schema: the tool is an orchestration of eight solvers executed in sequence, which implies compounding runtime and coupled dependencies. However, it says nothing about cost, execution time, permissions, or whether any state is mutated or persisted, so the safety/effort profile remains opaque.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler or repetition. It is efficient, though arguably undersized for a composite 8-solver tool whose inputs are entirely undocumented, so the terseness shades slightly into under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. But given no annotations, four undocumented parameters, and a tool whose behavior is a chain of eight solvers, the description leaves too much unstated: it never says when to prefer this over the individual sibling solvers or what the scenario actually produces. Adequate as a one-line identity, insufficient as a complete definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All four parameters have 0% schema description coverage and the description mentions none of them. The names are partially self-documenting through embedded units (power_mwth, coolant_flow_kg_s, coolant_inlet_temp_c), but for a 4-parameter multi-physics driver the description should clarify what the inputs drive and how the defaults (4 MWth, 12.5 kg/s, 100 kg, 360 C) shape the scenario. It does not compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete action ('chains ... solvers sequentially') and its scope ('all 8 fast-reactor & ecosystem solvers', 'unified multi-physics evaluation scenario'). This implicitly distinguishes it from the sibling tools, which each evaluate a single domain (core conduction, coolant bundle, RVACS, etc.). It stops short of explicitly saying it is the composite counterpart of those siblings, but the resource and scope are clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: an agent can infer this is the tool for a whole-system multi-physics run as opposed to the single-domain siblings. There is no explicit when-to-use/when-not-to-use, no guidance on preferring the individual solvers for targeted questions, and no cost or runtime caveat for invoking the full chain.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updatesv1.4.0
    • First observedcalculate_pyroprocess_recycling_mass_balance
    • First observedcalculate_radioisotope_production_yield
    • First observedevaluate_aurora_core_block_conduction_tool
    • First observedevaluate_coolant_bundle
    • First observedevaluate_datacenter_microgrid_ramp
    • First observedevaluate_defense_microgrid_autonomy
    • First observedevaluate_haleu_transport_cask_safety
    • First observedevaluate_heatpipe_and_sco2_cycle
    • First observedevaluate_physics_surrogate_tool
    • First observedsimulate_passive_rvacs_cooling
    • First observedsolve_aurora_system_transient

TDQS

B3.3/5.0

Scored across 11 tools

Disambiguation4/5

Most tools target clearly distinct physics domains (conduction, coolant bundle, RVACS, sCO2 cycle, pyroprocessing, isotope yield, microgrids, cask, surrogate). However evaluate_physics_surrogate_tool overlaps with evaluate_coolant_bundle on peak cladding temperature and pressure drop, and solve_aurora_system_transient is an orchestrator that overlaps everything, creating mild confusion.

Naming Consistency4/5

Nearly all tools follow a verb_noun snake_case convention (evaluate_, calculate_, simulate_, solve_). Deviations are minor: verbs vary across evaluate/calculate/simulate/solve, and two tools redundantly carry a '_tool' suffix while others do not.

Tool Count5/5

11 tools are well-scoped for a multi-physics reactor ecosystem simulator, and each maps to a coherent analytical domain without redundancy. No tool feels gratuitous.

Completeness4/5

The surface covers reactor thermal-hydraulics, passive cooling, power conversion, fuel-cycle recycling, isotope production, microgrid stability, transport safety, and a surrogate. Minor gaps exist (e.g. no explicit economics or shielding/dose lifecycle beyond cask), but core workflows are covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    A physics engine for liquid-cooled GPU systems, exposed as an AI-callable MCP server. Enables thermal analysis, coolant comparison, flow optimization, and rack-level sizing via natural language queries.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that provides pre-flight validation and post-processing tools for OpenMC Monte Carlo transport simulations, catching common authoring mistakes before jobs hit the HPC queue.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Automates OpenFOAM CFD simulations via MCP, enabling AI agents to mesh, run, and post-process cases from natural language prompts without any API keys.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Deterministic AI data-center design tools for sizing, validation, and conceptual rack/site layouts. Supports NVIDIA Hopper, Blackwell, and Rubin profiles. Calculations require a registered AIDC API key; results preserve warnings, RFIs, and pending validations.
    3
    3
    MIT