mcpField
M
mcp-ephemeral-k8s

mcp-ephemeral-k8s

本地服务
github.com/BobMerkus云与基础设施238 周前更新

关于 mcp-ephemeral-k8s

mcp-ephemeral-k8s 是用于在 Kubernetes 上创建临时 MCP 服务的 Python 库,也可作为 MCP 服务运行。它支持 Node.js 和 Python 运行时,并提供 SSE 连接及本地或集群内 Kubernetes 配置。

主要功能

  1. 01在 Kubernetes 上创建临时 MCP 服务
  2. 02支持通过 npx 使用 Node.js、通过 uvx 使用 Python
  3. 03通过 SSE 连接
  4. 04使用本地 kubeconfig 或集群内配置
  5. 05可作为 MCP 服务运行

适用场景

  1. 01在 Kubernetes 中启动短期 MCP 服务实例
  2. 02通过 SSE 暴露 Node.js 或 Python MCP 运行时
  3. 03使用本地或集群内 Kubernetes 配置运行服务

MCP 相关

它会在 Kubernetes 上创建临时 MCP 服务,并通过 SSE 向 MCP 客户端提供连接。它本身也可作为 MCP 服务运行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ephemeral-k8s": {
"command": "uvx",
"args": [
"mcp-ephemeral-k8s"
]
}
}
}
启动命令uvx mcp-ephemeral-k8s

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-ephemeral-k8s

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-ephemeral-k8s

Release Build status codecov Commit activity License

一个 Python 库,可使用服务器发送事件(SSE)在 Kubernetes 上启动临时 Model Context Protocol(MCP)服务。

功能

  • 支持多种运行时:
    • Node.js(通过 npx)
    • Python(通过 uvx)
  • 可与 mcp-proxy 配合使用,支持 uvx 或 npx 运行时
  • 支持本地 kubeconfig 和集群内配置
  • 可作为 MCP 服务运行

用法

运行 MCP 服务
uvx mcp-ephemeral-k8s
使用该库
import asyncio
from mcp_ephemeral_k8s import KubernetesSessionManager, presets

async def main():
    async with KubernetesSessionManager() as session_manager:
        mcp_server = await session_manager.create_mcp_server(
            presets.K8S_MCP_SERVER, wait_for_ready=True, expose_port=True
        )
        print(mcp_server.sse_url)

if __name__ == "__main__":
    asyncio.run(main())
Job 'mcp-ephemeral-k8s-proxy-1762291156-x17zuayy' in unknown state, waiting...
http://mcp-ephemeral-k8s-proxy-1762291156-x17zuayy.default.svc.cluster.local:8080/sse

安装

前置条件
  • Docker
  • Kind 或任何具有有效 kubectl 配置的 Kubernetes 集群
选项 1:使用 uvx(推荐)
uvx mcp-ephemeral-k8s

要连接到 MCP 服务,请使用以下配置:

{
   "mcp-ephemeral-k8s": {
      "url": "http://localhost:8000/sse",
      "transport": "sse"
   }
}
选项 2:作为 Python 包安装
pip install mcp-ephemeral-k8s
mcp-ephemeral-k8s
选项 3:使用 Helm Chart

要安装 Helm chart,请运行:

helm repo add mcp-ephemeral-k8s https://BobMerkus.github.io/mcp-ephemeral-k8s/
helm repo update
helm install mcp-ephemeral-k8s mcp-ephemeral-k8s/mcp-ephemeral-k8s

要升级 Helm chart,请运行:

helm upgrade -i mcp-ephemeral-k8s mcp-ephemeral-k8s/mcp-ephemeral-k8s

要安装特定版本,请运行:

helm install mcp-ephemeral-k8s mcp-ephemeral-k8s/mcp-ephemeral-k8s --version <replace-with-version>

要卸载 Helm chart,请运行:

helm uninstall mcp-ephemeral-k8s
选项 4:从源代码安装
  1. 克隆仓库

    git clone https://github.com/BobMerkus/mcp-ephemeral-k8s.git
    cd mcp-ephemeral-k8s
    
  2. 设置开发环境

    make install
    
  3. 运行 pre-commit hooks

    make check
    
  4. 运行测试

    make test
    
  5. 构建 Docker 镜像

    make docker-build-local
    make docker-build-local-proxy
    
  6. 将镜像加载到集群

    kind load docker-image ghcr.io/bobmerkus/mcp-ephemeral-k8s:latest
    kind load docker-image ghcr.io/bobmerkus/mcp-ephemeral-k8s-proxy:latest
    
  7. 安装 Helm chart

    helm upgrade -i mcp-ephemeral-k8s charts/mcp-ephemeral-k8s --set image.tag=latest
    
  8. 转发 MCP 服务端口

    kubectl port-forward svc/mcp-ephemeral-k8s 8000:8000
    
  9. 访问 FastAPI 服务

    npx @modelcontextprotocol/inspector --sse http://localhost:8000/sse
    

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。