返回市场
游牧者-MCP

游牧者-MCP

作者:kocierik37 星标更新:2025-09-23

项目介绍

<h4 align="center">基于Golang的MCP服务器连接到Nomad</h4> <h1 align="center"> <img src="https://gips0.baidu.com/it/u=3098687277,1203941588&fm=3081&app=3081&f=PNG?w=400&h=400" alt="nomad-futuristic-logo" style="width:200px;"/> <br/> MCP Nomad Go </h1> <p align="center"> <a href="#features">特性</a> ⚙ <a href="#browse-with-inspector">使用Inspector浏览</a> ⚙ <a href="#use-with-claude">与Claude一起使用</a> ⚙ <a href="https://github.com/kocierik/mcp-nomad/blob/main/CONTRIBUTING.md">贡献指南 ↗</a> ⚙ <a href="https://modelcontextprotocol.io">关于MCP ↗</a> </p> <p align="center"> <a href="https://goreportcard.com/report/github.com/kocierik/mcp-nomad"><img src="https://goreportcard.com/badge/github.com/kocierik/mcp-nomad" alt="Go报告"></a> <a href="https://github.com/kocierik/mcp-nomad/releases/latest"><img src="https://img.shields.io/github/v/release/kocierik/mcp-nomad?logo=github&color=22ff22" alt="最新发布徽章"></a> <a href="https://github.com/kocierik/mcp-nomad/blob/main/LICENSE"><img src="https://img.shields.io/github/license/kocierik/mcp-nomad" alt="许可证徽章"></a> </p>

特性

<details> <summary>作业管理</summary>
  • 列出作业
  • 获取作业详情
  • 运行作业
  • 停止作业
  • 获取作业版本
  • 获取作业提交
  • 列出作业分配
  • 列出作业评估
  • 列出作业部署
  • 获取作业部署
  • 获取作业概要
  • 更新作业
  • 分派参数化作业
  • 回滚作业
  • 设置作业稳定性
  • 创建作业评估
  • 创建作业计划
  • 强制创建新的周期实例
  • 获取作业缩放状态
  • 缩放任务组
  • 列出作业服务
</details> <details> <summary>部署管理</summary>
  • 列出部署
  • 获取部署详情
</details> <details> <summary>命名空间管理</summary>
  • 列出命名空间
  • 创建命名空间
  • 删除命名空间
</details> <details> <summary>节点管理</summary>
  • 列出节点
  • 获取节点详情
  • 排空节点
  • 设置节点资格
</details> <details> <summary>分配管理</summary>
  • 列出分配
  • 获取分配详情
  • 获取分配日志
  • 获取任务日志
</details> <details> <summary>变量管理</summary>
  • 使用过滤和分页列出变量
  • 获取变量详情
  • 创建支持命名空间的变量
  • 使用CAS支持删除变量

示例变量操作:

# 在命名空间中列出变量
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"
</details> <details> <summary>卷管理</summary>
  • 列出卷
  • 获取卷详情
  • 删除卷
  • 列出卷声明
  • 删除卷声明
</details> <details> <summary>ACL管理</summary>
  • 列出ACL令牌
  • 获取ACL令牌详情
  • 创建ACL令牌
  • 删除ACL令牌
  • 列出ACL策略
  • 获取ACL策略详情
  • 创建ACL策略
  • 删除ACL策略
  • 列出ACL角色
  • 获取ACL角色详情
  • 创建ACL角色
  • 删除ACL角色
  • 启动ACL系统
</details> <details> <summary>Sentinel策略管理</summary>
  • 列出Sentinel策略
  • 获取Sentinel策略详情
  • 创建Sentinel策略
  • 删除Sentinel策略
</details> <details> <summary>集群管理</summary>
  • 获取集群领导者
  • 列出集群对等节点
  • 列出区域
</details>

使用Inspector浏览

要使用Inspector浏览最新发布的版本:

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

可用选项

  -nomad-addr string
    	Nomad服务器地址(默认值:"http://localhost:4646")
  -port string
    	SSE服务器端口(默认值:"8080")
  -transport string
    	传输类型(stdio或sse)(默认值:"stdio")

环境变量

与Claude一起使用

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

安装选项

<a href="#using-smithery">Smithery</a><a href="#using-mcp-get">mcp-get</a><a href="#prebuilt-from-npm">预构建NPM</a><a href="#from-github-releases">GitHub预构建</a><a href="#building-from-source">从源代码构建</a><a href="#using-docker">使用Docker</a>
Claude设置自动自动手动手动手动手动
先决条件Node.jsNode.jsNode.jsGolangDocker

使用Smithery

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

使用mcp-get

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

预构建NPM

npm install -g @kocierik/mcp-nomad

更新您的claude_desktop_config.json

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

使用Docker(Linux)

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

使用Docker(macOS/Windows)

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

对于Claude(macOS/Windows):

{
  "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"
      ]
    }
  }
}

对于Claude(Linux):

{
  "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文件。