Repository files navigation

Nomad icon

Nomad

Nomad connects AI agents to scientific foundation models (SciFMs). It serves PyTorch-backed scientific tools over the Model Context Protocol (MCP), and it can also expose MCP tools as typed Python callables inside a code-execution sandbox.

Documentation site | Getting started | Model builder guide | Reference

What Nomad does

  • Serve SciFMs and regular Python tools over MCP with nomad serve.
  • Load model artifacts from Hugging Face, local storage, or Git/Git LFS.
  • Proxy MCP servers into a Python sandbox with nomad code-mode and nomad code-mode-exec.
  • Support both local workflows and hosting models on remote GPU servers.

Install

Nomad requires Python 3.12 or newer.

For CLI use:

uv tool install --python 3.13 nomad-scifm
nomad --help

For development from a checkout:

uv sync --all-groups
uv run nomad --help

Quick start

Launch the example server directly in MCP Inspector using stdio:

npx @modelcontextprotocol/inspector -- \
uv run --directory container/demo \
nomad serve nomad.yml

For the HTTP workflow and matching URSA configs, see Starting a Nomad server and Connect to a hosted Nomad server.

Start here by task

If you want to...Start here
Connect to a running Nomad serverGetting started
Host a new SciFMModel builder guide
Use Nomad for InferenceNomad inference notebook
Browse CLI, config, and API docsReference
Run the demo deploymentDeployments
Work on Nomad itselfDeveloper docs

Development

Useful commands from a repo checkout:

uv run --only-group lint just lint
uv run --group dev just test
uv run --no-dev --group docs just docs
uv run --no-dev --group docs just docs-pdf

Notice of Copyright Assertion (O5119)

© 2026. Triad National Security, LLC. All rights reserved.

This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare. derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.

About

Connecting SciFMs and Tools to AI Agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Nomad icon

Nomad

Nomad connects AI agents to scientific foundation models (SciFMs). It serves PyTorch-backed scientific tools over the Model Context Protocol (MCP), and it can also expose MCP tools as typed Python callables inside a code-execution sandbox.

Documentation site | Getting started | Model builder guide | Reference

What Nomad does

  • Serve SciFMs and regular Python tools over MCP with nomad serve.
  • Load model artifacts from Hugging Face, local storage, or Git/Git LFS.
  • Proxy MCP servers into a Python sandbox with nomad code-mode and nomad code-mode-exec.
  • Support both local workflows and hosting models on remote GPU servers.

Install

Nomad requires Python 3.12 or newer.

For CLI use:

uv tool install --python 3.13 nomad-scifm
nomad --help

For development from a checkout:

uv sync --all-groups
uv run nomad --help

Quick start

Launch the example server directly in MCP Inspector using stdio:

npx @modelcontextprotocol/inspector -- \
uv run --directory container/demo \
nomad serve nomad.yml

For the HTTP workflow and matching URSA configs, see Starting a Nomad server and Connect to a hosted Nomad server.

Start here by task

If you want to...Start here
Connect to a running Nomad serverGetting started
Host a new SciFMModel builder guide
Use Nomad for InferenceNomad inference notebook
Browse CLI, config, and API docsReference
Run the demo deploymentDeployments
Work on Nomad itselfDeveloper docs

Development

Useful commands from a repo checkout:

uv run --only-group lint just lint
uv run --group dev just test
uv run --no-dev --group docs just docs
uv run --no-dev --group docs just docs-pdf

Notice of Copyright Assertion (O5119)

© 2026. Triad National Security, LLC. All rights reserved.

This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare. derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.

About

Connecting SciFMs and Tools to AI Agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Nomad icon

Nomad

Nomad connects AI agents to scientific foundation models (SciFMs). It serves PyTorch-backed scientific tools over the Model Context Protocol (MCP), and it can also expose MCP tools as typed Python callables inside a code-execution sandbox.

Documentation site | Getting started | Model builder guide | Reference

What Nomad does

  • Serve SciFMs and regular Python tools over MCP with nomad serve.
  • Load model artifacts from Hugging Face, local storage, or Git/Git LFS.
  • Proxy MCP servers into a Python sandbox with nomad code-mode and nomad code-mode-exec.
  • Support both local workflows and hosting models on remote GPU servers.

Install

Nomad requires Python 3.12 or newer.

For CLI use:

uv tool install --python 3.13 nomad-scifm
nomad --help

For development from a checkout:

uv sync --all-groups
uv run nomad --help

Quick start

Launch the example server directly in MCP Inspector using stdio:

npx @modelcontextprotocol/inspector -- \
uv run --directory container/demo \
nomad serve nomad.yml

For the HTTP workflow and matching URSA configs, see Starting a Nomad server and Connect to a hosted Nomad server.

Start here by task

