原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

devcontainer-mcp

作者:aniongithub版本 0.40i★ –i在你的电脑上运行
注册名称io.github.aniongithub/devcontainer-mcp

安装

概览

作者提供的说明(英文原文)

Manage dev container environments via MCP (Docker, DevPod, Codespaces).

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 开发者工具

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 注册中心没有列出需要填写的密钥。

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

下载作者的 .mcpb 文件

链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。

在终端中运行这条命令

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 aniongithub 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“开发者工具”中的其他服务器比较i

  • 星标数多于此分类中其他 1394 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 1394 个服务器的 49% 更新
  • 基础检查结果等于或优于此分类中其他 1394 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

devcontainer-mcp 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.40)于2个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB。

有什么可以替代它?

同一分类中有:GitHub, Desktop Commander, Cloudflare MCP

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

GitHub

作者:github

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

电脑或云端★ 34,245MIT3天前更新
安装

Desktop Commander

作者:wonderwhy-er

MCP server for terminal commands, file operations, and process management

在你的电脑上运行★ 10,225MIT16天前更新
安装

Cloudflare MCP

作者:cloudflare

Cloudflare MCP servers

在云端运行★ 4,446Apache-2.014个月前更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

devcontainer-mcp

Give your AI agent its own dev environment — not yours.

devcontainer-mcp is an MCP server that lets AI coding agents create, manage, and work inside dev containers across three backends: local Docker, DevPod, and GitHub Codespaces. The agent builds, tests, and ships code in an isolated container — your laptop stays clean.

Works with GitHub Copilot, Claude, Cursor, opencode, and any MCP-compatible client.

The Problem

When AI agents write code, they need to run it somewhere. Today that means your host machine:

  • 🔴 Host contamination — agents install packages, modify PATH, leave behind build artifacts
  • 🔴 "Works on my machine" — agents assume your local toolchain matches production
  • 🔴 No isolation — one project's dependencies break another
  • 🔴 Security risk — agents run arbitrary commands with your user privileges
  • 🔴 Hardware constraints — you're limited to your local machine's resources

The Solution

The devcontainer spec already defines reproducible, container-based dev environments. Every major project ships a .devcontainer/devcontainer.json. But AI agents can't use them — until now.

devcontainer-mcp exposes 45 MCP tools that let any AI agent:

  1. Spin up a dev container from any repo — locally, on a cloud VM, or in Codespaces
  2. Run commands inside the container — builds, tests, linting, anything
  3. Manage the lifecycle — stop, restart, delete when done
  4. Authenticate against cloud providers — GitHub, AWS, Azure, GCP — without ever seeing a raw token
Agent: "Let me build this project..."

→ auth_status("github") → picks account → codespaces_create(auth: "github-you", repo: "your/repo") → codespaces_ssh(auth: "github-you", codespace: "...", command: "cargo build") → ✅ Built in the cloud. Your laptop did nothing.

Quick Install

Linux / macOS
curl -fsSL https://raw.githubusercontent.com/aniongithub/devcontainer-mcp/main/install.sh | bash
Windows (via WSL)
Invoke-RestMethod https://github.com/aniongithub/devcontainer-mcp/releases/latest/download/install.ps1 | Invoke-Expression

How it works: The binary runs inside WSL; MCP clients on Windows launch it via wsl ~/.local/bin/devcontainer-mcp serve. The stdio transport works transparently across the WSL boundary. WSL 2 is required — install it with wsl --install if you haven't already.

Backend CLIs (devpod, devcontainer, gh) are detected at runtime — if one is missing, the MCP server returns a helpful error with install instructions.

Binaries available for linux-x64, linux-arm64, darwin-x64, and darwin-arm64.

Host Protection & Opt-Out

The installer configures two agent hooks (Claude Code & GitHub Copilot CLI) that activate only in a directory containing .devcontainer/devcontainer.json:

  • `devcontainer-guard` (PreToolUse) — blocks shell/command execution on the host so the agent routes builds, tests, and runs through the MCP tools instead. Host-safe commands (git, gh) are allowlisted, and both hooks *fail open* — if jq is missing or a payload can't be parsed, commands are allowed rather than blocked.
  • `devcontainer-skill-loader` (SessionStart) — injects the SKILL.md usage guide as context.
Turning it off for a repo

Sometimes a project ships a stale or unmaintained .devcontainer that you don't actually want to route work through. To disable both hooks for that repo, drop a marker file at the repo root:

touch .devcontainer-mcp-disable

When .devcontainer-mcp-disable is present, the guard allows host commands through and the skill-loader skips context injection — the agent works locally as if no devcontainer were declared. Commit it (or add it to .gitignore for a local-only opt-out).

One-off bypass: to run a single host command without disabling the guard, include USER_CONFIRMED_HOST_OPERATION=1 anywhere in the command.

Architecture

graph TD

A[AI Agent / MCP Client] -->|stdio JSON-RPC| B[devcontainer-mcp]

subgraph "devcontainer-mcp" B --> C[33 MCP Tools] C --> D[Auth Broker] C --> E[devcontainer-mcp-core] end

D -->|opaque handles| C E -->|subprocess| F[DevPod CLI] E -->|subprocess| G[devcontainer CLI] E -->|subprocess| H[gh CLI] E -->|bollard API| I[Docker Engine]

