项目简介

这是一个基于 Model Context Protocol (MCP) 构建的服务器端应用,它充当大型语言模型 (LLM) 客户端与 Artifact Hub 之间的桥梁。通过此服务,LLM 可以标准化的方式查询和获取 Artifact Hub 上托管的 Helm Chart 的详细信息、默认配置('values.yaml')以及模板文件内容,甚至可以在这些内容中进行模糊搜索。

主要功能点

该服务提供以下功能(作为工具供 LLM 客户端调用):

  • 获取 Chart 信息 ('helm-chart-info'):根据 Chart 仓库和名称,获取 Chart 的 ID、最新版本和描述等基本信息。
  • 获取 Chart 的 'values.yaml' ('helm-chart-values'):根据 Chart 仓库、名称和可选的版本号,获取指定 Chart 的默认 'values.yaml' 文件内容。
  • 模糊搜索 'values.yaml' ('helm-chart-values-fuzzy-search'):根据 Chart 仓库、名称、可选版本号和搜索查询,在 Chart 的 'values.yaml' 文件中的属性名、属性路径、注释和值中进行模糊搜索,并返回匹配结果。
  • 获取 Chart 模板文件 ('helm-chart-template'):根据 Chart 仓库、名称、可选版本号和精确的文件名,获取指定 Chart 中某个模板文件的内容。
  • 模糊搜索 Chart 模板 ('helm-chart-template-fuzzy-search'):根据 Chart 仓库、名称、可选版本号和搜索查询,在 Chart 的所有模板文件的文件名和内容中进行模糊搜索,并返回匹配的行及上下文。

安装步骤

要运行此 MCP 服务器,您需要安装 Docker。服务本身作为一个 Docker 镜像提供。无需手动编译或安装其他依赖项。

确保您的系统已安装 Docker。

服务器配置

MCP 客户端(如 VS Code 的某些扩展)需要知道如何启动并连接到此 MCP 服务器。以下是配置此服务器所需的主要信息:

  • 服务器名称 (server name): 'artifacthub-mcp'
  • 传输类型 (type): 'stdio' (表示通过标准输入输出进行通信)
  • 启动命令 (command): 'docker'
  • 命令参数 (args): 'run', '-i', '--rm', 'ghcr.io/alexw00/artifacthub-mcp:latest'
    • 'run': Docker 命令,用于运行容器。
    • '-i': 保持标准输入流开放,即使没有附加也一样。这是 Stdio 传输所必需的。
    • '--rm': 在容器退出时自动删除容器文件系统。
    • 'ghcr.io/alexw00/artifacthub-mcp:latest': 指定要运行的 Docker 镜像及其标签。

LLM 客户端通常会提供界面让您输入这些配置信息。您只需填写对应的字段即可。

基本使用方法

一旦 MCP 客户端配置并成功连接到此服务器,LLM 就可以通过调用服务器提供的工具来获取信息。例如:

  • 要获取 Nginx Chart 在 'bitnami' 仓库中的信息,LLM 可能会调用 'helm-chart-info' 工具,并提供参数 'chartRepo="bitnami"' 和 'chartName="nginx"'.
  • 要获取特定版本的 'values.yaml' 文件,LLM 可能会调用 'helm-chart-values' 工具,并提供 'chartRepo', 'chartName', 以及 'version' 参数。
  • 要搜索 'values.yaml' 中与 "replicaCount" 相关的内容,LLM 可能会调用 'helm-chart-values-fuzzy-search' 工具,提供 'chartRepo', 'chartName', 和 'searchQuery="replicaCount"'。

用户通常通过与 LLM 对话来间接使用这些工具,LLM 会根据用户的需求自动选择并调用合适的工具。

信息

分类

开发者工具