Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

mcp-nomad

MCP.Pizza Chef: kocierik

mcp-nomad is a Golang-based MCP server that connects to Nomad, enabling LLMs to access and interact with Nomad cluster data in real time. It provides structured context about Nomad jobs, allocations, and nodes, facilitating advanced AI workflows that require orchestration and infrastructure insights. This server supports seamless integration with models like Claude, GPT-4, and Gemini, enhancing AI-driven operations and automation within Nomad environments.

Use This MCP server To

Expose Nomad cluster state to LLMs for orchestration tasks Query Nomad job statuses and allocations via AI models Enable AI-driven infrastructure monitoring with Nomad data Automate Nomad job management using natural language commands Integrate Nomad cluster insights into AI-enhanced workflows Provide real-time Nomad environment context for AI copilots

README

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

Options Available

  -nomad-addr string
    	Nomad server address (default "http://localhost:4646")
  -port string
    	Port for SSE server (default "8080")
  -transport string
    	Transport type (stdio or sse) (default "stdio")

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.

mcp-nomad FAQ

How do I deploy mcp-nomad?
Deploy mcp-nomad by running the Golang server with access to your Nomad cluster API endpoint, ensuring network connectivity and proper authentication.
What Nomad data does mcp-nomad expose?
It exposes structured data about Nomad jobs, allocations, nodes, and cluster state for model consumption.
Can mcp-nomad work with multiple LLM providers?
Yes, it is provider-agnostic and works with Open AI, Claude, Gemini, and others supporting MCP.
Is authentication required to connect mcp-nomad to Nomad?
Yes, you must configure appropriate Nomad API tokens or credentials for secure access.
How does mcp-nomad handle real-time updates?
It queries Nomad APIs on demand to provide up-to-date cluster context to models.
Can I extend mcp-nomad to support custom Nomad metrics?
Yes, the Golang codebase is extensible to add custom data endpoints or enrich context.
Does mcp-nomad support secure scoped access?
Yes, it follows MCP principles for secure, scoped, and observable model interactions.
What are the prerequisites for using mcp-nomad?
You need a running Nomad cluster, API access credentials, and a Golang environment to run the server.