# mcp-devcontainers

The MCP Devcontainers is a Model Context Protocol (MCP) server that provides a simple integration with the [devcontainers cli](https://github.com/devcontainers/cli).

<a href="https://glama.ai/mcp/servers/@crunchloop/mcp-devcontainers">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/@crunchloop/mcp-devcontainers/badge" alt="Devcontainers MCP server" />
</a>

## Dependencies

This server requires **Docker** to be installed and running on your system, as it is used by the [devcontainers cli](https://github.com/devcontainers/cli) to build and manage development containers.

- [Docker installation guide](https://docs.docker.com/get-docker/)

No other dependencies are required to use the MCP Devcontainers server.

## Usage

MCP servers are configured differently depending on the client that you are using. For reference, this is how you would configure it using Claude Desktop.

```json
{
  "mcpServers": {
    "devcontainers": {
      "command": "npx",
      "args": [
        "-y",
        "@crunchloop/mcp-devcontainers"
      ]
    }
  }
}
```

## MCP Transport

At the moment, only `stdio` transport has been implemented.

## Tools

| Tool                               | workspaceFolder                                 | outputFilePath                               | Command                                 | Description                                                                                                                                                                                                         |
| ---------------------------------- | ----------------------------------------------- | -------------------------------------------- | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **devcontainer_up**                | Path to the workspace folder (string, required) | Path to write output logs (string, optional) | N/A                                     | Start or initialize a devcontainer environment in the specified workspace folder.<br>Use this to ensure the devcontainer is running and ready for development tasks.                                                   |
| **devcontainer_run_user_commands** | Path to the workspace folder (string, required) | Path to write output logs (string, optional) | N/A                                     | Run the user-defined `postCreateCommand` and `postStartCommand` scripts in the devcontainer for the specified workspace folder.<br>Use this to execute setup or initialization commands after the devcontainer starts. |
| **devcontainer_exec**              | Path to the workspace folder (string, required) | Path to write output logs (string, optional) | Command to execute (string[], required) | Execute an arbitrary shell command inside the devcontainer for the specified workspace folder.<br>Use this to run custom commands or scripts within the devcontainer context.                                          |                  |

## License

Released under the MIT License.  See the [LICENSE](./LICENSE) file for further details.
