vcluster MCP服务器
这是一个模型上下文协议(MCP)服务器,提供管理工具 vcluster 实例。它允许AI助手在虚拟集群内列出、描述、创建、删除、暂停、恢复甚至执行命令。
特性
- 生命周期管理:创建、删除、暂停、恢复和断开vcluster。
- 可观测性:列出所有vcluster并获取特定实例的详细描述。
- 远程执行:使用以下命令直接在vcluster上下文中执行命令
vcluster connect机制。 - 命名空间元数据:管理与vclusters关联的Kubernetes命名空间上的标签和注释。
项目结构
该项目遵循针对MCP优化的模块化结构:
src/:核心应用程序源代码。
- tools/:MCP工具实现(vcluster操作、命名空间元数据)。 - prompt/:MCP提示模板,用于指导LLM: - VCluster管理:vcluster操作的一般协助。 - 生命周期运营:重点指导创建/删除/暂停/恢复。 - 元数据管理:协助命名空间标签和注释。 - 故障排除:系统诊断vcluster相关问题。 - utils/:共享实用程序、Kubernetes客户端设置和vcluster管理器。 - tests/:服务器逻辑的全面单元测试。
pyproject.toml:通过以下方式进行项目配置和依赖关系管理uv.
先决条件
要运行此MCP服务器并管理vcluster,您需要以下内容:
1.Python环境
此项目使用 uv 用于依赖性管理。看 开发命令 用于安装。
2.vcluster命令行界面
vcluster命令行界面 必须安装在您的系统上,并在PATH中可用。
3. kubectl
kubectl 的 必须安装并配置访问运行vclusters的主机Kubernetes集群的权限。
开发命令
为方便起见,a Makefile 提供了常见任务:
- 同步依赖关系:
make sync # Production only
make sync-dev # Include dev dependencies- 运行测试:
make unittest # Run unit tests only
make test-cov # Run tests with coverage report- 质量检查:
make lint # Run flake8 linting
make typecheck # Run mypy type checking
make check # Run both linting and type checking- 本地开发:
make dev # Start server in development modeCloud Code/Claude桌面配置
要使用此MCP服务器,请将以下配置添加到您的 mcpServers 设置:
本地路径
重要:在使用此MCP服务器之前,您需要安装依赖项。在项目根目录下运行此命令:
uv sync然后将以下配置添加到MCP设置中:
{
"mcpServers": {
"vcluster": {
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"~/vcluster-mcp-server",
"run",
"python",
"src/server.py"
],
"env": {}
}
}
}uvx
uvx 是一个 uv 用于在隔离的缓存环境中运行Python工具的子命令。
配置示例:
{
"mcpServers": {
"vcluster": {
"type": "stdio",
"command": "uvx",
"args": [
"git+https://github.com/mmpyro/vcluster-mcp-server.git"
]
}
}
}贡献
单元测试位于 src/tests。请确保在提交更改之前通过所有测试。
