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/
到 /app` 用于直接主机编辑。
建议默认值为 isolated 当您需要可移植性和主机隔离时。
运作原理
- 请求: AI代理识别堆栈需求(例如,“我想要一个Flask应用程序”)。
- 执行: 它召唤
create_environment(project_name="app", stack="flask", workspace_mode="isolated"). - 配置: MCP服务器:
- 在以下位置创建项目目录 ~/devenv-projects/ /. - 生成Dockerfile、compose和元数据文件。 - 为该项目构建并启动一个专用容器。 - 需要时运行特定于堆栈的初始化命令。
- 编辑工作流:
- 在 isolated 模式,使用 write_file, read_file,以及 exec_command 完全在容器中工作。 - 在 mapped 模式下,直接从主机编辑文件,它们会反映在容器中。
- 便携性: 呼叫
export_environment快照并保存tarball(docker load -i ...在另一台机器上)。在映射模式下,导出会首先自动将映射的主机文件捕获到一个隔离的图像中。出口还写道 `deploy-
.sh 和 deploy- .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优先开发人员工作流程而构建。
