返回市场
MCP开发容器

MCP开发容器

作者:AI-QL4 星标更新:2025-08-21

项目介绍

MCP 开发容器

npm NPM 下载量 LICENSE

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

📌 预条件

该项目是用Node.js构建的。对于本地开发,你可以:

  • 在你的机器上安装Node.js,或者
  • 使用提供的开发容器虚拟环境。

你也可以通过使用npx来运行项目而不必在本地安装Node.js

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服务器

启动具有STDIO传输的MCP服务器

npm start

选项2 - 启动SSE服务器

运行具有服务端发送事件传输的MCP服务器,地址为https://{your-domain}/sse

npm start sse

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

启动具有流式HTTP传输的MCP服务器,地址为https://{your-domain}/mcp

npm start http

📚 工具

工具基于devcontainers/cli构建

它们允许你直接从devcontainer.json配置文件生成和配置开发容器:

devcontainer_up

初始化并启动指定工作区文件夹中的开发容器环境。确保开发容器可以正常运行并准备好进行开发任务。

  • 输入参数

    名称必需类型描述
    workspaceFolderstring工作区文件夹路径
    outputFilePathstring输出日志路径
  • 返回值

    包含开发容器启动信息的文本内容

devcontainer_run_user_commands

在指定工作区的开发容器中执行用户定义的postCreateCommand和postStartCommand脚本。用于在容器启动后运行设置或初始化任务。

  • 输入参数

    名称必需类型描述
    workspaceFolderstring工作区文件夹路径
    outputFilePathstring输出日志路径
  • 返回值

    包含命令执行结果的文本内容

devcontainer_exec

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

  • 输入参数

    名称必需类型描述
    workspaceFolderstring工作区文件夹路径
    outputFilePathstring输出日志路径
    commandstring[ ]要执行的字符串数组命令
  • 返回值

    包含命令执行结果的文本内容

devcontainer_cleanup

运行docker命令清理所有开发容器环境。

  • 输入参数

  • 返回值

    包含已删除的Docker进程ID的文本内容

devcontainer_list

运行docker命令列出所有开发容器环境。

  • 输入参数

  • 返回值

    包含当前开发容器Docker进程状态的文本内容

devcontainer_workspace_folders

运行find命令获取所有包含开发容器配置的工作区文件夹。

  • 输入参数

    名称必需类型描述
    rootPathstring用于搜索其子目录中所有包含开发容器配置的工作区文件夹的路径。
  • 返回值

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

🧑‍💻 快速体验 / 试用

对于希望快速尝试此项目而无需本地Docker设置的开发者,我们推荐使用GitHub Codespaces:

在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文件。