{"_id":"@ams-dev/docker-manager","_rev":"4-3182e1d3eac113da46c351b975e344e3","name":"@ams-dev/docker-manager","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.0":{"name":"@ams-dev/docker-manager","version":"0.1.0","keywords":["mcp","model-context-protocol","docker","containers","development-tools"],"author":{"name":"mastoica"},"license":"MIT","_id":"@ams-dev/docker-manager@0.1.0","maintainers":[{"name":"stoyca_maryus","email":"stoyca_maryus@yahoo.com"}],"homepage":"https://github.com/mastoica/vibecoding-mcp-servers#readme","bugs":{"url":"https://github.com/mastoica/vibecoding-mcp-servers/issues"},"bin":{"docker-manager":"dist/index.js"},"dist":{"shasum":"aa24410386a057d0e4d00ae54a4ccc8c3a6d3a4f","tarball":"https://registry.npmjs.org/@ams-dev/docker-manager/-/docker-manager-0.1.0.tgz","fileCount":18,"integrity":"sha512-JQHhGTfENVD6d67OSEPj1aPnA3wDHKvs3m0xEH0wudYN2oqYSiSedz4geUsiMKlDGFKoCGOQSp3jUjI2nVGy1A==","signatures":[{"sig":"MEYCIQCMV0zacLNPAh/B8tPCM7stvDDjAAWsPjb1zcUSfq/TdAIhAJXlqzwfkzvWxdDo60vjrWeYzkbiRUgIkF3vyyOsurTn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48415},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"e543dec253e2df6dabb7927517729b75020b3aa6","scripts":{"dev":"tsc --watch","test":"echo 'No tests yet'","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"stoyca_maryus","email":"stoyca_maryus@yahoo.com"},"repository":{"url":"git+https://github.com/mastoica/vibecoding-mcp-servers.git","type":"git","directory":"packages/docker-manager"},"_npmVersion":"10.9.3","description":"MCP server for managing and inspecting Docker containers","directories":{},"_nodeVersion":"22.20.0","dependencies":{"dockerode":"^4.0.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.1.0","typescript":"^5.3.0","@types/node":"^20.0.0","@types/dockerode":"^3.3.31"},"_npmOperationalInternal":{"tmp":"tmp/docker-manager_0.1.0_1760747433822_0.9491250134084432","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ams-dev/docker-manager","version":"0.1.1","keywords":["mcp","model-context-protocol","docker","containers","development-tools"],"author":{"name":"mastoica"},"license":"MIT","_id":"@ams-dev/docker-manager@0.1.1","maintainers":[{"name":"stoyca_maryus","email":"stoyca_maryus@yahoo.com"}],"homepage":"https://github.com/mastoica/vibecoding-mcp-servers#readme","bugs":{"url":"https://github.com/mastoica/vibecoding-mcp-servers/issues"},"bin":{"docker-manager":"dist/index.js"},"dist":{"shasum":"0b747ffc92626f8036dd47d3e1ffe2e29ecf2409","tarball":"https://registry.npmjs.org/@ams-dev/docker-manager/-/docker-manager-0.1.1.tgz","fileCount":18,"integrity":"sha512-p/manvlp7FFrmbKY4ad6wIrtryNeMZiouznuYwsC0n45iXY4+dYRtUch8ursP8XN7nlVSereimjA6Freklj0DA==","signatures":[{"sig":"MEUCIApYAr1VCajwMdUWtNd/rRJeqWyNXnF3lIM7zRyPdANaAiEA19DslbQhY/AArkmQK+VRse+U5CcHgv4N5p6HzMCvYXM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48397},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"2fca1e8e201b6c9ad55dfbdb3c5a08153cff26ea","scripts":{"dev":"tsc --watch","test":"echo 'No tests yet'","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"stoyca_maryus","email":"stoyca_maryus@yahoo.com"},"repository":{"url":"git+https://github.com/mastoica/vibecoding-mcp-servers.git","type":"git","directory":"packages/docker-manager"},"_npmVersion":"10.9.3","description":"MCP server for managing and inspecting Docker containers","directories":{},"_nodeVersion":"22.20.0","dependencies":{"dockerode":"^4.0.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.1.0","typescript":"^5.3.0","@types/node":"^20.0.0","@types/dockerode":"^3.3.31"},"_npmOperationalInternal":{"tmp":"tmp/docker-manager_0.1.1_1760747611752_0.19800367031254074","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@ams-dev/docker-manager","version":"0.1.2","keywords":["mcp","model-context-protocol","docker","containers","development-tools"],"author":{"name":"mastoica"},"license":"MIT","_id":"@ams-dev/docker-manager@0.1.2","maintainers":[{"name":"stoyca_maryus","email":"stoyca_maryus@yahoo.com"}],"homepage":"https://github.com/mastoica/vibecoding-mcp-servers#readme","bugs":{"url":"https://github.com/mastoica/vibecoding-mcp-servers/issues"},"bin":{"docker-manager":"dist/index.js"},"dist":{"shasum":"93b67115c37e4296b7308958a66715409ab0ff90","tarball":"https://registry.npmjs.org/@ams-dev/docker-manager/-/docker-manager-0.1.2.tgz","fileCount":19,"integrity":"sha512-qD4f8+NNmiur1FAmpLMp63CqKplKPPk7/N3EPwYWwA1mbSMbdm3W49fK32OxqgXJZNf4WWxEK6bLjowGcgAd7w==","signatures":[{"sig":"MEQCIGQw4VYHYn+6rG9x6PHb2hHsSENFArwI//ZL+8n+M+j0AiB9Yz6JC9Fc3uWJq9X3uTbQNJtThApkGCtNnWkUIHcodQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49466},"main":"./dist/index.js","type":"module","_from":"file:ams-dev-docker-manager-0.1.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"tsc --watch","test":"echo 'No tests yet'","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"stoyca_maryus","email":"stoyca_maryus@yahoo.com"},"_resolved":"/tmp/780888e26e8f524bef650d351f71ba20/ams-dev-docker-manager-0.1.2.tgz","_integrity":"sha512-qD4f8+NNmiur1FAmpLMp63CqKplKPPk7/N3EPwYWwA1mbSMbdm3W49fK32OxqgXJZNf4WWxEK6bLjowGcgAd7w==","repository":{"url":"git+https://github.com/mastoica/vibecoding-mcp-servers.git","type":"git","directory":"packages/docker-manager"},"_npmVersion":"10.8.2","description":"MCP server for managing and inspecting Docker containers","directories":{},"_nodeVersion":"20.19.5","dependencies":{"dockerode":"^4.0.2","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.1.0","typescript":"^5.3.0","@types/node":"^20.0.0","@types/dockerode":"^3.3.31"},"_npmOperationalInternal":{"tmp":"tmp/docker-manager_0.1.2_1760748227904_0.004917642643200049","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@ams-dev/docker-manager","version":"0.1.3","description":"MCP server for managing and inspecting Docker containers","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"docker-manager":"dist/index.js"},"keywords":["mcp","model-context-protocol","docker","containers","development-tools"],"author":{"name":"mastoica"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/mastoica/vibecoding-mcp-servers.git","directory":"packages/docker-manager"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.4","dockerode":"^4.0.2"},"devDependencies":{"@types/dockerode":"^3.3.31","@types/node":"^20.0.0","typescript":"^5.3.0","vitest":"^1.1.0"},"engines":{"node":">=18.0.0"},"scripts":{"build":"tsc","dev":"tsc --watch","clean":"rm -rf dist","test":"echo 'No tests yet'"},"_id":"@ams-dev/docker-manager@0.1.3","bugs":{"url":"https://github.com/mastoica/vibecoding-mcp-servers/issues"},"homepage":"https://github.com/mastoica/vibecoding-mcp-servers#readme","_integrity":"sha512-vsO1S1FNUpZR0SZL6MBPcw9jk7K1vCmXljzw6sP1OS076wg70EP+LAYKU96jJ65IERT6Mmw5pTlMrVQlYlK21A==","_resolved":"/tmp/4aad5b82770e28b8163fec460ba20176/ams-dev-docker-manager-0.1.3.tgz","_from":"file:ams-dev-docker-manager-0.1.3.tgz","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-vsO1S1FNUpZR0SZL6MBPcw9jk7K1vCmXljzw6sP1OS076wg70EP+LAYKU96jJ65IERT6Mmw5pTlMrVQlYlK21A==","shasum":"c8dd00125ebc404bbed41d37f8beffa6f1978182","tarball":"https://registry.npmjs.org/@ams-dev/docker-manager/-/docker-manager-0.1.3.tgz","fileCount":19,"unpackedSize":49466,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDflM8RciATXTav0mmYXZt7isqTSoFa0/dxT3YECHet3QIgTiltuzMzZPfpNm8ccqKNmvp2oE9hsBUlXuks9CqDJ5k="}]},"_npmUser":{"name":"stoyca_maryus","email":"stoyca_maryus@yahoo.com"},"directories":{},"maintainers":[{"name":"stoyca_maryus","email":"stoyca_maryus@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/docker-manager_0.1.3_1760748460468_0.13554287940962317"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-18T00:30:33.717Z","modified":"2025-10-18T00:47:40.856Z","0.1.0":"2025-10-18T00:30:34.029Z","0.1.1":"2025-10-18T00:33:31.953Z","0.1.2":"2025-10-18T00:43:48.099Z","0.1.3":"2025-10-18T00:47:40.652Z"},"bugs":{"url":"https://github.com/mastoica/vibecoding-mcp-servers/issues"},"author":{"name":"mastoica"},"license":"MIT","homepage":"https://github.com/mastoica/vibecoding-mcp-servers#readme","keywords":["mcp","model-context-protocol","docker","containers","development-tools"],"repository":{"type":"git","url":"git+https://github.com/mastoica/vibecoding-mcp-servers.git","directory":"packages/docker-manager"},"description":"MCP server for managing and inspecting Docker containers","maintainers":[{"name":"stoyca_maryus","email":"stoyca_maryus@yahoo.com"}],"readme":"# @ams-dev/docker-manager\n\n> MCP server for managing and inspecting Docker containers\n\n## Overview\n\nA Model Context Protocol (MCP) server that enables AI assistants like Claude Code to control and inspect Docker containers, making it easy to manage development environments, databases, and services.\n\n## Features\n\n- 🐳 List, start, stop, and restart Docker containers\n- 📋 Execute commands inside running containers\n- 📊 Retrieve and stream container logs\n- 🔍 Inspect container configuration and state\n- 🚀 Create containers from images with full configuration\n- 🔌 Port mappings and volume mounts support\n\n## Installation\n\n```bash\n# Global installation\nnpm install -g @ams-dev/docker-manager\n\n# Or use with npx\nnpx @ams-dev/docker-manager\n```\n\n## Requirements\n\n- Node.js >= 18.0.0\n- Docker Engine or Docker Desktop running\n- Docker socket accessible (usually `/var/run/docker.sock`)\n\n## Usage\n\nAdd to your Claude Code MCP configuration (`~/.config/claude/mcp.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"docker-manager\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@ams-dev/docker-manager\"]\n    }\n  }\n}\n```\n\n## Available Tools\n\n### `list_containers`\n\nList Docker containers with optional filtering.\n\n**Input:**\n```typescript\n{\n  all?: boolean;           // Include stopped containers\n  filters?: {\n    status?: string[];     // ['running', 'exited', etc.]\n    label?: string[];\n    name?: string;\n  };\n}\n```\n\n### `start_container`\n\nStart an existing container or create and start from an image.\n\n**Input:**\n```typescript\n{\n  containerId?: string;    // Existing container\n  image?: string;          // Or create from image\n  name?: string;\n  ports?: Record<string, string>; // \"3000\": \"3000\"\n  env?: Record<string, string>;\n  volumes?: Record<string, string>; // \"/host/path\": \"/container/path\"\n}\n```\n\n**Example:**\n```typescript\n{\n  \"image\": \"postgres:15\",\n  \"name\": \"dev-postgres\",\n  \"ports\": { \"5432\": \"5432\" },\n  \"env\": {\n    \"POSTGRES_PASSWORD\": \"dev\",\n    \"POSTGRES_DB\": \"myapp\"\n  }\n}\n```\n\n### `stop_container`\n\nStop a running container.\n\n**Input:**\n```typescript\n{\n  containerId: string;\n  timeout?: number;        // Seconds before force kill\n}\n```\n\n### `restart_container`\n\nRestart a container.\n\n**Input:**\n```typescript\n{\n  containerId: string;\n  timeout?: number;\n}\n```\n\n### `get_container_logs`\n\nRetrieve container logs.\n\n**Input:**\n```typescript\n{\n  containerId: string;\n  since?: number;          // Unix timestamp\n  tail?: number;           // Number of lines\n  follow?: boolean;        // Stream logs\n  timestamps?: boolean;\n}\n```\n\n### `exec_command`\n\nExecute a command inside a running container.\n\n**Input:**\n```typescript\n{\n  containerId: string;\n  command: string[];       // [\"ls\", \"-la\", \"/app\"]\n  workDir?: string;\n  env?: Record<string, string>;\n}\n```\n\n**Example:**\n```typescript\n{\n  \"containerId\": \"postgres-dev\",\n  \"command\": [\"psql\", \"-U\", \"postgres\", \"-c\", \"SELECT version();\"]\n}\n```\n\n### `inspect_container`\n\nGet detailed container information.\n\n**Input:**\n```typescript\n{\n  containerId: string;\n}\n```\n\n## Example Workflows\n\n### Start a PostgreSQL Database\n\n```\nDeveloper: \"Set up a local PostgreSQL database\"\nClaude:\n- Creates: postgres:15 container\n- Configures: Port 5432, password, database name\n- Reports: \"PostgreSQL ready on localhost:5432\"\n```\n\n### Debug a Container Issue\n\n```\nDeveloper: \"Check why the API container keeps restarting\"\nClaude:\n- Inspects: Container state and config\n- Gets: Recent logs\n- Executes: Health check commands\n- Reports: Specific error found in logs\n```\n\n### Execute Database Migration\n\n```\nDeveloper: \"Run migrations in the database container\"\nClaude:\n- Executes: Migration command in container\n- Monitors: Output and exit code\n- Reports: Success or specific errors\n```\n\n## Development\n\n```bash\n# Install dependencies\npnpm install\n\n# Build\npnpm build\n\n# Watch mode\npnpm dev\n\n# Run tests\npnpm test\n```\n\n## Troubleshooting\n\n### Cannot connect to Docker daemon\n\nEnsure Docker is running:\n```bash\ndocker ps\n```\n\nCheck Docker socket permissions (Linux):\n```bash\nsudo chmod 666 /var/run/docker.sock\n```\n\n### Container not found\n\nUse container ID or exact name:\n```bash\ndocker ps -a  # List all containers\n```\n\n## License\n\nMIT © [mastoica](https://github.com/mastoica)\n\n## Related\n\n- [@ams-dev/process-manager](../process-manager) - Development process management\n- [@ams-dev/dev-watcher](../dev-watcher) - Real-time error detection\n","readmeFilename":"README.md"}