An open API service indexing awesome lists of open source software.

https://github.com/kocierik/mcp-nomad

A nomad MCP Server (modelcontextprotocol)
https://github.com/kocierik/mcp-nomad

mcp nomad server

Last synced: 7 days ago
JSON representation

A nomad MCP Server (modelcontextprotocol)

Awesome Lists containing this project

README

        

Golang-based MCP server connecting to Nomad


nomad-futuristic-logo


MCP Nomad Go


Features
Browse With Inspector
Use With Claude
Contributing ↗
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:
```bash
# 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:

```bash
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

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

### 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

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

### Using mcp-get

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

### Prebuilt from npm

```bash
npm install -g @kocierik/mcp-nomad
```

Update your `claude_desktop_config.json`:

```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:

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

### Building from Source

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

### Using Docker linux

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

### Using Docker macos/windows

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

### For Claude macos/windows:

```json
{
"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:

```json
{
"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.