{"id":29990574,"url":"https://github.com/ai-ql/mcp-devcontainers","last_synced_at":"2026-01-20T17:26:54.280Z","repository":{"id":306074909,"uuid":"1023634274","full_name":"AI-QL/mcp-devcontainers","owner":"AI-QL","description":"MCP server for devcontainer to generate and configure development containers directly from devcontainer.json configuration files.","archived":false,"fork":false,"pushed_at":"2025-08-04T13:24:15.000Z","size":88,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-04T15:51:29.041Z","etag":null,"topics":["ai-agent","ai-agent-tools","devcontainer","mcp","mcp-server"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/mcp-devcontainers","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AI-QL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"AI-QL","custom":["https://www.aiql.com"]}},"created_at":"2025-07-21T13:06:41.000Z","updated_at":"2025-08-04T13:24:19.000Z","dependencies_parsed_at":"2025-07-23T14:44:36.443Z","dependency_job_id":"ba6eecc5-c9d5-4089-af6b-6d9c8740c8fe","html_url":"https://github.com/AI-QL/mcp-devcontainers","commit_stats":null,"previous_names":["ai-ql/mcp-devcontainers"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/AI-QL/mcp-devcontainers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AI-QL%2Fmcp-devcontainers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AI-QL%2Fmcp-devcontainers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AI-QL%2Fmcp-devcontainers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AI-QL%2Fmcp-devcontainers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AI-QL","download_url":"https://codeload.github.com/AI-QL/mcp-devcontainers/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AI-QL%2Fmcp-devcontainers/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268804041,"owners_count":24309678,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-04T02:00:09.867Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","ai-agent-tools","devcontainer","mcp","mcp-server"],"created_at":"2025-08-04T23:41:57.455Z","updated_at":"2026-01-20T17:26:54.268Z","avatar_url":"https://github.com/AI-QL.png","language":"TypeScript","funding_links":["https://github.com/sponsors/AI-QL","https://www.aiql.com"],"categories":[],"sub_categories":[],"readme":"# MCP Devcontainers\n\n[![](https://camo.githubusercontent.com/e36ffd91d8e6eaf39b1cf1d2ba210c6bb4022a772471bb077f28764e2a6da723/68747470733a2f2f62616467652e6d6370782e6465763f747970653d736572766572)](https://github.com/modelcontextprotocol/servers)\n[![npm](https://img.shields.io/npm/v/mcp-devcontainers)](https://www.npmjs.com/package/mcp-devcontainers)\n[![NPM Downloads](https://img.shields.io/npm/d18m/mcp-devcontainers)](https://www.npmjs.com/package/mcp-devcontainers)\n[![](https://img.shields.io/badge/Node.js-20%2B-brightgreen?style=flat-square)](https://nodejs.org/)\n[![LICENSE](https://img.shields.io/github/license/AI-QL/mcp-devcontainers)](https://github.com/AI-QL/mcp-devcontainers/blob/main/LICENSE)\n\nMCP server for devcontainer to generate and configure development containers directly from devcontainer.json configuration files.\n\n## 📌 Pre-condition\n\nThis project is built with Node.js. For local development, you can either:\n- Install `Node.js` on your machine, or  \n- Use the provided [devcontainer](.devcontainer/devcontainer.json) virtual environment.\n\nYou may run the project without installing `Node.js` locally by using `npx`:\n```bash\nnpx -y mcp-devcontainers\n```\n\n**Docker is required** in the execution environment:\n- For **local MCP server**: Install Docker on your local machine  \n- For **remote MCP server**: Install Docker on the remote server  \n\n\u003e 📦 Docker installation guide: https://docs.docker.com/get-started/get-docker/\n\n## 🚀 Getting Started\n- Build: `npm run build` - Compiles TypeScript to JavaScript\n- Watch mode: `npm run watch` - Automatically rebuilds on file changes\n- Prepare release: `npm run prepare` - Prepares the package for publishing\n- Run ESLint: `npm run lint` - Executes ESLint for code validation\n- Fix ESLint issues: `npm run lint:fix` - Automatically fixes ESLint errors\n\n## ✨ MCP Transport\n\n### Option 1 - Start STDIO server\n\nLaunches the MCP server with **stdio transport**\n```bash\nnpm start\n```\n\n### Option 2 - Start SSE server\nRuns the MCP server with **Server-Sent Events transport** on `https://{your-domain}/sse`\n```bash\nnpm start sse\n```\n\n### Option 3 - Start Streamable HTTP server\nStarts the MCP server with **Streamable HTTP transport** on `https://{your-domain}/mcp`\n```bash\nnpm start http\n```\n\n## 📚 Tools\n\nTools are built on the [devcontainers/cli](https://github.com/devcontainers/cli)\n\nThey enable you to generate and configure development containers directly from `devcontainer.json` configuration files:\n\n### `devcontainer_up`\n\nInitializes and starts a devcontainer environment in the specified workspace folder. Ensures the devcontainer is operational and ready for development tasks.\n\n- #### Input Parameters\n  | Name | Required | Type | Description |\n  | -------- | -------- | -------- | -------- |\n  | workspaceFolder   | ⚫ | string | Path to the workspace folder |\n  | outputFilePath    | ⚪ | string | Path for output logs |\n\n- #### Returns\n\n  Text content with the devcontainer startup information\n\n\n### `devcontainer_run_user_commands`\n\n  Executes user-defined postCreateCommand and postStartCommand scripts within the devcontainer for the specified workspace. Use this to run setup or initialization tasks after container startup.\n\n- #### Input Parameters\n  | Name | Required | Type | Description |\n  | -------- | -------- | -------- | -------- |\n  | workspaceFolder   | ⚫ | string | Path to the workspace folder |\n  | outputFilePath    | ⚪ | string | Path for output logs |\n\n- #### Returns\n\n  Text content with the command execution result\n\n\n### `devcontainer_exec`\n\n  Runs a custom shell command inside the devcontainer for the specified workspace. Useful for executing arbitrary commands or scripts within the devcontainer environment.\n\n- #### Input Parameters\n  | Name | Required | Type | Description |\n  | -------- | -------- | -------- | -------- |\n  | workspaceFolder   | ⚫ | string | Path to the workspace folder |\n  | outputFilePath    | ⚪ | string | Path for output logs |\n  | command           | ⚫ | string[ ] | Command to execute as string array |\n\n- #### Returns\n\n  Text content with the command execution result\n\n\n### `devcontainer_cleanup`\n\n  Runs docker command to cleanup all devcontainer environments.\n\n- #### Input Parameters\n  \n  N/A\n\n- #### Returns\n\n  Text content with Docker process ID removed\n\n\n### `devcontainer_list`\n\n  Runs docker command to list all devcontainer environments.\n\n- #### Input Parameters\n  \n  N/A\n\n- #### Returns\n\n  Text content with the current devcontainer Docker process status\n\n### `devcontainer_workspace_folders`\n\n  Runs find command to get all workspace folders with devcontainer config.\n\n- #### Input Parameters\n  | Name | Required | Type | Description |\n  | -------- | -------- | -------- | -------- |\n  | rootPath | ⚪ | string | A path used to search its subdirectories for all workspace folders containing a devcontainer configuration. |\n\n- #### Returns\n\n  Text content with all workspace folders under the specified root path.\n\n\n## 🧑‍💻 Quick Experience / Trial\n\nFor developers who want to quickly try this project without a local Docker setup, we recommend using GitHub Codespaces:\n\n\n[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/AI-QL/mcp-devcontainers?quickstart=1)\n\nThen follow these steps to set up a trial environment:\n\n- Wait for the environment to initialize in your browser\n\n- Install dependencies: `npm install`\n\n- Launch the service: `npm start http`\n\n  \u003e The codespace will automatically provide a forwarded port (e.g., https://ominous-halibut-7vvq7v56vgq6hr5p9-3001.app.github.dev/)\n\n- Make the `forwarded port` publicly accessible (located on the right side of the VSCode `Terminal` tab)\n\n- Connect using [mcp-inspector](https://github.com/modelcontextprotocol/inspector) via Streamable HTTP\n\n  ```bash\n  npx -y @modelcontextprotocol/inspector\n  ```\n\n  \u003e For a streamable HTTP connection, remember to append `/mcp` to the URL\n\n  \u003e `devcontainer_up` typically takes a considerable amount of time to start the container. If you want to receive the result within a single response interaction, you will need to increase both the `Request Timeout` and the `Maximum Total Timeout` in the `Configuration` of the `mcp-inspector`\n\nFor MCP Clients that don't support remote URLs, use this alternative configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"Devcontainer\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-remote\", \"https://ominous-halibut-7vvq7v56vgq6hr5p9-3001.app.github.dev/mcp\"]\n    }\n  }\n}\n```\n\n## 🤝 Contributing\n\nWe welcome contributions of any kind to this project, including feature enhancements, UI improvements, documentation updates, test case completions, and syntax corrections. I believe that a real developer can write better code than AI, so if you have concerns about certain parts of the code implementation, feel free to share your suggestions or submit a pull request.\n\nPlease review our [Code of Conduct](CODE_OF_CONDUCT.md). It is in effect at all times. We expect it to be honored by everyone who contributes to this project.\n\nFor more information, please see [Contributing Guidelines](CONTRIBUTING.md)\n\n## 🐞 Opening an Issue\n\nBefore creating an issue, check if you are using the latest version of the project. If you are not up-to-date, see if updating fixes your issue first.\n\n### 🔒 Reporting Security Issues\n\nReview our [Security Policy](SECURITY.md). Do not file a public issue for security vulnerabilities.\n\n## ⭐ Credits\n\nWritten by [@AIQL.com](https://github.com/AI-QL).\n\n## 📜 License\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fai-ql%2Fmcp-devcontainers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fai-ql%2Fmcp-devcontainers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fai-ql%2Fmcp-devcontainers/lists"}