{ "name": "containerization-assist-mcp", "version": "1.5.1-dev.1", "mcpName": "io.github.Azure/containerization-assist", "description": "TypeScript MCP server for AI-powered containerization workflows with Docker and Kubernetes support", "type": "module", "engines": { "node": ">=22.0.0" }, "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", "exports": { ".": { "types": "./dist/src/index.d.ts", "import": "./dist/src/index.js", "require": "./dist-cjs/src/index.js", "default": "./dist/src/index.js" }, "./server": { "types": "./dist/src/mcp/mcp-server.d.ts", "import": "./dist/src/mcp/mcp-server.js", "require": "./dist-cjs/src/mcp/mcp-server.js", "default": "./dist/src/mcp/mcp-server.js" }, "./tools": { "types": "./dist/src/tools/index.d.ts", "import": "./dist/src/tools/index.js", "require": "./dist-cjs/src/tools/index.js", "default": "./dist/src/tools/index.js" }, "./tools/types": { "types": "./dist/src/tools/types.d.ts", "import": "./dist/src/tools/types.js", "require": "./dist-cjs/src/tools/types.js", "default": "./dist/src/tools/types.js" }, "./types": { "types": "./dist/src/types/index.d.ts", "import": "./dist/src/types/index.js", "require": "./dist-cjs/src/types/index.js", "default": "./dist/src/types/index.js" }, "./config": { "types": "./dist/src/config/index.d.ts", "import": "./dist/src/config/index.js", "require": "./dist-cjs/src/config/index.js", "default": "./dist/src/config/index.js" }, "./sdk": { "types": "./dist/src/sdk/index.d.ts", "import": "./dist/src/sdk/index.js", "require": "./dist-cjs/src/sdk/index.js", "default": "./dist/src/sdk/index.js" }, "./sdk/types": { "types": "./dist/src/sdk/types.d.ts", "import": "./dist/src/sdk/types.js", "require": "./dist-cjs/src/sdk/types.js", "default": "./dist/src/sdk/types.js" }, "./knowledge": { "types": "./dist/src/knowledge/index.d.ts", "import": "./dist/src/knowledge/index.js", "require": "./dist-cjs/src/knowledge/index.js", "default": "./dist/src/knowledge/index.js" } }, "bin": { "containerization-assist-mcp": "./dist/src/cli/cli.js", "ca-mcp": "./dist/src/cli/cli.js" }, "files": [ "dist/**/*", "dist-cjs/**/*", "skills/**/SKILL.md", "policies/**/*.rego", "!policies/**/*_test.rego", "policies/compiled/*.wasm", "!.containerization-assist/**", "policies.user.examples/**/*.rego", "!policies.user.examples/**/*_test.rego", "policies.user.examples/**/*.md", "!policies.user/**", "knowledge/packs/**/*.json", "README.md", "LICENSE", "CHANGELOG.md" ], "scripts": { "clean": "node scripts/clean-build.cjs", "prepare": "husky", "build": "npm run clean && npm run build:version && npm run build:knowledge && npm run build:policies && npm run build:esm && npm run build:cjs", "build:version": "tsx scripts/generate-version.ts", "build:knowledge": "tsx scripts/generate-embedded-packs.ts", "build:policies": "tsx scripts/build-policies.ts", "build:esm": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json --resolve-full-paths && node -e \"require('fs').chmodSync('dist/src/cli/cli.js', 0o755)\"", "build:cjs": "tsc -p tsconfig.cjs.json && tsc-alias -p tsconfig.cjs.json && node scripts/write-cjs-package-marker.cjs", "build:watch": "tsc --project tsconfig.json --watch", "build:verify": "tsx scripts/verify-build.ts", "dev": "npm run build:version && tsx watch src/cli/cli.ts", "eval": "tsx --env-file-if-exists=.env test/agent-eval/cli.ts", "start": "node dist/src/cli/cli.js", "test": "npm run build:version && NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e", "test:unit": "npm run build:version && NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit --runInBand", "test:coverage": "npm run build:version && NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects unit integration e2e --coverage", "test:llm": "npm run build:version && NODE_OPTIONS='--experimental-vm-modules' jest --selectProjects llm-integration", "lint": "eslint src --ext .ts", "lint:fix": "eslint src --ext .ts --fix", "format": "prettier --write \"src/**/*.ts\"", "format:check": "prettier --check \"src/**/*.ts\"", "typecheck": "npm run build:version && tsc --noEmit", "validate-api": "tsx scripts/validate-public-api.ts", "validate:policies": "tsx scripts/validate-policies.ts", "validate:action-refs": "tsx scripts/validate-action-refs.ts", "refresh:action-pins": "tsx scripts/refresh-action-pins.ts", "policy:simulate": "tsx src/cli/policy-simulate.ts", "validate": "npm run lint && npm run typecheck && npm run test:unit && npm run validate:policies && node scripts/validate-examples.js", "fix": "npm run lint:fix && npm run format", "quality:gates": "tsx scripts/quality-gates.ts", "prepack": "node scripts/prepare-cjs-package.cjs", "postpack": "node scripts/restore-package.cjs", "prepublishOnly": "npm run validate && npm run build", "mcp:inspect": "npx @modelcontextprotocol/inspector ./scripts/mcp-start.sh start", "mcp:local": "tsx scripts/toggle-mcp-mode.ts local", "mcp:packaged": "tsx scripts/toggle-mcp-mode.ts packaged", "mcp:status": "tsx scripts/toggle-mcp-mode.ts status", "smoke:journey": "tsx scripts/smoke-journey.ts", "test:policies": "opa test policies/", "changelog-sync": "tsx scripts/changelog-sync.ts", "postversion": "tsx scripts/postversion.ts", "docs:dev": "vitepress dev docs", "docs:build": "vitepress build docs", "docs:preview": "vitepress preview docs" }, "dependencies": { "@iarna/toml": "^2.2.5", "@kubernetes-models/apimachinery": "^3.0.2", "@kubernetes/client-node": "^1.4.0", "@modelcontextprotocol/sdk": "~1.30.0", "@open-policy-agent/opa-wasm": "^1.10.0", "@types/xml2js": "^0.4.14", "commander": "^14.0.1", "docker-file-parser": "^1.0.7", "dockerfilelint": "^1.8.0", "dockerode": "^5.0.0", "glob": "^11.0.3", "js-yaml": "^4.1.0", "kubernetes-models": "^5.1.0", "pino": "^9.14.0", "protobufjs": "^8.0.0", "tar": "^7.5.2", "tmp": "^0.2.5", "validate-dockerfile": "^1.8.1", "xml2js": "^0.6.2", "yaml": "^2.8.1", "zod": "^3.25.6", "zod-to-json-schema": "^3.25.0" }, "devDependencies": { "@ai-sdk/azure": "^4.0.34", "@ai-sdk/openai": "^4.0.33", "@eslint/js": "^9.38.0", "@jest/globals": "^30.2.0", "@types/dockerode": "^3.3.44", "@types/glob": "^8.1.0", "@types/jest": "^30.0.0", "@types/js-yaml": "^4.0.9", "@types/node": "^24.9.1", "@types/tar": "^7.0.87", "@types/tar-fs": "^2.0.4", "@types/tmp": "^0.2.6", "@typescript-eslint/eslint-plugin": "^8.46.1", "@typescript-eslint/parser": "^8.46.1", "ai": "^7.0.55", "eslint": "^9.38.0", "husky": "^9.1.7", "jest": "^30.2.0", "lint-staged": "^16.2.6", "prettier": "^3.6.2", "ts-jest": "^29.4.5", "tsc-alias": "^1.8.16", "tsx": "^4.20.6", "typescript": "^5.9.3", "typescript-eslint": "^8.46.1", "vitepress": "^1.6.4" }, "lint-staged": { "src/**/*.ts": [ "eslint --fix --max-warnings 0", "prettier --write" ] }, "keywords": [ "mcp", "model-context-protocol", "containerization", "docker", "kubernetes", "ai-assisted", "devops", "java", "spring-boot", "maven", "gradle" ], "repository": { "type": "git", "url": "https://github.com/Azure/containerization-assist" }, "bugs": { "url": "https://github.com/Azure/containerization-assist/issues" }, "homepage": "https://github.com/Azure/containerization-assist#readme" }