mcpField
N
Nomad MCP Server

Nomad MCP Server

本地服务
npmjs.com云与基础设施593 天前更新

关于 Nomad MCP Server

Nomad MCP Server 是用 Golang 编写的 MCP 服务,用于连接 HashiCorp Nomad 集群。它通过 Nomad 的 /v1/ HTTP API 操作集群,适合需要借助 AI 助手管理 Nomad 环境的用户。

主要功能

  1. 01通过 Nomad HTTP API 连接集群
  2. 02支持 stdio、sse 和 streamable-http 传输
  3. 03支持 NOMAD_TOKEN 进行 ACL 认证
  4. 04支持多 region 与默认 namespace 配置
  5. 05支持 TLS 相关环境变量

适用场景

  1. 01在 Claude Desktop 中查询 Nomad 集群状态
  2. 02通过 MCP 客户端停止指定分配(allocation)
  3. 03在多 region 的 Nomad 集群中指定 region 进行操作

MCP 相关

该项目是 MCP 服务,通过 MCP 工具向客户端暴露 Nomad 集群的操作能力。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nomad": {
"command": "npx",
"args": [
"-y",
"@kocierik/mcp-nomad"
]
}
}
}
启动命令npx -y @kocierik/mcp-nomad

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@kocierik/mcp-nomad

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

基于 Golang、连接到 Nomad 的 MCP 服务

Nomad 未来风格徽标
MCP Nomad Go

与 Claude 配合使用 ⚙ 服务选项 ⚙ MCP Inspector(测试) ⚙ 参与贡献 ↗ ⚙ 关于 MCP ↗

Go 报告 最新发布徽标 许可证徽标

与 Claude 配合使用

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

安装选项
预构建的 NPM 包GitHub 上的预构建版本从源代码构建
Claude 配置手动手动手动
前置条件Node.js无Golang
从 npm 预构建

此软件包提供 mcp-nomad CLI。最简单的零安装选项(下载到 npm 缓存;需要 Node/npm):

npx -y @kocierik/mcp-nomad

或者全局安装,以便将 mcp-nomad 添加到你的 PATH:

npm install -g @kocierik/mcp-nomad

使用 npx 的 claude_desktop_config.json(推荐):

{
  "mcpServers": {
    "mcp_nomad": {
      "command": "npx",
      "args": ["-y", "@kocierik/mcp-nomad"],
      "env": {
        "NOMAD_TOKEN": "${NOMAD_TOKEN}",
        "NOMAD_ADDR": "${NOMAD_ADDR}"
      }
    }
  }
}

如果使用了 npm install -g,请将 command / args 保留为直接调用二进制文件:

{
  "mcpServers": {
    "mcp_nomad": {
      "command": "mcp-nomad",
      "args": [],
      "env": {
        "NOMAD_TOKEN": "${NOMAD_TOKEN}",
        "NOMAD_ADDR": "${NOMAD_ADDR}"
      }
    }
  }
}
从 GitHub Releases 获取

下载二进制文件,并按以下方式配置 Claude Desktop:

{
  "mcpServers": {
    "mcp_nomad": {
      "command": "mcp-nomad",
      "args": [],
      "env": {
        "NOMAD_TOKEN": "${NOMAD_TOKEN}",
        "NOMAD_ADDR": "${NOMAD_ADDR}"
      }
    }
  }
}
从源代码构建
go get github.com/kocierik/mcp-nomad
go install github.com/kocierik/mcp-nomad

服务选项

命令行标志(手动启动二进制文件并与 MCP Inspector 配合使用时也适用):

  -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")
环境变量
  • NOMAD_ADDR:Nomad HTTP API 地址(默认值:http://localhost:4646)
  • NOMAD_TOKEN:Nomad ACL 令牌(可选)
  • NOMAD_REGION:调用方未覆盖时,将其作为 REST region 查询参数传递(多区域集群)
  • NOMAD_NAMESPACE:当工具未提供命名空间时,为接受可选命名空间的工具设置默认命名空间
  • TLS:NOMAD_CACERT、NOMAD_SKIP_VERIFY、NOMAD_TLS_SERVER_NAME(参见 utils/client.go / buildTLSConfig)

HTTP 客户端遵循官方 /v1/ API,并拆分在 utils/client_*.go 中;MCP 工具依赖 utils/nomad_tool_interfaces.go 中定义的精简接口。

NomadClient.MakeRequest(仅用于少数集群/旧版调用位置)会拒绝内部允许列表以外的路径——建议使用 StopAllocation 等类型化辅助函数。

使用 MCP Inspector 浏览

用于本地测试和调试——Claude Desktop 日常使用无需此操作。

要在 MCP Inspector 下运行最新发布的 npm 构建版本:

npx @modelcontextprotocol/inspector npx @kocierik/mcp-nomad
使用本地 HTTP 服务的 Inspector(可选)

默认传输方式为 stdio。若要将 Inspector 作为 Streamable HTTP 接入,请先在另一个终端中启动二进制文件:

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

然后在 Inspector 中打开 http://localhost:8080/mcp。对于 -transport=sse,请使用 http://localhost:8080/sse。

许可证

本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。