Skip to main content
Glama

mcp-devcontainers

The MCP Devcontainers is a Model Context Protocol (MCP) server that provides a simple integration with the devcontainers cli.

Dependencies

This server requires Docker to be installed and running on your system, as it is used by the devcontainers cli to build and manage development containers.

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

Related MCP server: Docker MCP 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.

{
  "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.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.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.Use this to run custom commands or scripts within the devcontainer context.

License

Released under the MIT License. See the LICENSE file for further details.

Available Tools

3 tools
devcontainer_execC

Execute an arbitrary shell command inside the devcontainer for the specified workspace folder.Use this to run custom commands or scripts within the devcontainer context.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceFolderYes
commandYes
outputFilePathNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It mentions execution inside a specific devcontainer but does not disclose whether the call blocks, how output is returned (though schema has optional outputFilePath), timeout behavior, or error handling. Essential behavioral traits are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two sentences, the second of which largely repeats the first ('Use this to run custom commands or scripts'). It could be more concise by merging the second into the first or removing redundancy. Overall short but not optimally efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimal given the tool's complexity (3 params, no output schema, no annotations). It does not explain return values, prerequisites (e.g., devcontainer must be up), or error handling. The optional outputFilePath parameter is left unexplained, leaving the agent without enough context to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning no parameter descriptions in schema. The tool description does not add any meaning beyond parameter names: workspaceFolder, command (array of strings), and outputFilePath (optional). It fails to explain the format of command array, what outputFilePath does, or expected values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Execute' and the resource 'arbitrary shell command inside the devcontainer for the specified workspace folder'. It distinguishes from siblings: devcontainer_run_user_commands runs predefined commands, devcontainer_up sets up the container.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says 'Use this to run custom commands or scripts', which gives a general usage context but does not explicitly state when not to use or provide alternatives. It implies custom commands versus predefined ones from siblings but lacks clear exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devcontainer_run_user_commandsB

Run the user-defined postCreateCommand and postStartCommand scripts in the devcontainerfor the specified workspace folder. Use this to execute setup or initialization commandsafter the devcontainer starts.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceFolderYes
outputFilePathNo

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should fully disclose behavioral traits. It mentions execution of scripts but does not clarify side effects, permissions, or whether scripts run synchronously, leaving significant gaps for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences front-load the action and purpose, with no redundant text, though minor clarity improvements are possible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description lacks crucial behavior like success/failure results, error handling, and execution mode, making it incomplete for safe agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%; the description only alludes to workspaceFolder but fails to explain outputFilePath, leaving both parameters largely underdefined despite the tool's execution role.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it runs 'postCreateCommand and postStartCommand scripts' for a specific workspace folder, using strong verbs and resource specification that distinguishes it from siblings like devcontainer_exec and devcontainer_up.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises using this tool 'to execute setup or initialization commands after the devcontainer starts,' providing clear context, but does not explicitly exclude uses or compare to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

devcontainer_upC

Start or initialize a devcontainer environment in the specified workspace folder.Use this to ensure the devcontainer is running and ready for development tasks.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceFolderYes
outputFilePathNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It mentions 'start or initialize' but does not detail side effects (e.g., what happens if already running, permissions needed, or potential failures). This leaves significant behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences, focusing on purpose and usage. No extraneous information, though it could be slightly more structured (e.g., separate sentences for each aspect).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and two parameters, the description lacks critical context: what a devcontainer environment is, what 'ready for development' means, error handling, or post-condition state. For a setup tool, more completeness is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning to the workspaceFolder parameter by mentioning 'specified workspace folder', but outputFilePath is entirely ignored. With 0% schema coverage and 2 parameters, the description fails to compensate for the lack of schema descriptions, particularly for the optional parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool starts or initializes a devcontainer environment in a workspace folder, using verbs 'start or initialize' and specifying the resource. It distinguishes from siblings (exec, run_user_commands) by implying it's the setup tool, though not explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It advises using the tool to ensure the devcontainer is running and ready for development tasks, providing context for when to use it (before other tasks). However, it does not explicitly state when not to use it or compare with alternatives like devcontainer_exec.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: starting the devcontainer, executing arbitrary commands, and running user-defined lifecycle scripts. No overlapping functionality.

Naming Consistency5/5

All tools follow the 'devcontainer_verb' pattern in snake_case (exec, run_user_commands, up). Naming is consistent and predictable.

Tool Count4/5

With 3 tools, the server is lean but covers core devcontainer operations. Could be slightly more comprehensive but appropriate for a focused utility.

Completeness3/5

The tool set covers starting, executing commands, and running lifecycle scripts, but misses common operations like stopping, rebuilding, or checking status, which are notable gaps.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    An MCP server that enables programmatic management and monitoring of development servers through a unified interface and interactive TUI. It provides tools for process control, log streaming, and experimental browser automation via Playwright.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables managing Docker containers through natural language commands, allowing users to create, list, and delete containers. It facilitates automated container orchestration and integrates with VS Code via the Cline extension.
    186
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    An experimental MCP server that enables AI assistants to interact with VS Code workspaces through file operations, code execution, and Git management. It also provides tools for Docker integration, project scaffolding, and secure command execution using project-specific configurations.
    76
    32
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for generating and configuring development containers from devcontainer.json files, enabling management of devcontainer environments through tools like devcontainer_up, devcontainer_exec, and cleanup.
    18
    8
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/crunchloop/mcp-devcontainers'

If you have feedback or need assistance with the MCP directory API, please join our Discord server