Skip to content

kocierik/mcp-nomad

Repository files navigation

Golang-based MCP server connecting to Nomad

nomad-futuristic-logo
MCP Nomad Go

FeaturesBrowse With InspectorUse With ClaudeContributing ↗About MCP ↗

Go Report latest release badge license badge

Features

Job Management
  • List jobs
  • Get job details
  • Run jobs
  • Stop jobs
  • Get job versions
  • Get job submission
  • List job allocations
  • List job evaluations
  • List job deployments
  • Get job deployment
  • Get job summary
  • Update jobs
  • Dispatch parameterized jobs
  • Revert jobs
  • Set job stability
  • Create job evaluations
  • Create job plans
  • Force new periodic instances
  • Get job scale status
  • Scale task groups
  • List job services
Deployment Management
  • List deployments
  • Get deployment details
Namespace Management
  • List namespaces
  • Create namespaces
  • Delete namespaces
Node Management
  • List nodes
  • Get node details
  • Drain nodes
  • Set node eligibility
Allocation Management
  • List allocations
  • Get allocation details
  • Get allocation logs
  • Get task logs
Variable Management
  • List variables with filtering and pagination
  • Get variable details
  • Create variables with namespace support
  • Delete variables with CAS support

Example variable operations:

# List variables in a namespace
list_variables namespace="my-namespace" prefix="my/path" per_page=10

# Get a specific variable
get_variable path="my/path" namespace="my-namespace"

# Create a variable
create_variable path="my/path" key="username" value="john" namespace="my-namespace"

# Delete a variable
delete_variable path="my/path" namespace="my-namespace"
Volume Management
  • List volumes
  • Get volume details
  • Delete volumes
  • List volume claims
  • Delete volume claims
ACL Management
  • List ACL tokens
  • Get ACL token details
  • Create ACL tokens
  • Delete ACL tokens
  • List ACL policies
  • Get ACL policy details
  • Create ACL policies
  • Delete ACL policies
  • List ACL roles
  • Get ACL role details
  • Create ACL roles
  • Delete ACL roles
  • Bootstrap ACL system
Sentinel Policy Management
  • List Sentinel policies
  • Get Sentinel policy details
  • Create Sentinel policies
  • Delete Sentinel policies
Cluster Management
  • Get cluster leader
  • List cluster peers
  • List regions

Browse With Inspector

To use the latest published version with Inspector:

npx @modelcontextprotocol/inspector npx @kocierik/mcp-nomad

Environment Variables

  • NOMAD_ADDR: Nomad HTTP API address (default: http://localhost:4646)
  • NOMAD_TOKEN: Nomad ACL token (optional)

Use With Claude

Screen.Recording.2025-04-22.at.11.online-video-cutter.com.mp4

Installation Options

Smithery mcp-get Pre-built NPM Pre-built in Github From sources Using Docker
Claude Setup Auto Auto Manual Manual Manual Manual
Prerequisite Node.js Node.js Node.js None Golang Docker

Using Smithery

npx -y @smithery/cli install @kocierik/mcp-nomad --client claude

Using mcp-get

npx @michaellatman/mcp-get@latest install @kocierik/mcp-nomad

Prebuilt from npm

npm install -g @kocierik/mcp-nomad

Update your claude_desktop_config.json:

{
  "mcpServers": {
    "mcp_nomad": {
      "command": "mcp-nomad",
      "args": [],
      "env": {
        "NOMAD_TOKEN": "${NOMAD_TOKEN}",
        "NOMAD_ADDR": "${NOMAD_ADDR}"
      }
    }
  }
}

From GitHub Releases

Download the binary and configure Claude Desktop like so:

{
  "mcpServers": {
    "mcp_nomad": {
      "command": "mcp-nomad",
      "args": [],
      "env": {
        "NOMAD_TOKEN": "${NOMAD_TOKEN}",
        "NOMAD_ADDR": "${NOMAD_ADDR}"
      }
    }
  }
}

Building from Source

go get github.com/kocierik/mcp-nomad
go install github.com/kocierik/mcp-nomad

Using Docker linux

docker run -i --rm --network=host kocierik/mcpnomad-server:latest

Using Docker macos/windows

docker run -i --rm \
  -e NOMAD_ADDR=http://host.docker.internal:4646 \
  kocierik/mcpnomad-server:latest

For Claude macos/windows:

{
  "mcpServers": {
    "mcp_nomad": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "NOMAD_TOKEN=secret-token-acl-optional", 
        "-e", "NOMAD_ADDR=http://host.docker.internal:4646",
        "mcpnomad/server:latest"
      ]
    }
  }
}

For Claude linux:

{
  "mcpServers": {
    "mcp_nomad": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "NOMAD_ADDR=http://172.17.0.1:4646",
        "-e", "NOMAD_TOKEN=secret-token-acl-optional", 
        "kocierik/mcpnomad-server:latest"
      ]
    }
  }
}

License

This project is licensed under the MIT License - see the LICENSE file for details.