MCP Devcontainers
mcp-devcontainers
MCP Devcontainers는 devcontainers cli 와의 간단한 통합을 제공하는 MCP(Model Context Protocol) 서버입니다.
종속성
이 서버를 사용하려면 devcontainers cli 가 개발 컨테이너를 빌드하고 관리하는 데 사용되므로 시스템에 Docker가 설치되어 실행 중이어야 합니다.
MCP Devcontainers 서버를 사용하는 데 다른 종속성은 필요하지 않습니다.
Related MCP server: Docker MCP Server
용법
MCP 서버는 사용 중인 클라이언트에 따라 다르게 구성됩니다. 참고로 Claude Desktop을 사용하는 경우 다음과 같이 구성합니다.
지엑스피1
MCP 운송
현재는 stdio 전송만 구현되어 있습니다.
도구
devcontainer_up - 지정된 작업 공간 폴더에서 devcontainer 환경을 시작하거나 초기화합니다. devcontainer가 실행 중이고 개발 작업을 수행할 준비가 되었는지 확인하는 데 사용합니다.
workspaceFolder: 작업공간 폴더 경로(문자열, 필수)outputFilePath: 출력 로그를 작성할 경로(문자열, 선택 사항)
devcontainer_run_user_commands - 지정된 작업 공간 폴더에 대해 devcontainer에서 사용자 정의
postCreateCommand및postStartCommand스크립트를 실행합니다. devcontainer 시작 후 설정 또는 초기화 명령을 실행하는 데 사용합니다.workspaceFolder: 작업공간 폴더 경로(문자열, 필수)outputFilePath: 출력 로그를 작성할 경로(문자열, 선택 사항)
devcontainer_exec - 지정된 작업 공간 폴더에 대해 devcontainer 내에서 임의의 셸 명령을 실행합니다. devcontainer 컨텍스트 내에서 사용자 지정 명령이나 스크립트를 실행할 때 사용합니다.
workspaceFolder: 작업공간 폴더 경로(문자열, 필수)command: 실행할 명령(string[], 필수)outputFilePath: 출력 로그를 작성할 경로(문자열, 선택 사항)
특허
MIT 라이선스에 따라 배포되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
Available Tools
3 toolsdevcontainer_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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceFolder | Yes | ||
| command | Yes | ||
| outputFilePath | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceFolder | Yes | ||
| outputFilePath | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| workspaceFolder | Yes | ||
| outputFilePath | No |
TDQS
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.
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.
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.
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.
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.
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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.0- First observed
devcontainer_exec - First observed
devcontainer_run_user_commands - First observed
devcontainer_up
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: starting the devcontainer, executing arbitrary commands, and running user-defined lifecycle scripts. No overlapping functionality.
All tools follow the 'devcontainer_verb' pattern in snake_case (exec, run_user_commands, up). Naming is consistent and predictable.
With 3 tools, the server is lean but covers core devcontainer operations. Could be slightly more comprehensive but appropriate for a focused utility.
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
Related MCP Connectors
The MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.
A MCP server built for developers enabling Git based project management with project and personal…
Devopness MCP server for DevOps happiness! Empower AI Agents to deploy apps and infra, to any cloud.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceAn 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.1MIT
- AlicenseNot gradedqualityDmaintenanceAn 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.96 npmMIT
- AlicenseCqualityDmaintenanceAn 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.7659 npm3MIT
- AlicenseNot gradedqualityCmaintenanceMCP 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.19 npm8MIT