F --> J[Docker / K8s / Cloud VMs] G --> K[Local Docker] H --> L[GitHub Codespaces]

Three Backends, One Interface

BackendBest forRequiresAuth needed?
devcontainer CLI (devcontainer_*)Local Docker — fast, simple@devcontainers/cli + DockerNo
DevPod (devpod_*)Multi-cloud: Docker, K8s, AWS, Azure, GCPDevPod CLIOptional (cloud providers)
Codespaces (codespaces_*)GitHub-hosted cloud environmentsgh CLIYes (auth handle)

Auth Broker

The agent never sees raw tokens. Instead:

  1. `auth_status(provider)` — list available accounts and scopes
  2. `auth_login(provider, scopes?)` — initiate login, opens browser, handles device codes
  3. `auth_select(id)` — switch the active account
  4. `auth_logout(id)` — revoke credentials

Codespaces tools require an auth handle (e.g. "github-aniongithub"). The MCP server resolves it to the real token on each call via the CLI's native keyring.

Supported providers: GitHub, AWS, Azure, GCP, Kubernetes

MCP Tools (46 total)

Auth (4 tools)
ToolDescription
auth_statusCheck auth for a provider — returns handles, accounts, scopes
auth_loginInitiate login or refresh scopes — browser + device code flow
auth_selectSwitch the active account for a provider
auth_logoutRevoke credentials for an account
DevPod (19 tools)
ToolDescription
devpod_upCreate and start a workspace from a git URL, local path, or image
devpod_stopStop a running workspace
devpod_deleteDelete a workspace and its resources
devpod_buildBuild a workspace image without starting it
devpod_statusGet workspace state (Running, Stopped, Busy, NotFound)
devpod_listList all workspaces with IDs, sources, providers, and status
devpod_sshExecute a command inside a workspace via SSH
devpod_logsGet workspace logs
devpod_provider_listList all configured providers
devpod_provider_addAdd a new provider
devpod_provider_deleteRemove a provider
devpod_context_listList all contexts
devpod_context_useSwitch to a different context
devpod_container_inspectDocker inspect — labels, ports, mounts, state
devpod_container_logsStream container logs via Docker API
devpod_file_readRead file content with optional line range
devpod_file_writeCreate or overwrite a file (auto-creates parent dirs)
devpod_file_editSurgical string replacement — old_str → new_str
devpod_file_listList directory contents (non-hidden, 2 levels deep)
devcontainer CLI (12 tools)
ToolDescription
devcontainer_upCreate and start a local dev container
devcontainer_execExecute a command inside a running dev container
devcontainer_buildBuild a dev container image
devcontainer_read_configRead merged devcontainer configuration as JSON
devcontainer_list_configsDiscover all devcontainer.json files in a workspace (single + multi-container)
devcontainer_stopStop a dev container (via Docker API)
devcontainer_removeRemove a dev container and its resources
devcontainer_statusGet dev container state by workspace folder
devcontainer_file_readRead file content with optional line range
devcontainer_file_writeCreate or overwrite a file (auto-creates parent dirs)
devcontainer_file_editSurgical string replacement — old_str → new_str
devcontainer_file_listList directory contents (non-hidden, 2 levels deep)
GitHub Codespaces (11 tools) — require auth handle
ToolDescription
codespaces_createCreate a new codespace for a repository
codespaces_listList your codespaces with state and machine info
codespaces_sshExecute a command inside a codespace via SSH
codespaces_stopStop a running codespace
codespaces_deleteDelete a codespace
codespaces_viewView detailed codespace info (state, machine, config)
codespaces_portsList forwarded ports with visibility and URLs
codespaces_file_readRead file content with optional line range
codespaces_file_writeCreate or overwrite a file (auto-creates parent dirs)
codespaces_file_editSurgical string replacement — old_str → new_str
codespaces_file_listList directory contents (non-hidden, 2 levels deep)

MCP Server Configuration

Linux / macOS
{

"mcpServers": { "devcontainer-mcp": { "command": "devcontainer-mcp", "args": ["serve"] } } }

Windows (WSL bridge)
{

"mcpServers": { "devcontainer-mcp": { "command": "wsl", "args": ["~/.local/bin/devcontainer-mcp", "serve"] } } }

Prerequisites

Install backend CLIs as needed — the MCP server detects them at runtime and returns helpful errors if missing:

  • devcontainer CLI: npm install -g @devcontainers/cli + Docker
  • DevPod: DevPod CLI + Docker (or another provider)
  • Codespaces: GitHub CLI — auth is handled by the auth_login tool

Self-Healing

When devcontainer_up, devpod_up, or codespaces_create fails, the full build output (including errors) is returned to the agent. The agent can read the error, fix the Dockerfile or devcontainer.json, and retry — making the dev environment a dynamic, agent-managed asset rather than a static prerequisite.

Multi-container workspaces

The devcontainer spec supports connecting to multiple containers in one workspace by placing per-service configs at .devcontainer/ /devcontainer.json, each pointing at a shared docker-compose.yml. devcontainer-mcp supports this pattern end-to-end:

  • Discovery — devcontainer_list_configs returns every config it finds (root .devcontainer.json, .devcontainer/devcontainer.json, and each .devcontainer/*/devcontainer.json) with its kind (image / dockerfile / compose), service name, and absolute path.
  • Targeting — Every devcontainer tool (`

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx