GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者による説明(英語の原文)
Manage dev container environments via MCP (Docker, DevPod, Codespaces).
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
リンク先は作者自身のファイルです。私たちが置いたり再パッケージしたりしたものではありません。ファイルを開くと、Claude Desktopがインストールします。
ターミナルでこれを実行します
ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント aniongithub で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.40)がレジストリに届いたのは2 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにMCPBも必要です。
同じカテゴリには:GitHub, Desktop Commander, Cloudflare MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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.
When AI agents write code, they need to run it somewhere. Today that means your host machine:
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:
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.
curl -fsSL https://raw.githubusercontent.com/aniongithub/devcontainer-mcp/main/install.sh | bash
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 withwsl --installif 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.
The installer configures two agent hooks (Claude Code & GitHub Copilot CLI) that activate only in a directory containing .devcontainer/devcontainer.json:
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.SKILL.md usage guide as context.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.
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]
| Backend | Best for | Requires | Auth needed? |
|---|---|---|---|
devcontainer CLI (devcontainer_*) | Local Docker — fast, simple | @devcontainers/cli + Docker | No |
DevPod (devpod_*) | Multi-cloud: Docker, K8s, AWS, Azure, GCP | DevPod CLI | Optional (cloud providers) |
Codespaces (codespaces_*) | GitHub-hosted cloud environments | gh CLI | Yes (auth handle) |
The agent never sees raw tokens. Instead:
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
| Tool | Description |
|---|---|
auth_status | Check auth for a provider — returns handles, accounts, scopes |
auth_login | Initiate login or refresh scopes — browser + device code flow |
auth_select | Switch the active account for a provider |
auth_logout | Revoke credentials for an account |
| Tool | Description |
|---|---|
devpod_up | Create and start a workspace from a git URL, local path, or image |
devpod_stop | Stop a running workspace |
devpod_delete | Delete a workspace and its resources |
devpod_build | Build a workspace image without starting it |
devpod_status | Get workspace state (Running, Stopped, Busy, NotFound) |
devpod_list | List all workspaces with IDs, sources, providers, and status |
devpod_ssh | Execute a command inside a workspace via SSH |
devpod_logs | Get workspace logs |
devpod_provider_list | List all configured providers |
devpod_provider_add | Add a new provider |
devpod_provider_delete | Remove a provider |
devpod_context_list | List all contexts |
devpod_context_use | Switch to a different context |
devpod_container_inspect | Docker inspect — labels, ports, mounts, state |
devpod_container_logs | Stream container logs via Docker API |
devpod_file_read | Read file content with optional line range |
devpod_file_write | Create or overwrite a file (auto-creates parent dirs) |
devpod_file_edit | Surgical string replacement — old_str → new_str |
devpod_file_list | List directory contents (non-hidden, 2 levels deep) |
| Tool | Description |
|---|---|
devcontainer_up | Create and start a local dev container |
devcontainer_exec | Execute a command inside a running dev container |
devcontainer_build | Build a dev container image |
devcontainer_read_config | Read merged devcontainer configuration as JSON |
devcontainer_list_configs | Discover all devcontainer.json files in a workspace (single + multi-container) |
devcontainer_stop | Stop a dev container (via Docker API) |
devcontainer_remove | Remove a dev container and its resources |
devcontainer_status | Get dev container state by workspace folder |
devcontainer_file_read | Read file content with optional line range |
devcontainer_file_write | Create or overwrite a file (auto-creates parent dirs) |
devcontainer_file_edit | Surgical string replacement — old_str → new_str |
devcontainer_file_list | List directory contents (non-hidden, 2 levels deep) |
auth handle| Tool | Description |
|---|---|
codespaces_create | Create a new codespace for a repository |
codespaces_list | List your codespaces with state and machine info |
codespaces_ssh | Execute a command inside a codespace via SSH |
codespaces_stop | Stop a running codespace |
codespaces_delete | Delete a codespace |
codespaces_view | View detailed codespace info (state, machine, config) |
codespaces_ports | List forwarded ports with visibility and URLs |
codespaces_file_read | Read file content with optional line range |
codespaces_file_write | Create or overwrite a file (auto-creates parent dirs) |
codespaces_file_edit | Surgical string replacement — old_str → new_str |
codespaces_file_list | List directory contents (non-hidden, 2 levels deep) |
{
"mcpServers": { "devcontainer-mcp": { "command": "devcontainer-mcp", "args": ["serve"] } } }
{
"mcpServers": { "devcontainer-mcp": { "command": "wsl", "args": ["~/.local/bin/devcontainer-mcp", "serve"] } } }
Install backend CLIs as needed — the MCP server detects them at runtime and returns helpful errors if missing:
npm install -g @devcontainers/cli + Dockerauth_login toolWhen 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.
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:
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.冒頭だけを表示しています。続きはリポジトリで読めます