Repository navigation
uxarray-mcp 2026.10.0
Mirrors uxarray 2026.10.0.
Verified on two live MPICH clusters — Chrysalis 9/10, Casper 13/14. The one
failure on each is the conservative remap this release teaches the server to
diagnose.
Added
subset_advanced— select faces near a point, by radius or by neighbour
count. An empty selection is refused with the mesh extent.regrid_elements— move a field between nodes, edges and faces. This is
what makes node-centred output usable by the face-centred operations.- A recorded inventory of which UXarray surface this server reaches, and which
it deliberately does not. Tested against the installed library, so a new or
renamed method upstream fails until someone decides about it.
Both tools came from replaying the
uxarray-community notebooks
through the server. They are separate tools rather than new run_analysis
operations, which #89 already measures as too large.
Fixed
- A YAC remap that loses its worker now says MPI, not memory. Importing
YAC callsMPI_Init, which MPICH aborts; the abort arrives as a lost worker
with nothing mentioning MPI. The old advice — check mesh size, subset first —
cannot fix it. Measured: the identical remap runs in 0.09s in a worker
subprocess and kills the worker in-process. check_remote_yacreported "YAC OK" on a worker where every conservative
remap died. It only rannearest_neighbor, which never calls into YAC.
conservative_oknow separates "YAC is broken" from "YAC cannot run in this
process". Same fix inchrysalis_endpoint.sh check-yac.- Tool annotations reach clients on mcp 1.x, not only 2.x. At the declared
floor the shim attached nothing, soreadOnlyHint— what a client reads to
decide what it may auto-approve — was absent exactly where it is documented
as present. - Our annotations outrank inferred ones. toolregistry-server 0.7 began
markingmanage_sessionandresume_workflowread-only; both change state. get_capabilitiesnow says which of what it lists is executable.- The "not face-centered" refusals name
regrid_elementsas the repair. - The oversized-SCRIP test fixture no longer needs 8 GiB (7.45 → 1.67 GiB).
Changed
- Floors
uxarray>=2026.10.0,toolregistry>=0.19,toolregistry-server>=0.7.
0.19 carries the union fix, solat_specservesnumber | array<number>. - The container declares its Python version once, so a base-image bump cannot
half-apply. SETUP.shreproduces CI. It had drifted to a bareuv syncand an
unfilteredpytest, giving 19 failures that were all missing optional
dependencies.
Documentation
- New globus-basics.md — what Globus is, which
part you need, and why the identity must be the institutional one. The
explanation existed, buried mid-page where the README routed people past it. - Endpoints are per-user: a colleague's working endpoint gives you nothing.
Security
Clears 55 advisories in transitively-resolved packages, including a 9.1
Critical in certifi — the trust store behind every outbound HTTPS call this
server makes.
Full detail in CHANGELOG.md.