You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -446,15 +446,15 @@ <h1>UXarray MCP Server — Architecture Diagram</h1>
446
446
Flow runs <strong>top → bottom</strong>, arrows crossing lanes are handoffs.
447
447
<strongstyle="color:#e3b341">Orange diamonds</strong> = routing decisions made automatically by the agent.
448
448
<strongstyle="color:#56d364">Green boxes</strong> = compute runs on your local machine.
449
-
<strongstyle="color:#e3b341">Orange boxes</strong> = dispatched to Argonne Improv via Globus Compute — the file never leaves the cluster.
450
-
<strongstyle="color:#39d0d0">Teal dashed boxes</strong> = steps that only activate under certain conditions (data_path provided, endpoint configured).
449
+
<strongstyle="color:#e3b341">Orange boxes</strong> = dispatched to a named HPC endpoint via Globus Compute — the file never leaves the cluster.
450
+
<strongstyle="color:#39d0d0">Teal dashed boxes</strong> = steps that only activate under certain conditions (data_path provided, remote mode requested).
451
451
<strongstyle="color:#f85149">Red dashed</strong> inside HPC boxes = automatic local fallback when the endpoint is unreachable.
452
-
<strong>Dynamic registration:</strong>HPC tools (rows 10–13) only appear in Claude's tool list when <code>endpoint_id</code>is set in <code>config.yaml</code>.
452
+
<strong>Unified registration:</strong> tools are registered once; remote execution is selected with <code>use_remote=True</code>and optional endpoint names.
<divclass="card-h">Representative MCP Tools <spanstyle="font-weight:400;color:#6e7681;font-size:12px">— unified local / remote surface</span></div>
458
458
<table>
459
459
<thead>
460
460
<tr><th>#</th><th>Tool Name</th><th>Source File</th><th>Runs On</th><th>Domain Module</th><th>What It Does</th></tr>
@@ -469,14 +469,14 @@ <h1>UXarray MCP Server — Architecture Diagram</h1>
469
469
<tr><td>7</td><td><code>get_execution_mode</code></td><td><code>execution_control.py</code></td><td><spanclass="tag tl">LOCAL</span></td><td>—</td><td>Returns current execution mode (local / hpc / auto) and whether an HPC endpoint is configured.</td></tr>
470
470
<tr><td>8</td><td><code>set_execution_mode</code></td><td><code>execution_control.py</code></td><td><spanclass="tag tl">LOCAL</span></td><td>—</td><td>Switch execution mode from the Claude UI without editing config.yaml directly.</td></tr>
<tr><td>10</td><td><code>inspect_mesh_hpc</code></td><td><code>remote_tools.py</code></td><td><spanclass="tag th">HPC*</span></td><td><code>mesh.py</code> on HPC</td><td>Mesh inspection via Globus Compute on Improv. Pre-flight health check. Auto-fallback to local.</td></tr>
473
-
<tr><td>11</td><td><code>calculate_area_hpc</code></td><td><code>remote_tools.py</code></td><td><spanclass="tag th">HPC*</span></td><td><code>area.py</code> on HPC</td><td>Face area calculation via Globus Compute. Pre-flight health check. Auto-fallback to local.</td></tr>
474
-
<tr><td>12</td><td><code>inspect_variable_hpc</code></td><td><code>remote_tools.py</code></td><td><spanclass="tag th">HPC*</span></td><td><code>variable.py</code> on HPC</td><td>Variable inspection via Globus Compute. Pre-flight health check. Auto-fallback to local.</td></tr>
475
-
<tr><td>13</td><td><code>calculate_zonal_mean_hpc</code></td><td><code>remote_tools.py</code></td><td><spanclass="tag th">HPC*</span></td><td><code>zonal.py</code> on HPC</td><td>Zonal mean via Globus Compute. Pre-flight health check. Auto-fallback to local.</td></tr>
472
+
<tr><td>10</td><td><code>inspect_mesh</code></td><td><code>remote_tools.py</code></td><td><spanclass="tag th">HPC*</span></td><td><code>mesh.py</code> on HPC</td><td>Mesh inspection with <code>use_remote=True</code>. Pre-flight health check. Auto-fallback to local.</td></tr>
473
+
<tr><td>11</td><td><code>calculate_area</code></td><td><code>remote_tools.py</code></td><td><spanclass="tag th">HPC*</span></td><td><code>area.py</code> on HPC</td><td>Face area calculation with <code>use_remote=True</code>. Pre-flight health check. Auto-fallback to local.</td></tr>
474
+
<tr><td>12</td><td><code>inspect_variable</code></td><td><code>remote_tools.py</code></td><td><spanclass="tag th">HPC*</span></td><td><code>variable.py</code> on HPC</td><td>Variable inspection with <code>use_remote=True</code>. Pre-flight health check. Auto-fallback to local.</td></tr>
475
+
<tr><td>13</td><td><code>calculate_zonal_mean</code></td><td><code>remote_tools.py</code></td><td><spanclass="tag th">HPC*</span></td><td><code>zonal.py</code> on HPC</td><td>Zonal mean with <code>use_remote=True</code>. Pre-flight health check. Auto-fallback to local.</td></tr>
* HPC tools are only registered when <code>endpoint_id</code> is set in <code>config.yaml</code>. Without an endpoint, Claude's tool list shows 9 tools.
479
+
* Remote execution is selected per call with <code>use_remote=True</code>. Endpoint readiness controls remote dispatch and fallback.
Copy file name to clipboardExpand all lines: docs/architecture.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -114,6 +114,21 @@ of exposing separate HPC-only tool names.
114
114
115
115
**Validation gating** — The scientific agent runs dataset validation before zonal mean. If validation fails, zonal mean is skipped rather than producing unreliable results.
116
116
117
+
## Maintenance Notes
118
+
119
+
The current implementation favors a small number of broad tool modules while
120
+
the MCP surface is still evolving. That keeps related behavior easy to audit
121
+
for the first release, but the largest files should be split once the public
122
+
contracts settle:
123
+
124
+
-`remote/compute_functions.py` should be divided by remote capability family
0 commit comments