Skip to main content

nomad

中文说明

nomad is a local MCP server for agentic remote development. It keeps source code local while an AI agent syncs with rsync, runs commands over SSH, manages long jobs in remote tmux, and pulls artifacts back into the project.

For Codex, use the project-scoped Streamable HTTP daemon. Stdio remains available for compatible clients and one-off use.

Features

  • Multiple remote targets per local project.
  • Project-local .nomad.json configuration.
  • SSH preflight checks and read-only network diagnostics.
  • Incremental rsync push and guarded artifact pull.
  • Short remote commands and long-running tmux tasks.
  • Optional persistent reverse SSH tunnels.
  • Path guards, dangerous-command checks, output limits, and secret redaction.

Requirements

  • Python 3.11+, ssh, and rsync
  • Key-based SSH access to remote targets
  • Remote tmux when using long-running tasks

Daemon lifecycle management supports macOS, Linux, and other POSIX systems. Windows is not currently supported or tested.

Installation

Run the latest PyPI release without installing it globally:

uvx --from nomad-mcp nomad

Or install an isolated global command:

pipx install nomad-mcp

Codex Setup

nomad codex setup is an optional Codex configuration adapter, not a protocol requirement. Any MCP host can use Nomad through the standard stdio or Streamable HTTP transports without Codex configuration.

From the project you want Codex to control, run:

nomad codex setup --project "$PWD"
nomad codex doctor --project "$PWD"

The adapter starts or repairs a project daemon and writes only the trusted project's .codex/config.toml. It never changes user-level Codex configuration or project trust. Resolve any reported global conflict, then fully restart Codex so it loads the project MCP entry.

Other MCP hosts can launch Nomad directly over stdio:

{
  "mcpServers": {
    "nomad": {
      "command": "uvx",
      "args": ["--from", "nomad-mcp", "nomad"]
    }
  }
}

Use nomad client-config to generate JSON or TOML for standard stdio or Streamable HTTP clients. See Persistent MCP Daemon for manual registration, lifecycle, security, and troubleshooting.

Quick Start

  1. Start and register the project daemon.
  2. Open Codex in the local project.
  3. Call health, then init_discover.
  4. Select an SSH target and remote workspace.
  5. Save .nomad.json with init_save_config.
  6. Push code with sync_push.
  7. Use run_remote for short commands.
  8. Use task_start and task_status for long jobs.
  9. Pull artifacts with sync_pull.

Use run_remote only for short synchronous work. Downloads, builds, training, servers, and batch jobs belong in task_start. If a call with side effects times out, inspect its status before retrying it.

Documentation

Safety

nomad executes commands over SSH and synchronizes files with rsync. Use it only with trusted local projects and remote machines. Its guardrails reduce risk, but cannot make an untrusted agent or host trustworthy.

Development

python -m pip install -e .[dev]
nomad doctor
python -m pytest
python -m compileall -q src tests

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nomad_mcp-0.2.3.tar.gz (71.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nomad_mcp-0.2.3-py3-none-any.whl (80.4 kB view details)

Uploaded Python 3

File details

Details for the file nomad_mcp-0.2.3.tar.gz.

File metadata

  • Download URL: nomad_mcp-0.2.3.tar.gz
  • Upload date:
  • Size: 71.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for nomad_mcp-0.2.3.tar.gz
Algorithm Hash digest
SHA256 6bfb457fd684269d1e046ded7010ae8707638daba1963533e7ceead58632e3bd
MD5 cfca00cfea15169aee5cf608f7d1e9ff
BLAKE2b-256 62b08469bb7e40945bcc64f6a0ee6693fa06597eec5dd8edd0a05bb9c5854c56

See more details on using hashes here.

File details

Details for the file nomad_mcp-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: nomad_mcp-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 80.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for nomad_mcp-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f1110af8687e02cf959648a2f0b1a7d6ca8fd1f5cb6bade3876108f02fef3959
MD5 8e644d66f6638fe63a0d354a1be8f0f7
BLAKE2b-256 27709dda4f51c8612811d157056c32b22b309a3ec2721154e3027a34dbf342f6

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page