用于开发容器的MCP服务器,可以直接从devcontainer.json配置文件生成和配置开发容器。
该项目是用Node.js构建的。对于本地开发,你可以:
Node.js,或者你也可以通过使用npx来运行项目而不必在本地安装Node.js:
npx -y mcp-devcontainers
执行环境中需要Docker:
📦 Docker安装指南:https://docs.docker.com/get-started/get-docker/
npm run build - 将TypeScript编译成JavaScriptnpm run watch - 文件更改时自动重新构建npm run prepare - 准备打包以供发布npm run lint - 执行ESLint进行代码验证npm run lint:fix - 自动修复ESLint错误启动具有STDIO传输的MCP服务器
npm start
运行具有服务端发送事件传输的MCP服务器,地址为https://{your-domain}/sse
npm start sse
启动具有流式HTTP传输的MCP服务器,地址为https://{your-domain}/mcp
npm start http
工具基于devcontainers/cli构建
它们允许你直接从devcontainer.json配置文件生成和配置开发容器:
devcontainer_up初始化并启动指定工作区文件夹中的开发容器环境。确保开发容器可以正常运行并准备好进行开发任务。
| 名称 | 必需 | 类型 | 描述 |
|---|---|---|---|
| workspaceFolder | ⚫ | string | 工作区文件夹路径 |
| outputFilePath | ⚪ | string | 输出日志路径 |
包含开发容器启动信息的文本内容
devcontainer_run_user_commands在指定工作区的开发容器中执行用户定义的postCreateCommand和postStartCommand脚本。用于在容器启动后运行设置或初始化任务。
| 名称 | 必需 | 类型 | 描述 |
|---|---|---|---|
| workspaceFolder | ⚫ | string | 工作区文件夹路径 |
| outputFilePath | ⚪ | string | 输出日志路径 |
包含命令执行结果的文本内容
devcontainer_exec在指定工作区的开发容器中运行自定义shell命令。可用于在开发容器环境中执行任意命令或脚本。
| 名称 | 必需 | 类型 | 描述 |
|---|---|---|---|
| workspaceFolder | ⚫ | string | 工作区文件夹路径 |
| outputFilePath | ⚪ | string | 输出日志路径 |
| command | ⚫ | string[ ] | 要执行的字符串数组命令 |
包含命令执行结果的文本内容
devcontainer_cleanup运行docker命令清理所有开发容器环境。
无
包含已删除的Docker进程ID的文本内容
devcontainer_list运行docker命令列出所有开发容器环境。
无
包含当前开发容器Docker进程状态的文本内容
devcontainer_workspace_folders运行find命令获取所有包含开发容器配置的工作区文件夹。
| 名称 | 必需 | 类型 | 描述 |
|---|---|---|---|
| rootPath | ⚪ | string | 用于搜索其子目录中所有包含开发容器配置的工作区文件夹的路径。 |
包含指定根路径下所有工作区文件夹的文本内容。
对于希望快速尝试此项目而无需本地Docker设置的开发者,我们推荐使用GitHub Codespaces:
然后按照以下步骤设置试用环境:
等待浏览器中的环境初始化完成
安装依赖项:npm install
启动服务:npm start http
codespace会自动提供一个转发端口(例如,https://ominous-halibut-7vvq7v56vgq6hr5p9-3001.app.github.dev/)
将转发端口设为公开访问(位于VSCode 终端标签右侧)
使用mcp-inspector通过流式HTTP连接
npx -y @modelcontextprotocol/inspector
对于流式HTTP连接,请记得在URL末尾添加
/mcp
devcontainer_up通常需要较长时间才能启动容器。如果你希望在一个响应交互中接收结果,你需要增加mcp-inspector配置中的请求超时和最大总超时
对于不支持远程URL的MCP客户端,使用以下替代配置:
{
"mcpServers": {
"Devcontainer": {
"command": "npx",
"args": ["mcp-remote", "https://ominous-halibut-7vvq7v56vgq6hr5p9-3001.app.github.dev/mcp"]
}
}
}
我们欢迎任何形式的贡献,包括功能增强、UI改进、文档更新、测试案例完成和语法修正。我们认为真正的开发者能够写出比AI更好的代码,所以如果你对代码实现的某些部分有疑虑,随时分享你的建议或提交拉取请求。
请参阅我们的行为准则。它始终有效。我们期望所有为此项目做出贡献的人遵守它。
更多详情,请参阅贡献指南
在创建问题之前,请检查是否使用了项目的最新版本。如果不是最新版本,请先查看更新是否能解决问题。
请参阅我们的安全政策。不要为安全漏洞提交公共问题。
由@AIQL.com编写。
本项目采用MIT许可证。详情请参见LICENSE文件。