DevSpace MCP服务器
模型上下文协议(MCP)服务器,使AI助手能够与 DevSpace -Kubernetes的开发工具,可让您更快地开发和部署云原生软件。
✨ 特性
- 完整的DevSpace CLI集成:所有主要的DevSpace命令都可以通过MCP使用
- 智能错误处理:带有故障排除建议的增强错误消息
- 结构化日志记录:可配置的日志记录,具有请求跟踪和性能监控功能
- 模块化架构:干净、可维护的代码库,关注点分开
- 类型安全:完全支持TypeScript并进行全面验证
- 开发工作流程:文件同步、端口转发、日志流等
🚀 快速开始
先决条件
- v18+
- DevSpace命令行界面 已安装并位于PATH中
- 访问Kubernetes集群
安装
npm install -g devspace-mcp-server🔧 配置
克劳德桌面
添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"devspace": {
"command": "npx",
"args": ["devspace-mcp-server"],
"cwd": "~/",
"env": {
"LOG_LEVEL": "info"
}
}
}
}光标
添加到光标设置(Ctrl/Cmd + Shift + P → “首选项:打开设置(JSON)”):
{
"mcp": {
"servers": {
"devspace": {
"command": "npx",
"args": ["devspace-mcp-server"],
"cwd": "~/",
"env": {
"LOG_LEVEL": "info",
"DEVSPACE_TIMEOUT": "300000"
}
}
}
}
}备注:The cwd 可以设置为任何方便的目录(如您的主目录 ~/ 或项目文件夹)。每个DevSpace命令都接受一个可选 workingDirectory 参数,允许您在不更改MCP配置的情况下处理多个项目。
环境变量
LOG_LEVEL:设置日志记录级别(debug,info,warn,error)DEVSPACE_TIMEOUT:命令超时(毫秒)(默认值:300000)DEVSPACE_MAX_RETRIES:最大重试次数(默认值:3)
🛠️ 可用工具
核心开发
devspace_init:初始化新的DevSpace项目devspace_dev:通过文件同步和端口转发启动开发模式devspace_deploy:将应用程序部署到Kubernetesdevspace_build:构建和管理Docker镜像
监控与调试
devspace_logs:使用筛选流式传输容器日志devspace_enter:打开交互式终端会话devspace_analyze:分析配置和集群状态
配置管理
devspace_list:列出资源(部署、配置文件等)devspace_use:切换上下文、命名空间或配置文件devspace_set/devspace_reset:管理变量和状态devspace_print:显示当前配置
高级功能
devspace_run:从执行自定义命令devspace.yamldevspace_sync:手动文件同步devspace_ui:启动DevSpace web UIdevspace_add/devspace_remove:插件管理devspace_cleanup/devspace_purge:资源清理
📖 示例用法
处理多个项目
由于每个工具都支持 workingDirectory 参数,您可以轻松地处理多个DevSpace项目:
"Initialize a new DevSpace project in ~/projects/my-api"
"Deploy the project in ~/projects/frontend using the production profile"
"Start development mode for the project in /home/user/microservices/auth-service"单个项目工作流
在一个项目中工作时,您可以省略 workingDirectory 如果你的MCP cwd 设置正确:
"Initialize a new DevSpace project for my Next.js app and deploy it to staging"
"Start DevSpace development mode with file sync enabled, then show me the logs from the web container"配置管理
"List all available DevSpace profiles and switch to the production profile"
"Show the current configuration for the project in ~/projects/backend"故障排除
"Analyze my DevSpace configuration and show any issues with the current deployment"
"Check the logs for the web container in the project at /path/to/my/project"🏗️ 建筑
服务器采用模块化架构构建,以实现可维护性:
src/
├── index.ts # Main server setup and request handling
├── command-handlers.ts # Business logic for each DevSpace command
├── command-executor.ts # Command execution with timeout/abort support
├── schemas.ts # Zod validation schemas
├── tool-definitions.ts # MCP tool definitions
├── validation.ts # Requirements and environment validation
├── logger.ts # Structured logging system
├── config.ts # Configuration management
└── types.ts # TypeScript type definitions🔧 发展
对于贡献者
如果您想在本地贡献或修改包:
git clone https://github.com/RaghuChandrasekaran/devspace-mcp-server.git
cd devspace-mcp-server
npm install
npm run build然后更新MCP配置以使用本地版本:
{
"mcpServers": {
"devspace": {
"command": "node",
"args": ["/path/to/devspace-mcp-server/dist/index.js"],
"cwd": "~/",
"env": {
"LOG_LEVEL": "debug"
}
}
}
}开发命令
# Development mode with file watching
npm run dev:watch
# Type checking
npm run typecheck
# Build production version
npm run build
# Clean build artifacts
npm run clean🛟 故障排除
DevSpace CLI问题
# Check DevSpace installation
devspace version
# Verify Kubernetes access
kubectl cluster-info常见解决方案
- 命令超时:增加
DEVSPACE_TIMEOUT环境变量 - 权限不足:检查Kubernetes集群权限和命名空间访问
- 端口冲突:在中使用不同的端口
devspace_ui电话 - 文件同步问题:确保适当的文件权限和磁盘空间
📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
🔗 链接
______________________________________________________________________