If you want to...Start here
Connect to a running Nomad serverGetting started
Host a new SciFMModel builder guide
Use Nomad for InferenceNomad inference notebook
Browse CLI, config, and API docsReference
Run the demo deploymentDeployments
Work on Nomad itselfDeveloper docs

Development

Useful commands from a repo checkout:

uv run --only-group lint just lint
uv run --group dev just test
uv run --no-dev --group docs just docs
uv run --no-dev --group docs just docs-pdf

Notice of Copyright Assertion (O5119)

© 2026. Triad National Security, LLC. All rights reserved.

This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare. derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.

About

Connecting SciFMs and Tools to AI Agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Nomad icon

Nomad

Nomad connects AI agents to scientific foundation models (SciFMs). It serves PyTorch-backed scientific tools over the Model Context Protocol (MCP), and it can also expose MCP tools as typed Python callables inside a code-execution sandbox.

Documentation site | Getting started | Model builder guide | Reference

What Nomad does

  • Serve SciFMs and regular Python tools over MCP with nomad serve.
  • Load model artifacts from Hugging Face, local storage, or Git/Git LFS.
  • Proxy MCP servers into a Python sandbox with nomad code-mode and nomad code-mode-exec.
  • Support both local workflows and hosting models on remote GPU servers.

Install

Nomad requires Python 3.12 or newer.

For CLI use:

uv tool install --python 3.13 nomad-scifm
nomad --help

For development from a checkout:

uv sync --all-groups
uv run nomad --help

Quick start

Launch the example server directly in MCP Inspector using stdio:

npx @modelcontextprotocol/inspector -- \
uv run --directory container/demo \
nomad serve nomad.yml

For the HTTP workflow and matching URSA configs, see Starting a Nomad server and Connect to a hosted Nomad server.

Start here by task

If you want to...Start here
Connect to a running Nomad serverGetting started
Host a new SciFMModel builder guide
Use Nomad for InferenceNomad inference notebook
Browse CLI, config, and API docsReference
Run the demo deploymentDeployments
Work on Nomad itselfDeveloper docs

Development

Useful commands from a repo checkout:

uv run --only-group lint just lint
uv run --group dev just test
uv run --no-dev --group docs just docs
uv run --no-dev --group docs just docs-pdf

Notice of Copyright Assertion (O5119)

© 2026. Triad National Security, LLC. All rights reserved.

This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare. derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.

About

Connecting SciFMs and Tools to AI Agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Nomad icon

Nomad

Nomad connects AI agents to scientific foundation models (SciFMs). It serves PyTorch-backed scientific tools over the Model Context Protocol (MCP), and it can also expose MCP tools as typed Python callables inside a code-execution sandbox.

Documentation site | Getting started | Model builder guide | Reference

What Nomad does

  • Serve SciFMs and regular Python tools over MCP with nomad serve.
  • Load model artifacts from Hugging Face, local storage, or Git/Git LFS.
  • Proxy MCP servers into a Python sandbox with nomad code-mode and nomad code-mode-exec.
  • Support both local workflows and hosting models on remote GPU servers.

Install

Nomad requires Python 3.12 or newer.

For CLI use:

uv tool install --python 3.13 nomad-scifm
nomad --help

For development from a checkout:

uv sync --all-groups
uv run nomad --help

Quick start

Launch the example server directly in MCP Inspector using stdio:

npx @modelcontextprotocol/inspector -- \
uv run --directory container/demo \
nomad serve nomad.yml

For the HTTP workflow and matching URSA configs, see Starting a Nomad server and Connect to a hosted Nomad server.

Start here by task

If you want to...Start here
Connect to a running Nomad serverGetting started
Host a new SciFMModel builder guide
Use Nomad for InferenceNomad inference notebook
Browse CLI, config, and API docsReference
Run the demo deploymentDeployments
Work on Nomad itselfDeveloper docs

Development

Useful commands from a repo checkout:

uv run --only-group lint just lint
uv run --group dev just test
uv run --no-dev --group docs just docs
uv run --no-dev --group docs just docs-pdf

Notice of Copyright Assertion (O5119)

© 2026. Triad National Security, LLC. All rights reserved.

This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare. derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.

About

Connecting SciFMs and Tools to AI Agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Nomad icon

Nomad

Nomad connects AI agents to scientific foundation models (SciFMs). It serves PyTorch-backed scientific tools over the Model Context Protocol (MCP), and it can also expose MCP tools as typed Python callables inside a code-execution sandbox.

Documentation site | Getting started | Model builder guide | Reference

What Nomad does

  • Serve SciFMs and regular Python tools over MCP with nomad serve.
  • Load model artifacts from Hugging Face, local storage, or Git/Git LFS.
  • Proxy MCP servers into a Python sandbox with nomad code-mode and nomad code-mode-exec.
  • Support both local workflows and hosting models on remote GPU servers.

