MCP Nomad Go

A Go-based MCP server for managing HashiCorp Nomad resources, including jobs, deployments, nodes, and cluster operations.

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

Browse With Inspector

To use the latest published version with Inspector:

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

Inspector with a local HTTP server (optional)

Default transport is stdio. To attach the Inspector as Streamable HTTP, start the binary in another terminal first:

go run . -transport=streamable-http -port=8080

Then use http://localhost:8080/mcp in the Inspector. For -transport=sse, use http://localhost:8080/sse.

Options Available

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

Environment Variables

  • NOMAD_ADDR: Nomad HTTP API address (default: http://localhost:4646)
  • NOMAD_TOKEN: Nomad ACL token (optional)
  • NOMAD_REGION: forwarded as the REST region query parameter when callers do not override it (multi-region clusters)
  • NOMAD_NAMESPACE: default namespace for tools that accept an optional namespace when the tool omits it
  • TLS: NOMAD_CACERT, NOMAD_SKIP_VERIFY, NOMAD_TLS_SERVER_NAME (see utils/client.go / buildTLSConfig)

The HTTP client follows the official /v1/ API and is split across utils/client_*.go; MCP tools depend on narrow interfaces in utils/nomad_tool_interfaces.go.

NomadClient.MakeRequest (used only for a few cluster/legacy call sites) rejects paths outside an internal allow-list — prefer typed helpers such as StopAllocation.

Use With Claude

https://github.com/user-attachments/assets/731621d7-0acf-4045-bacc-7b34a7d83648

Installation Options

Smitherymcp-getPre-built NPMPre-built in GithubFrom sourcesUsing Docker
Claude SetupAutoAutoManualManualManualManual
PrerequisiteNode.jsNode.jsNode.jsNoneGolangDocker

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.

Serveurs connexes

NotebookLM Web Importer

Importez des pages web et des vidéos YouTube dans NotebookLM en un clic. Utilisé par plus de 200 000 utilisateurs.

Installer l'extension Chrome