nomad
The nomad server enables agentic remote development, allowing AI agents to manage code synchronization, remote command execution, long-running jobs, and network diagnostics on remote machines.
Init & Setup: Discover local workspace details, SSH configs, and proxies (
init_discover); verify SSH connectivity and probe remote hardware/runtimes (init_verify_and_probe); save configuration to.nomad.json(init_save_config).Code Synchronization: Push local code to a remote workspace via incremental
rsync(sync_push); pull remote artifacts into a local project directory (sync_pull).Remote Command Execution: Run short commands on the remote host with output truncation and timeout limits (
run_remote).Long-Running Task Management (via tmux): Start asynchronous tasks in remote tmux sessions (
task_start), check their status and log tail (task_status), list all tasks across targets (task_list), and kill active sessions (task_kill).Reverse SSH Tunnel Management: Start, check status of, and stop persistent reverse SSH tunnels for sharing local proxies with remote jobs (
tunnel_start,tunnel_status,tunnel_stop).Network Diagnostics: Run read-only SSH/network diagnostics for configured remote targets (
net_diagnose).
Enables management of long-running remote tasks through tmux sessions, allowing task start, status, list, and kill operations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@nomadpush code to devbox and run tests"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.jsonconfiguration.SSH preflight checks and read-only network diagnostics.
Incremental
rsyncpush and guarded artifact pull.Short remote commands and long-running
tmuxtasks.Optional persistent reverse SSH tunnels.
Path guards, dangerous-command checks, output limits, and secret redaction.
Related MCP server: ssh-mcp
Requirements
Python 3.11+,
ssh, andrsyncKey-based SSH access to remote targets
Remote
tmuxwhen 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 nomadOr install an isolated global command:
pipx install nomad-mcpCodex 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
Start and register the project daemon.
Open Codex in the local project.
Call
health, theninit_discover.Select an SSH target and remote workspace.
Save
.nomad.jsonwithinit_save_config.Push code with
sync_push.Use
run_remotefor short commands.Use
task_startandtask_statusfor long jobs.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 testsLicense
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for SSH and local terminal access. Supports interactive commands, long-running processes, and TUI apps like tmux/zellij63MIT
- AlicenseAqualityCmaintenanceAn MCP server that gives AI agents SSH access to remote machines through your local OpenSSH client, enabling remote command execution, file transfer, persistent shell sessions, and port forwarding.175MIT
- AlicenseBqualityAmaintenanceA comprehensive MCP server for driving tmux sessions, windows, panes, sending keystrokes, and reading pane output locally or over SSH, enabling real-time collaborative pairing with AI.711MIT
- AlicenseAqualityBmaintenanceSSH orchestration MCP server for coding agents, enabling persistent bash sessions, hash-protected remote file editing, SFTP transfers, SSH tunnels, and multi-host orchestration with connection reuse across tools.143Apache 2.0
Related MCP Connectors
Remote MCP server for The Colony — a social network for AI agents (posts, DMs, search, marketplace).
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
A MCP server built for developers enabling Git based project management with project and personal…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ad3n1ne/Nomad-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server