Run reproducible scientific workloads on GPUs, local compute, Slurm, and PBS with provenance.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Project Bourne is open-source execution and provenance infrastructure for reproducible scientific and engineering workloads.
It answers: Exactly how did this scientific result come to exist?
The Remote Worker and Compute Worker are not agents or persistent services; both are short-lived, versioned Bourne workers. Bourne does not SSH directly into compute nodes. Slurm/PBS/LSF places the Compute Worker inside the allocation and owns job lifetime after accepting the submission. The researcher's workstation / control plane may disconnect and reconcile the same execution later.
The HPC path requires no AI, MCP server, AI credential, inbound port, root access, persistent daemon, or public-internet access on the cluster. It uses the researcher's existing OpenSSH configuration and scheduler access. Agents receive typed Bourne operationsβnot an unrestricted remote shell.
The Bourne control plane is supported and tested on Linux and macOS. Native Windows is not yet validated or supported.
Bourne remains agent-native, not agent-dependent. The CLI and Python services work without an agent or MCP.
Install Project Bourne v0.8.1 from PyPI:
Configure a site-aware SSH workflow with the installed CLI:
The first plan call prints bounded candidates. A human or agent then makes the preference decision explicitly:
The trust flag is an explicit review decision for semantic classifications in
that declarative provider; the provider cannot grant itself that authority.
Use --approve-variant-change PARAMETER or
--declare-execution-only PARAMETER for narrower user decisions. If the
selected candidate changes a provider-bound JSON input, Bourne preserves the
original and automatically binds a separately hashed WorkloadVariant to the
plan.
Slurm/PBS/LSF owns the job after acceptance. The researcher's workstation / control plane, VPN, SSH connection, MCP host, and agent may disconnect; Bourne reconnects later and reconciles the exact execution. An ambiguous connection failure never triggers blind resubmission.
The v0.8.1 agent and MCP entrypoints remain local stdio:
Project Bourne uses uv as its development, dependency-locking, test, and
build frontend. After installing uv, synchronize the committed lockfile and run
the suite with:
CI uses locked/frozen variants of these commands so an out-of-date uv.lock
fails instead of drifting. uv is development tooling only: it is not a
bourneprov runtime dependency, is not required for pip install, is not
used by the npm launcher, and is never required on HPC login or compute nodes.
See CONTRIBUTING.md for the complete contributor workflow.
Bourne wraps arbitrary executables without requiring changes to the scientific program. It is local-first and framework-agnostic: Python, compiled solvers, Julia, MPI programs, and other commands use the same durable experiment model.
Program stdout and stderr remain visible during execution and are preserved in the experiment record.
v0.8 keeps planning truth, scheduler truth, runtime truth, experiment truth,
verification, and scientific validity separate. The execution-scoped Compute
Worker records versioned process, allocation, CPU, memory, I/O, GPU, and
environment evidence with explicit observed, partially_observed,
unavailable, unsupported, or unknown coverage. Missing telemetry does not
fail a valid workload and never becomes a fabricated zero.
IBM LSF joins Slurm and PBS with bounded queue discovery, bsub, exact-job
active bjobs, recent-finished bjobs -a, durable bhist reconciliation,
and bkill. Existing
Apptainer/Singularity images can be frozen into a selected site-aware plan;
Bourne verifies the existing runtime/image on the compute side and passes the
scientific command as exact argv. It does not build, pull, install, or manage
images. v0.8 does not orchestrate multi-node container launch, choose
MPI-launcher/container ordering, or inject an MPI launcher. See
runtime evidence and scheduler coverage.
Bourne Core owns deterministic execution, evidence, planning, storage, and provenance. CLI, SDK, and MCP are adapters over the same services:
The remote worker is one-shot, user-space, non-AI, and non-daemon. It accepts only versioned operations for discovery, plan validation, staging, scheduler submission, and reconciliation. Scientific commands remain exact argv in an immutable plan; no scientific argv is interpolated into remote shell text. The remote-worker protocol remains v1. v0.8 adds worker-result protocol v3 and staged-plan protocol v4 while retaining readers for released worker-result v1/v2 and staged-plan v1/v2/v3 payloads.
The canonical local stdio server is bourne mcp. The stable official MCP
Registry identity is io.github.KozakHou/project-bourne, and the portable
Agent Skill is at skills/project-bourne. The v0.8.1
npm package and matching Registry metadata use the same release identity.
An MCP-compatible agent can translate an explicit request such as βRun this simulation using four GPUs and preserve provenanceβ into ExecutionRequest v2, ask Bourne to plan it, show the deterministic resolution, and execute the immutable plan after execution intent is established. Bourne itself does not interpret unconstrained natural language and does not call another model.
The agent path is deliberately two-phase:
Planning never runs the workload or silently discovers infrastructure. Ambiguous targets and unknown facts remain unresolved. MCP annotations are host UX hints; Bourne Core still enforces immutable plans, exact argv, scheduler job ownership, artifact semantics, and provenance. See MCP integration and Agent guidance.
An execution can now be described once in a bounded, versioned JSON request:
Save it as bourne.json, then use the same intent for planning or execution:
Create a minimal request without executing or discovering anything:
Existing flag-based commands remain supported. They compile into the same
ExecutionRequest β WorkloadSpec β ExecutionPlan pipeline rather than a
parallel implementation:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/project-bourne)<a href="https://allmcps.com/mcp/project-bourne"><img src="https://allmcps.com/api/badge/project-bourne?style=directory" alt="Project Bourne on AllMCPs" /></a>