Nomad连接服务

一个基于Golang的MCP服务器,用于连接Nomad集群并提供相关工具接口。

  • by kocierik
  • Go
  • 本地部署
  • 59 星标
  • 更新于
在 GitHub 查看 kocierik/mcp-nomad

使用说明

Golang-based MCP server connecting to Nomad


MCP Nomad Go

Use with Claude ⚙ Server options ⚙ MCP Inspector (testing) ⚙ Contributing ↗ ⚙ About MCP ↗

与Claude一起使用

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

安装选项

预建NPM 内置于Github 来源
克劳德设置 手册 手动 手动
先决条件 Node.js 无 Golang

从npm预构建

该包发布了一个 mcp-nomad CLI。最简单的零安装选项(下载到npm的缓存;需要Node/npm):

npx -y @kocierik/mcp-nomad

或者全局安装 mcp-nomad 在你的 PATH:

npm install -g @kocierik/mcp-nomad

claude_desktop_config.json 和 npx (推荐):

{
  "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发布

下载二进制文件并按如下方式配置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检查器配对时也相关):

  -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_*.goMCP工具依赖于窄接口 utils/nomad_tool_interfaces.go.

NomadClient.MakeRequest (仅用于少数集群/遗留调用站点)拒绝内部允许列表之外的路径——更喜欢键入帮助程序,如 StopAllocation.

使用MCP检查器浏览

用这个 本地测试和调试 --Claude Desktop日常使用不需要。

要在MCP Inspector下运行最新发布的npm build:

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

带有本地HTTP服务器的检查器(可选)

默认传输方式为 标准.附上检查员作为 可流式传输的HTTP,先在另一个终端中启动二进制文件:

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

然后打开 http://localhost:8080/mcp 在检查员。对于 -transport=sse,使用 http://localhost:8080/sse.

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。