Back to MCP directory
publicPublicdnsLocal runtime

mkp

MKP是一个专为Kubernetes设计的模型上下文协议(MCP)服务器,提供与Kubernetes集群交互的工具,支持资源查询和应用操作。

article

README

🚀 MKP 项目文档(中文版)

MKP 是一款用于与 Kubernetes 集群交互的工具,借助模型上下文协议 (MCP) 实现资源访问与服务提供。它具备资源发现、操作及配置管理等一系列实用功能。

🚀 快速开始

MKP 工具可帮助你便捷地与 Kubernetes 集群进行交互,以下是使用前的安装与运行步骤。

📦 安装指南

快速安装

克隆项目仓库并进行构建:

# 克隆仓库并构建
git clone https://github.com/StacklokLabs/mkp.git
cd mkp
make build

运行服务器

# 默认运行
./build/mkp-server

# 指定 kubeconfig 文件
./build/mkp-server --kubeconfig=/path/to/kubeconfig

# 以只读模式运行(默认)
./build/mkp-server --read-only=true

# 禁用资源发现
./build/mkp-server --serve-resources=false

✨ 主要特性

MCP 工具

  • 资源操作工具:提供获取资源信息、列举资源以及应用资源配置等功能。

资源发现与服务模式

  • 资源发现:可通过 --serve-resources 参数控制是否启用资源发现功能。
  • 服务模式:默认采用只读模式,可使用 --read-only--read-write 设置读写权限。

与 ToolHive 集成

支持与 ToolHive 集成,实现便捷的部署、验证和停止操作。

💻 使用示例

资源操作工具使用示例

基础用法

获取资源信息
# 示例命令
echo '{
  "id": "get_resource",
  "method": "GET",
  "params": {
    "uri": "k8s://clustered/apps/v1/deployments/nginx-deployment"
  }
}' | ./build/mkp-server --tool stdout
列举资源
# 示例命令
echo '{
  "id": "list_resources",
  "method": "GET",
  "params": {
    "uri": "k8s://clustered/apps/v1/deployments"
  }
}' | ./build/mkp-server --tool stdout

高级用法

应用资源配置
# 示例命令
echo '{
  "id": "apply_resource", 
  "method": "POST",
  "params": {
    "uri": "k8s://namespaced/default/apps/v1/deployments/nginx-deployment",
    "manifest": {
      "apiVersion": "apps/v1",
      "kind": "Deployment",
      "metadata": {
        "name": "nginx-deployment",
        "namespace": "default"
      },
      "spec": {
        "replicas": 3,
        "selector": {
          "matchLabels": {
            "app": "nginx"
          }
        },
        "template": {
          "metadata": {
            "labels": {
              "app": "nginx"
            }
          },
          "spec": {
            "containers": [
              {
                "name": "nginx",
                "image": "nginx:latest",
                "ports": [80]
              }
            ]
          }
        }
      }
    }
  }
}' | ./build/mkp-server --tool stdout

与 ToolHive 集成使用示例

基础用法

运行实例
# 启动 MCP 服务器
./build/mkp-server --tool stdout

# 使用 ToolHive 部署
poetry run mcp run \
    --name mkp-service \
    --image ./build/mkp-server \
    --command "mkp-server" \
    --port 8080
验证实例
poetry run mcp ls
停止实例
poetry run mcp stop mkp-service

🔧 技术细节

开发信息

代码测试

使用以下命令进行代码测试:

make test

格式化代码

使用以下命令格式化代码:

make fmt

管理依赖

使用以下命令管理依赖:

go mod tidy

📄 许可证

项目使用 MIT 许可证,具体内容请参见 LICENSE 文件。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client