返回市场
主厨服务器MCP

主厨服务器MCP

作者:aknarts3 星标更新:2025-09-18

项目介绍

Chef Server MCP

一个提供AI助手只读访问Chef Server数据的Model Context Protocol (MCP)服务器,包括节点、角色、食谱、数据包、环境等。

CI License: MIT

功能

  • 通过Chef API进行只读访问Chef Server
  • 多组织支持,带有别名和默认设置
  • 全面访问Chef数据:节点、角色、用户、食谱、数据包、环境
  • 搜索能力,提供解码和原始JSON结果
  • 基于Docker的部署,便于安装
  • 符合MCP协议,实现无缝AI助手集成

配置

环境变量

变量必需描述
CHEF_USER用于API认证的Chef用户名
CHEF_KEY_PATHChef私钥文件(.pem)的路径
CHEF_SERVER_URLChef Server的基本URL(不包括组织路径)
CHEF_DEFAULT_ORG当未指定时使用的默认组织
CHEF_ORG_ALIASES组织别名,以JSON或键值对格式设置

组织支持

该服务器通过以下方式支持多个组织:

  • 默认组织:通过CHEF_DEFAULT_ORG设置
  • 组织别名:通过CHEF_ORG_ALIASES设置(例如,"qa=qa1,prod=fireamp_classic"
  • 按请求组织:在每个MCP工具调用中指定

IDE集成

Visual Studio Code

添加到你的VSCode设置(.vscode/settings.json或全局设置):

{
  "mcpServers": {
    "chef-server": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "--env", "CHEF_USER=your-username",
        "--env", "CHEF_KEY_PATH=/chef/your-username.pem",
        "--env", "CHEF_SERVER_URL=https://your-chef-server.com/",
        "--env", "CHEF_ORG_ALIASES=qa=qa1,prod=produciton",
        "--env", "CHEF_DEFAULT_ORG=qa1",
        "--volume", "/path/to/.chef:/chef:ro",
        "ghcr.io/aknarts/chef-server-mcp:latest"
      ]
    }
  }
}

GitHub Copilot

添加到你的Copilot配置:

{
  "servers": {
    "chef-server": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "--env", "CHEF_USER=your-username",
        "--env", "CHEF_KEY_PATH=/chef/your-username.pem",
        "--env", "CHEF_SERVER_URL=https://your-chef-server.com/",
        "--env", "CHEF_ORG_ALIASES=qa=qa1,prod=production",
        "--env", "CHEF_DEFAULT_ORG=qa1",
        "--volume", "/path/to/your/.chef:/chef:ro",
        "ghcr.io/aknarts/chef-server-mcp:latest"
      ]
    }
  }
}

重要提示

  • --volume标志将你的本地.chef目录映射到容器内的/chef
  • CHEF_KEY_PATH必须指向容器内的文件路径(例如,/chef/your-username.pem
  • 确保卷路径与实际本地.chef目录位置匹配

可用工具

工具描述
listNodes列出所有节点名称
getNode获取详细的节点信息
listRoles列出所有角色名称
getRole获取角色定义和运行列表
listUsers列出所有用户名
getUser获取用户详情
search执行Chef搜索查询(解码结果)
searchJSON执行Chef搜索查询(原始JSON结果)
getOrganization获取组织详情
listCookbooks列出食谱及其版本
getCookbook获取食谱元数据和文件
listDataBags列出所有数据包名称
listDataBagItems列出数据包中的项目
getDataBagItem获取特定的数据包项目
listEnvironments列出所有环境
getEnvironment获取环境配置

所有工具都支持多组织设置的可选organization参数。

开发

有关开发指南、从源代码构建和贡献规则,请参阅DEVELOPMENT.md

许可证

本项目根据MIT许可证发布 - 详情见LICENSE文件。