Install

Nomad requires Python 3.12 or newer.

For CLI use:

uv tool install --python 3.13 nomad-scifm
nomad --help

For development from a checkout:

uv sync --all-groups
uv run nomad --help

Quick start

Launch the example server directly in MCP Inspector using stdio:

npx @modelcontextprotocol/inspector -- \
uv run --directory container/demo \
nomad serve nomad.yml

For the HTTP workflow and matching URSA configs, see Starting a Nomad server and Connect to a hosted Nomad server.

Start here by task

If you want to...Start here
Connect to a running Nomad serverGetting started
Host a new SciFMModel builder guide
Use Nomad for InferenceNomad inference notebook
Browse CLI, config, and API docsReference
Run the demo deploymentDeployments
Work on Nomad itselfDeveloper docs

Development

Useful commands from a repo checkout:

uv run --only-group lint just lint
uv run --group dev just test
uv run --no-dev --group docs just docs
uv run --no-dev --group docs just docs-pdf

Notice of Copyright Assertion (O5119)

© 2026. Triad National Security, LLC. All rights reserved.

This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare. derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.

About

Connecting SciFMs and Tools to AI Agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Nomad icon

Nomad

Nomad connects AI agents to scientific foundation models (SciFMs). It serves PyTorch-backed scientific tools over the Model Context Protocol (MCP), and it can also expose MCP tools as typed Python callables inside a code-execution sandbox.

Documentation site | Getting started | Model builder guide | Reference

What Nomad does

  • Serve SciFMs and regular Python tools over MCP with nomad serve.
  • Load model artifacts from Hugging Face, local storage, or Git/Git LFS.
  • Proxy MCP servers into a Python sandbox with nomad code-mode and nomad code-mode-exec.
  • Support both local workflows and hosting models on remote GPU servers.

Install

Nomad requires Python 3.12 or newer.

For CLI use:

uv tool install --python 3.13 nomad-scifm
nomad --help

For development from a checkout:

uv sync --all-groups
uv run nomad --help

Quick start

Launch the example server directly in MCP Inspector using stdio:

npx @modelcontextprotocol/inspector -- \
uv run --directory container/demo \
nomad serve nomad.yml

For the HTTP workflow and matching URSA configs, see Starting a Nomad server and Connect to a hosted Nomad server.

Start here by task

If you want to...Start here
Connect to a running Nomad serverGetting started
Host a new SciFMModel builder guide
Use Nomad for InferenceNomad inference notebook
Browse CLI, config, and API docsReference
Run the demo deploymentDeployments
Work on Nomad itselfDeveloper docs

Development

Useful commands from a repo checkout:

uv run --only-group lint just lint
uv run --group dev just test
uv run --no-dev --group docs just docs
uv run --no-dev --group docs just docs-pdf

Notice of Copyright Assertion (O5119)

© 2026. Triad National Security, LLC. All rights reserved.

This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare. derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.

About

Connecting SciFMs and Tools to AI Agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Nomad icon

Nomad

Nomad connects AI agents to scientific foundation models (SciFMs). It serves PyTorch-backed scientific tools over the Model Context Protocol (MCP), and it can also expose MCP tools as typed Python callables inside a code-execution sandbox.

Documentation site | Getting started | Model builder guide | Reference

What Nomad does

  • Serve SciFMs and regular Python tools over MCP with nomad serve.
  • Load model artifacts from Hugging Face, local storage, or Git/Git LFS.
  • Proxy MCP servers into a Python sandbox with nomad code-mode and nomad code-mode-exec.
  • Support both local workflows and hosting models on remote GPU servers.

Install

Nomad requires Python 3.12 or newer.

For CLI use:

uv tool install --python 3.13 nomad-scifm
nomad --help

For development from a checkout:

uv sync --all-groups
uv run nomad --help

Quick start

Launch the example server directly in MCP Inspector using stdio:

npx @modelcontextprotocol/inspector -- \
uv run --directory container/demo \
nomad serve nomad.yml

For the HTTP workflow and matching URSA configs, see Starting a Nomad server and Connect to a hosted Nomad server.

Start here by task

If you want to...Start here
Connect to a running Nomad serverGetting started
Host a new SciFMModel builder guide
Use Nomad for InferenceNomad inference notebook
Browse CLI, config, and API docsReference
Run the demo deploymentDeployments
Work on Nomad itselfDeveloper docs

Development

Useful commands from a repo checkout:

uv run --only-group lint just lint
uv run --group dev just test
uv run --no-dev --group docs just docs
uv run --no-dev --group docs just docs-pdf

Notice of Copyright Assertion (O5119)

© 2026. Triad National Security, LLC. All rights reserved.

This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare. derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.

About

Connecting SciFMs and Tools to AI Agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages