开发容器配置工具

MCP Devcontainers 是一个基于 Node.js 的工具,用于从 devcontainer.json 配置文件生成和配置开发容器,支持多种传输协议和开发环境初始化。

  • by AI-QL
  • TypeScript
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 AI-QL/mcp-devcontainers

使用说明

MCP开发容器

MCP服务器,用于devcontainer,直接从devcontainer.json配置文件生成和配置开发容器。

📌 条件

这个项目是用Node.js构建的。对于当地发展,您可以:

  • 安装 Node.js 在您的机器上,或
  • 使用提供的 devcontainer 虚拟环境。

您可以在不安装的情况下运行该项目 Node.js 本地使用 npx:

npx -y mcp-devcontainers

Docker是必需的 在执行环境中:

  • 对于 本地MCP服务器:在本地计算机上安装Docker
  • 对于 远程MCP服务器:在远程服务器上安装Docker

📦 Docker安装指南:https://docs.docker.com/get-started/get-docker/

🚀 入门指南

  • 构建: npm run build -将TypeScript编译为JavaScript
  • 观看模式: npm run watch -根据文件更改自动重建
  • 准备发布: npm run prepare -准备软件包以供发布
  • 运行ESLint: npm run lint -执行ESLint进行代码验证
  • 修复ESLint问题: npm run lint:fix -自动修复ESLint错误

✨ MCP传输

选项1-启动STDIO服务器

启动MCP服务器 stdio传输

npm start

选项2-启动SSE服务器

使用以下命令运行MCP服务器 服务器发送事件传输 在…上 https://{your-domain}/sse

npm start sse

选项3-启动流式HTTP服务器

使用启动MCP服务器 可流式HTTP传输 在…上 https://{your-domain}/mcp

npm start http

📚 工具

工具是建立在 devcontainers/cli

它们使您能够直接从以下位置生成和配置开发容器 devcontainer.json 配置文件:

devcontainer_up

在指定的工作区文件夹中初始化并启动devcontainer环境。确保devcontainer正常运行,并为开发任务做好准备。

  • 输入参数

    名称 必填 类型 描述
    workspace文件夹 ⚫ string 工作区文件夹的路径
    outputFilePath ⚪ string 输出日志的路径
  • 退货

    带有devcontainer启动信息的文本内容

devcontainer_run_user_commands

在指定工作区的devcontainer中执行用户定义的postCreateCommand和postStartCommand脚本。使用此选项可在容器启动后运行安装或初始化任务。

  • 输入参数

    名称 必填 类型 描述
    workspace文件夹 ⚫ string 工作区文件夹的路径
    outputFilePath ⚪ string 输出日志的路径
  • 退货

    命令执行结果的文本内容

devcontainer_exec

在指定工作区的devcontainer中运行自定义shell命令。可用于在devcontainer环境中执行任意命令或脚本。

  • 输入参数

    名称 必填 类型 描述
    workspace文件夹 ⚫ string 工作区文件夹的路径
    outputFilePath ⚪ string 输出日志的路径
    命令 ⚫ string[] 作为字符串数组执行的命令
  • 退货

    命令执行结果的文本内容

devcontainer_cleanup

运行docker命令以清理所有devcontainer环境。

  • 输入参数

    不适用

  • 退货

    删除了Docker进程ID的文本内容

devcontainer_list

运行docker命令列出所有devcontainer环境。

  • 输入参数

    不适用

  • 退货

    当前devcontainer Docker进程状态的文本内容

devcontainer_workspace_folders

运行find命令以获取具有devcontainer配置的所有工作区文件夹。

  • 输入参数

    名称 必填 类型 描述
    根路径 ⚪ string 用于在其子目录中搜索包含devcontainer配置的所有工作区文件夹的路径。
  • 退货

    指定根路径下所有工作区文件夹的文本内容。

🧑‍💻 快速体验/试用

对于那些想在没有本地Docker设置的情况下快速尝试此项目的开发人员,我们建议使用GitHub Codespace:

然后按照以下步骤设置试用环境:

  • 等待浏览器中的环境初始化

  • 安装依赖项: npm install

  • 启动服务: npm start http

    码空间将自动提供转发端口(例如。,https://ominous-halibut-7vvq7v56vgq6hr5p9-3001.app.github.dev/)

  • 制作 forwarded port 公众可访问(位于VSCode的右侧 Terminal 选项卡)

  • 连接使用 mcp检查员 通过流式HTTP

    npx -y @modelcontextprotocol/inspector
    

    对于可流式传输的HTTP连接,请记住附加 /mcp 到URL

    devcontainer_up 启动容器通常需要相当长的时间。如果你想在一次响应交互中收到结果,你需要同时增加 Request Timeout 和那个 Maximum Total Timeout 在 Configuration 的 mcp-inspector

对于不支持远程URL的MCP客户端,请使用以下替代配置:

{
  "mcpServers": {
    "Devcontainer": {
      "command": "npx",
      "args": ["mcp-remote", "https://ominous-halibut-7vvq7v56vgq6hr5p9-3001.app.github.dev/mcp"]
    }
  }
}

🤝 贡献

我们欢迎对这个项目做出任何贡献,包括功能增强、UI改进、文档更新、测试用例完成和语法更正。我相信一个真正的开发人员可以编写比人工智能更好的代码,所以如果你对代码实现的某些部分有疑虑,可以随时分享你的建议或提交拉取请求。

请查看我们的 行为准则。它始终有效。我们希望每个为这个项目做出贡献的人都能对此感到荣幸。

有关更多信息,请参阅 贡献指南

🐞 打开一个问题

在创建问题之前,请检查您是否使用的是项目的最新版本。如果您不是最新的,请先查看更新是否解决了您的问题。

🔒 报告安全问题

查看我们的 安全策略。不要提交安全漏洞的公开问题。

⭐ 鸣谢

作者: @AIQL.com.

📜 许可证

该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。