使用说明
DevEnv MCP服务器
MCP(模型上下文协议)服务器,提供 基于Docker的开发环境 根据需求。
任何AI代理(Claude、Gemini、Cursor等)都可以调用这些工具来创建、管理和检查容器化的开发环境——完全不用动手。无需为每个新项目手动设置Node、Python或Docker Compose。
特性
- 即时脚手架: 使用一个命令创建全栈项目(Next.js、Flask、FastAPI等)。
- Docker隔离: 每个环境都在自己的容器中运行,保持主机的清洁。
- 两种工作空间模式:
isolated(默认情况下,仅容器文件)或mapped(绑定装载的主机文件)。 - 免提依赖: AI会自动安装所需的软件包并设置环境。
- 直接文件访问:
write_file和read_file工具允许代理修改容器内的文件。 - 便携式导出:
export_environment将环境快照到Docker镜像tarball中。 - 通用IDE支持: 适用于VS Code(Gemini)、Claude Desktop、Cursor、Windsurf和Claude CLI。
支持的堆栈
| 堆栈 | 框架 | 基础映像 | 默认端口 |
|---|---|---|---|
flask |
Flask(Python) | python:3.12-slim |
5000 |
django |
Django(Python) | python:3.12-slim |
8000 |
fastapi |
FastAPI(Python) | python:3.12-slim |
8000 |
nextjs |
Next.js(React) | node:20-slim |
3000 |
vite-react |
Vite+反应 | node:20-slim |
5173 |
vite-vue |
快速+查看 | node:20-slim |
5173 |
express |
Express.js | node:20-slim |
3000 |
static-html |
静态HTML/CSS/JS | node:20-slim |
8080 |
laravel |
larvel(PHP) | php:8.3-fpm-alpine |
8000 |
symfony |
Symfony(PHP) | php:8.3-fpm-alpine |
8000 |
nestjs NestJS(Node.js) node:22-slim |
3000 | ||
bun-hono 荣誉。 oven/bun:1-alpine |
3000 | ||
rust-axum |
Axum/Actix(锈蚀) | rust:1-slim |
8080 |
go-gin |
杜松子酒/纤维(Go) | golang:1.24-alpine |
8080 |
nginx-static |
Nginx(静态资产) | nginx:alpine |
80 |
先决条件
- 码头工人 随着
docker composev2已安装并正在运行。 - Python 3.10+ 随着
pip.
快速开始
-
克隆和安装:
git clone https://github.com/ClaudiuJitea/devenv-mcp-server.git cd devenv-mcp-server pip install -r requirements.txt -
配置IDE: (参见 IDE 集成 在......下面
-
开始创建: 问你的AI代理:
“使用devenv工具创建一个名为'my portfolio'的新Next.js项目。”
IDE 集成
Gemini代码辅助(VS代码)
添加到您的VS代码 settings.json:
{
"gemini.mcp.servers": {
"devenv": {
"command": "python3",
"args": ["/absolute/path/to/server.py"],
"env": {}
}
}
}
克劳德桌面版
增添 ~/.config/Claude/claude_desktop_config.json:
{
"mcpServers": {
"devenv": {
"command": "python3",
"args": ["/absolute/path/to/server.py"]
}
}
}
光标/风帆/克劳德CLI
服务器通过以下方式支持标准MCP协议 stdio.使用路径 server.py 在您的配置中。
可用工具
| 工具 | 说明 |
|---|---|
list_supported_stacks |
显示所有可用的技术栈 |
create_environment |
创建新的Docker开发环境 |
list_environments |
列出所有环境及其状态 |
start_environment |
启动已停止的环境 |
stop_environment |
停止运行环境 |
destroy_environment |
默认情况下删除环境、容器、卷、关联的映像和文件 |
exec_command |
在容器内运行命令 |
write_file |
在容器的/app中写入/创建文件 |
read_file |
从容器的/app读取文件 |
get_environment_info |
获取详细的环境信息 |
export_environment |
导出可移植映像tar并生成部署脚本 |
工作区模式
create_environment 支持 workspace_mode:
isolated(默认):无主机绑定挂载。源代码、依赖项和生成的文件都保留在容器中。mapped:从绑定装载项目文件~/devenv-projects/<project>到/app用于直接主机编辑。
建议默认值为 isolated 当您需要可移植性和主机隔离时。
运作原理
- 请求: AI代理识别堆栈需求(例如,“我想要一个Flask应用程序”)。
- 执行: 它召唤
create_environment(project_name="app", stack="flask", workspace_mode="isolated"). - 配置: MCP服务器:
- 在以下位置创建项目目录
~/devenv-projects/<project>/. - 生成Dockerfile、compose和元数据文件。
- 为该项目构建并启动一个专用容器。
- 需要时运行特定于堆栈的初始化命令。
- 在以下位置创建项目目录
- 编辑工作流:
- 在
isolated模式,使用write_file,read_file,以及exec_command完全在容器中工作。 - 在
mapped模式下,直接从主机编辑文件,它们会反映在容器中。
- 在
- 便携性: 呼叫
export_environment快照并保存tarball(docker load -i ...在另一台机器上)。在映射模式下,导出会首先自动将映射的主机文件捕获到一个隔离的图像中。出口还写道deploy-<project>.sh和deploy-<project>.ps1在焦油旁边。
目录结构
~/devenv-projects/
└── my-project/
├── Dockerfile
├── docker-compose.yml
├── .devenv.json
├── app.py # or stack scaffold files
└── ...
发展
要手动测试服务器,请执行以下操作:
python3 server.py
或者使用 MCP检查员:
npx @modelcontextprotocol/inspector python3 server.py
专为AI优先开发人员工作流程而构建。
