mcpField
M
Mcp Nomad

Mcp Nomad

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

关于 Mcp Nomad

Mcp Nomad 是一个用 Go 编写的 MCP 服务,用于连接 HashiCorp Nomad 集群。它支持 stdio、SSE 和 Streamable HTTP 传输,并通过环境变量配置地址、令牌、区域和 TLS。适合需要通过 AI 客户端管理 Nomad 集群的运维人员。

主要功能

  1. 01使用 Go 编写,可通过 npm 或二进制安装
  2. 02支持 stdio、sse 和 streamable-http 传输
  3. 03通过环境变量配置 Nomad 地址、ACL 令牌和命名空间
  4. 04支持多区域集群与 TLS 配置
  5. 05提供 MCP Inspector 测试方式

适用场景

  1. 01在 Claude Desktop 中查询 Nomad 集群状态
  2. 02通过 MCP 客户端停止 Nomad 分配
  3. 03在 MCP Inspector 中调试 Nomad 服务

MCP 相关

Mcp Nomad 作为 MCP 服务运行,将 Nomad HTTP API 的操作以工具形式提供给 MCP 客户端,并支持 stdio、SSE 与 Streamable HTTP 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。