{"id":28546142,"url":"https://github.com/protobomb/mcp-server-devpod","last_synced_at":"2026-04-24T21:31:56.565Z","repository":{"id":297700342,"uuid":"997403645","full_name":"Protobomb/mcp-server-devpod","owner":"Protobomb","description":"MCP (Model Context Protocol) server for interfacing with DevPod - manage development environments programmatically","archived":false,"fork":false,"pushed_at":"2025-06-06T22:25:00.000Z","size":2630,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-06T23:26:24.967Z","etag":null,"topics":["ai-tools","claude","development-environment","devpod","go","mcp","model-context-protocol"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/Protobomb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-06T13:21:33.000Z","updated_at":"2025-06-06T22:24:46.000Z","dependencies_parsed_at":"2025-06-06T23:27:03.869Z","dependency_job_id":"e4461d07-59ef-44b5-a7d2-e56aee6677f8","html_url":"https://github.com/Protobomb/mcp-server-devpod","commit_stats":null,"previous_names":["protobomb/mcp-server-devpod"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/Protobomb/mcp-server-devpod","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Protobomb%2Fmcp-server-devpod","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Protobomb%2Fmcp-server-devpod/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Protobomb%2Fmcp-server-devpod/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Protobomb%2Fmcp-server-devpod/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Protobomb","download_url":"https://codeload.github.com/Protobomb/mcp-server-devpod/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Protobomb%2Fmcp-server-devpod/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264027597,"owners_count":23546105,"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","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-tools","claude","development-environment","devpod","go","mcp","model-context-protocol"],"created_at":"2025-06-09T23:09:01.410Z","updated_at":"2026-04-24T21:31:56.520Z","avatar_url":"https://github.com/Protobomb.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MCP Server for DevPod\n\nAn MCP (Model Context Protocol) server that provides an interface to [DevPod](https://devpod_sh/), enabling AI assistants to manage development environments programmatically.\n\n## Features\n\n- **Workspace Management**: Create, start, stop, and delete DevPod workspaces\n- **Provider Management**: List and add DevPod providers\n- **SSH Access**: Execute commands in workspaces via SSH\n- **Status Monitoring**: Check the status of workspaces\n- **Multiple Transports**: Supports STDIO, SSE (Server-Sent Events), and HTTP Streams transports\n\n## Prerequisites\n\n- [DevPod CLI](https://devpod_sh/docs/getting-started/install) installed and configured (included in Docker image)\n- Go 1.19 or later (for building from source)\n- Docker (for containerized deployment)\n\n## Installation\n\n### Option 1: From Source\n\n```bash\ngit clone https://github.com/Protobomb/mcp-server-devpod_git\ncd mcp-server-devpod\ngo build -o mcp-server-devpod\n```\n\n### Option 2: Using Docker\n\nRun the server in a container with DevPod pre-installed:\n\n```bash\n# Using docker-compose\ndocker-compose up -d\n\n# Or using docker directly\ndocker run -d \\\n  --name mcp-server-devpod \\\n  -p 8080:8080 \\\n  -v /var/run/docker.sock:/var/run/docker.sock:ro \\\n  -v devpod-data:/home/mcp/.devpod \\\n  -e MCP_TRANSPORT=sse \\\n  -e DEVPOD_PROVIDER=docker \\\n  ghcr.io/protobomb/mcp-server-devpod:latest\n```\n\nThe container includes:\n- Pre-installed DevPod client\n- SSE transport support for remote access\n- Configurable environment variables\n- Volume mounts for Docker socket and DevPod data persistence\n\n## Usage\n\n### STDIO Mode (Default)\n\n```bash\n./mcp-server-devpod\n```\n\n### SSE Mode\n\n```bash\n./mcp-server-devpod -transport=sse -addr=8080\n```\n\n### HTTP Streams Mode\n\n```bash\n./mcp-server-devpod -transport=http-streams -addr=8080\n```\n\nThe HTTP Streams transport provides:\n- **Full MCP Protocol Compliance**: Complete implementation per MCP specification\n- **Session Management**: Secure session-based communication with UUID session IDs\n- **Bidirectional Communication**: POST /mcp for client→server, SSE for server→client responses\n- **Health Endpoint**: GET /health for service monitoring\n- **CORS Support**: Full CORS headers for web client compatibility\n\n### Environment Variables (Docker)\n\nWhen running in Docker, you can configure the server using these environment variables:\n\n- `MCP_TRANSPORT`: Transport type (`stdio`, `sse`, or `http-streams`, default: `sse`)\n- `MCP_ADDR`: Address for SSE and HTTP Streams servers (default: `:8080`)\n- `DEVPOD_HOME`: DevPod home directory (default: `/home/mcp/.devpod`)\n- `DEVPOD_PROVIDER`: Default DevPod provider (default: `docker`)\n- `DEVPOD_DOCKER_HOST`: Docker host for DevPod (default: `unix:///var/run/docker.sock`)\n\n## Available Tools\n\nThe server exposes the following tools through the MCP protocol:\n\n### Workspace Management\n\n- **`devpod_listWorkspaces`**: List all DevPod workspaces\n- **`devpod_createWorkspace`**: Create a new workspace\n  - Parameters:\n    - `name` (required): Workspace name\n    - `source` (required): Repository URL or local path\n    - `provider` (optional): Provider to use\n    - `ide` (optional): IDE to use\n- **`devpod_startWorkspace`**: Start a workspace\n  - Parameters:\n    - `name` (required): Workspace name\n    - `ide` (optional): IDE to use\n- **`devpod_stopWorkspace`**: Stop a workspace\n  - Parameters:\n    - `name` (required): Workspace name\n- **`devpod_deleteWorkspace`**: Delete a workspace\n  - Parameters:\n    - `name` (required): Workspace name\n    - `force` (optional): Force delete without confirmation\n- **`devpod_status`**: Get workspace status\n  - Parameters:\n    - `name` (required): Workspace name\n\n### Provider Management\n\n- **`devpod_listProviders`**: List all available providers\n- **`devpod_addProvider`**: Add a new provider\n  - Parameters:\n    - `name` (required): Provider name\n    - `options` (optional): Provider-specific options\n\n### Remote Access\n\n- **`devpod_ssh`**: Execute commands in a workspace via SSH\n  - Parameters:\n    - `name` (required): Workspace name\n    - `command` (optional): Command to execute\n\n## Example Usage with MCP Client\n\n### HTTP Streams Transport Usage\n\nThe HTTP Streams transport follows the MCP specification for HTTP-based communication:\n\n```bash\n# 1. Initialize session\ncurl -X POST http://localhost:8080/mcp \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1,\n    \"method\": \"initialize\",\n    \"params\": {\n      \"protocolVersion\": \"2024-11-05\",\n      \"capabilities\": {},\n      \"clientInfo\": {\"name\": \"test-client\", \"version\": \"1.0.0\"}\n    }\n  }'\n\n# 2. Connect to SSE stream (use session ID from above response)\ncurl -N \"http://localhost:8080/mcp?session=SESSION_ID\"\n\n# 3. Send messages (in another terminal)\ncurl -X POST \"http://localhost:8080/mcp?session=SESSION_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 2,\n    \"method\": \"tools/list\"\n  }'\n\n# 4. Check health\ncurl http://localhost:8080/health\n```\n\n### Create a Workspace\n\n```json\n{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"devpod_createWorkspace\",\n  \"params\": {\n    \"name\": \"my-project\",\n    \"source\": \"https://github.com/user/my-project.git\",\n    \"provider\": \"docker\",\n    \"ide\": \"vscode\"\n  }\n}\n```\n\n### List Workspaces\n\n```json\n{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 2,\n  \"method\": \"devpod_listWorkspaces\",\n  \"params\": {}\n}\n```\n\n### Execute Command in Workspace\n\n```json\n{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 3,\n  \"method\": \"devpod_ssh\",\n  \"params\": {\n    \"name\": \"my-project\",\n    \"command\": \"npm install\"\n  }\n}\n```\n\n## Integration with AI Assistants\n\nThis MCP server can be integrated with AI assistants that support the Model Context Protocol, such as:\n\n- Claude Desktop\n- Other MCP-compatible clients\n\n### Configuration Example (Claude Desktop)\n\nAdd to your Claude Desktop configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"devpod\": {\n      \"command\": \"/path/to/mcp-server-devpod\",\n      \"args\": []\n    }\n  }\n}\n```\n\n## Development\n\n### Building\n\n```bash\ngo build -o mcp-server-devpod main.go\n```\n\n### Testing\n\n```bash\ngo test ./...\n```\n\n## Architecture\n\nThe server is built using the [mcp-server-framework](https://github.com/Protobomb/mcp-server-framework) and implements handlers for DevPod CLI commands. It executes DevPod commands as subprocesses and returns the results through the MCP protocol.\n\n## Documentation\n\nAdditional documentation is available in the [`docs/`](./docs/) directory:\n\n- **[Inspector Testing Guide](./docs/INSPECTOR_TESTING_GUIDE.md)** - Complete step-by-step guide for testing with MCP Inspector\n- **[Testing Solutions](./docs/TESTING_SOLUTIONS.md)** - Comprehensive testing results and evidence\n- **[Example Usage](./docs/example_usage.md)** - Additional usage examples and patterns\n- **[Framework Upgrade Summary](./docs/FRAMEWORK_UPGRADE_SUMMARY.md)** - Details about the v1.2.0 framework upgrade\n- **[Release Notes](./docs/RELEASE.md)** - Version history and release information\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests if applicable\n5. Submit a pull request\n\n## License\n\nMIT License - see LICENSE file for details\n\n## Acknowledgments\n\n- Built with [mcp-server-framework](https://github.com/Protobomb/mcp-server-framework)\n- Interfaces with [DevPod](https://devpod_sh/) by Loft Labs","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotobomb%2Fmcp-server-devpod","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprotobomb%2Fmcp-server-devpod","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotobomb%2Fmcp-server-devpod/lists"}