319 查看 · 2026-07-07 更新
基于 Golang 的 MCP 服务器连接到 Nomad
MCP Nomad Go
功能 ⚙ 使用 Inspector 浏览 ⚙ 与 Claude 一起使用 ⚙ 贡献 ↗ ⚙ 关于 MCP ↗
功能
作业管理
- 列出作业
- 获取作业详情
- 运行作业
- 停止作业
- 获取作业版本
- 获取作业提交
- 列出作业分配
- 列出作业评估
- 列出作业部署
- 获取作业部署
- 获取作业摘要
- 更新作业
- 派遣参数化作业
- 回滚作业
- 设置作业稳定性
- 创建作业评估
- 创建作业计划
- 强制新的周期性实例
- 获取作业缩放状态
- 缩放任务组
- 列出作业服务
部署管理
- 列出部署
- 获取部署详情
命名空间管理
- 列出命名空间
- 创建命名空间
- 删除命名空间
节点管理
- 列出节点
- 获取节点详情
- 排空节点
- 设置节点资格
分配管理
- 列出分配
- 获取分配详情
- 获取分配日志
- 获取任务日志
变量管理
- 列出带有过滤和分页的变量
- 获取变量详情
- 创建支持命名空间的变量
- 删除支持 CAS 的变量
示例变量操作: bash
列出命名空间中的变量
list_variables namespace="my-namespace" prefix="my/path" per_page=10
获取特定变量
get_variable path="my/path" namespace="my-namespace"
创建变量
create_variable path="my/path" key="username" value="john" namespace="my-namespace"
删除变量
delete_variable path="my/path" namespace="my-namespace"
卷管理
- 列出卷
- 获取卷详情
- 删除卷
- 列出卷声明
- 删除卷声明
ACL 管理
- 列出 ACL 令牌
- 获取 ACL 令牌详情
- 创建 ACL 令牌
- 删除 ACL 令牌
- 列出 ACL 策略
- 获取 ACL 策略详情
- 创建 ACL 策略
- 删除 ACL 策略
- 列出 ACL 角色
- 获取 ACL 角色详情
- 创建 ACL 角色
- 删除 ACL 角色
- 初始化 ACL 系统
Sentinel 策略管理
- 列出 Sentinel 策略
- 获取 Sentinel 策略详情
- 创建 Sentinel 策略
- 删除 Sentinel 策略
集群管理
- 获取集群领导者
- 列出集群对等体
- 列出区域
使用 Inspector 浏览
要使用最新发布的版本与 Inspector:
bash npx @modelcontextprotocol/inspector npx @kocierik/mcp-nomad
可用选项
-nomad-addr string Nomad 服务器地址 (默认 "http://localhost:4646") -port string SSE 服务器端口 (默认 "8080") -transport string 传输类型 (stdio 或 sse) (默认 "stdio")
环境变量- NOMAD_ADDR: Nomad HTTP API 地址(默认:http://localhost:4646)
NOMAD_TOKEN: Nomad ACL 令牌(可选)
与 Claude 一起使用
https://github.com/user-attachments/assets/731621d7-0acf-4045-bacc-7b34a7d83648
安装选项
| Smithery | mcp-get | 预构建的 NPM | GitHub 上的预构建版本 | 从源代码构建 | 使用 Docker | |
|---|---|---|---|---|---|---|
| Claude 设置 | 自动 | 自动 | 手动 | 手动 | 手动 | 手动 |
| 前提条件 | Node.js | Node.js | Node.js | 无 | Golang | Docker |
使用 Smithery
bash npx -y @smithery/cli install @kocierik/mcp-nomad --client claude
使用 mcp-get
bash npx @michaellatman/mcp-get@latest install @kocierik/mcp-nomad
预构建的 NPM
bash npm install -g @kocierik/mcp-nomad
更新您的 claude_desktop_config.json:
json { "mcpServers": { "mcp_nomad": { "command": "mcp-nomad", "args": [], "env": { "NOMAD_TOKEN": "${NOMAD_TOKEN}", "NOMAD_ADDR": "${NOMAD_ADDR}" } } } }
从 GitHub 发布版下载
下载二进制文件并像这样配置 Claude Desktop:
json { "mcpServers": { "mcp_nomad": { "command": "mcp-nomad", "args": [], "env": { "NOMAD_TOKEN": "${NOMAD_TOKEN}", "NOMAD_ADDR": "${NOMAD_ADDR}" } } } }
从源代码构建
bash go get github.com/kocierik/mcp-nomad go install github.com/kocierik/mcp-nomad
在 Linux 上使用 Docker
bash docker run -i --rm --network=host kocierik/mcpnomad-server:latest
在 macOS/Windows 上使用 Docker
bash docker run -i --rm -e NOMAD_ADDR=http://host.docker.internal:4646 kocierik/mcpnomad-server:latest
对于 macOS/Windows 的 Claude:
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" ] } } }
对于 Linux 的 Claude:
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" ] } } }
许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。
服务配置
[{'mcpServers': {'mcp_nomad': {'args': ['run', '-i', '--rm', '-e', 'NOMAD_TOKEN=secret-token-acl-optional', '-e', 'NOMAD_ADDR=http://host.docker.internal:4646', 'mcpnomad/server:latest'], 'command': 'docker'}}}, {'mcpServers': {'mcp_nomad': {'args': ['run', '-i', '--rm', '-e', 'NOMAD_ADDR=http://172.17.0.1:4646', '-e', 'NOMAD_TOKEN=secret-token-acl-optional', 'kocierik/mcpnomad-server:latest'], 'command': 'docker'}}}]
来源
- 来源:github
- 链接:https://github.com/kocierik/mcp-nomad