{"_id":"@dockndevai/mcp-azure","_rev":"8-f6be9c79030f2616325db81231f725fa","name":"@dockndevai/mcp-azure","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"@dockndevai/mcp-azure","version":"0.1.0","keywords":["mcp","model-context-protocol","azure","azure-resource-manager","cloud","devops","governance","llm","ai"],"license":"MIT","_id":"@dockndevai/mcp-azure@0.1.0","maintainers":[{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"}],"homepage":"https://github.com/dockndevai/mcp-azure#readme","bugs":{"url":"https://github.com/dockndevai/mcp-azure/issues"},"bin":{"mcp-azure":"dist/index.js"},"dist":{"shasum":"19aa726088f008837b146af7addeec598a07359c","tarball":"https://registry.npmjs.org/@dockndevai/mcp-azure/-/mcp-azure-0.1.0.tgz","fileCount":30,"integrity":"sha512-/0GbRvEECkH35iogN1A8VWpyh6p5R2Jm4cNqO0tlnZV8odiu9tBColzppT+l6HUFQWac9U4Ax1gMnrZk2lNUFQ==","signatures":[{"sig":"MEQCIGRW7xyqKS/MM6g8ulAMmv28wV7h5/1HdP777U4D0Q/fAiBBbaWAavOni1464akPZ8+O7q9BrC0/uSSXsEOW2x/W9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dockndevai%2fmcp-azure@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":62557},"type":"module","engines":{"node":">=20"},"gitHead":"6c04bf1f614f3ee99fd499607fed53fc8de04070","mcpName":"io.github.dockndevai/mcp-azure","scripts":{"dev":"tsx watch src/index.ts","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","start":"node dist/index.js","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"},"repository":{"url":"git+https://github.com/dockndevai/mcp-azure.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for Azure (Resource Manager) — inventory, tags, VM power, and lifecycle with governance controls (access modes, subscription/resource-group scoping, protected groups, location allowlist, delete gating, confirmation, dry-run, ","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^3.2.7","typescript":"^5.6.3","@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-azure_0.1.0_1787502897026_0.12278097799528398","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dockndevai/mcp-azure","version":"0.1.1","keywords":["mcp","model-context-protocol","azure","azure-resource-manager","cloud","devops","governance","llm","ai"],"license":"MIT","_id":"@dockndevai/mcp-azure@0.1.1","maintainers":[{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"}],"homepage":"https://github.com/dockndevai/mcp-azure#readme","bugs":{"url":"https://github.com/dockndevai/mcp-azure/issues"},"bin":{"mcp-azure":"dist/index.js"},"dist":{"shasum":"a0751667a68aea8874b03d58d77a6411fa4678e8","tarball":"https://registry.npmjs.org/@dockndevai/mcp-azure/-/mcp-azure-0.1.1.tgz","fileCount":33,"integrity":"sha512-XAX596+3qmxZh3zPqkDGzImly54sHU1SsFlZNw/9lfHUuAk6DMab4MOr3Xs0fd7EM4X4tWhQCDPDwwcCfaJ8Iw==","signatures":[{"sig":"MEYCIQCAxTzKq9OY2THl3bDNZFEOFBlnRuz8oYzG9lDd2E1NsAIhAPceo1SaBVzRIpXdjka4pFMOyWaA2SuH5Qdmp/n3gmZ+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dockndevai%2fmcp-azure@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66206},"type":"module","engines":{"node":">=20"},"gitHead":"2fb7dfc8306b6f92d365b464261f9833da136aa8","mcpName":"io.github.dockndevai/mcp-azure","scripts":{"dev":"tsx watch src/index.ts","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","start":"node dist/index.js","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"},"repository":{"url":"git+https://github.com/dockndevai/mcp-azure.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for Azure (Resource Manager) — inventory, tags, VM power, and lifecycle with governance controls (access modes, subscription/resource-group scoping, protected groups, location allowlist, delete gating, confirmation, dry-run, ","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^3.2.7","typescript":"^5.6.3","@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-azure_0.1.1_1787885358435_0.8022662080559961","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@dockndevai/mcp-azure","version":"0.1.2","keywords":["mcp","model-context-protocol","azure","azure-resource-manager","cloud","devops","governance","llm","ai"],"license":"MIT","_id":"@dockndevai/mcp-azure@0.1.2","maintainers":[{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"}],"homepage":"https://github.com/dockndevai/mcp-azure#readme","bugs":{"url":"https://github.com/dockndevai/mcp-azure/issues"},"bin":{"mcp-azure":"dist/index.js"},"dist":{"shasum":"f917eaa39587dc51f94d9a5a4379226735809921","tarball":"https://registry.npmjs.org/@dockndevai/mcp-azure/-/mcp-azure-0.1.2.tgz","fileCount":33,"integrity":"sha512-MYHXW2uoi9DmXOOBcZCHf55pVcWZszfz1ELo81vsnhDMZSTt7lRjqj3F0+ozOr/+lVyKqrKp4FsRuf3cXBZn7w==","signatures":[{"sig":"MEUCIQC30U0mtETQ8iNoTxzSH+IOAe1jcnldQY6gc23g+UVmpQIgUdriO4SgHXYmc+ItlfJ+JlHAdhR61xy0bSNm6w+bSx0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dockndevai%2fmcp-azure@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66206},"type":"module","engines":{"node":">=20"},"gitHead":"3bcce817773b833497667726a9ca78f8333b4c97","mcpName":"io.github.dockndevai/mcp-azure","scripts":{"dev":"tsx watch src/index.ts","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","start":"node dist/index.js","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"},"repository":{"url":"git+https://github.com/dockndevai/mcp-azure.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for Azure (Resource Manager) — inventory, tags, VM power, and lifecycle with governance controls (access modes, subscription/resource-group scoping, protected groups, location allowlist, delete gating, confirmation, dry-run, ","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^3.2.7","typescript":"^5.6.3","@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-azure_0.1.2_1788070745061_0.4912192094042678","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@dockndevai/mcp-azure","version":"0.1.3","keywords":["mcp","model-context-protocol","azure","azure-resource-manager","cloud","devops","governance","llm","ai"],"license":"MIT","_id":"@dockndevai/mcp-azure@0.1.3","maintainers":[{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"}],"homepage":"https://github.com/dockndevai/mcp-azure#readme","bugs":{"url":"https://github.com/dockndevai/mcp-azure/issues"},"bin":{"mcp-azure":"dist/index.js"},"dist":{"shasum":"38bbbc446280f57cd1915e0d59b127e99f29b2c4","tarball":"https://registry.npmjs.org/@dockndevai/mcp-azure/-/mcp-azure-0.1.3.tgz","fileCount":33,"integrity":"sha512-sEmui5ikc0KCYrVL2GPDRIx9HyfGjxd8o39NOc0i7fwG/y+0uAzXrjdOX7TWmiR4QkMkvNMaeZFwif/4LdrrIA==","signatures":[{"sig":"MEUCICmcyJTvMY7o2rnlpesFLwuY4nmdC1Zo6AD6HrNpDu12AiEAjxUAIzs0foS/h8+WeO4AugnOonrna1XwviZcgSdvIxw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dockndevai%2fmcp-azure@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66206},"type":"module","engines":{"node":">=22"},"gitHead":"bd2e11129a77a91f97cbc525577a5554c033e27d","mcpName":"io.github.dockndevai/mcp-azure","scripts":{"dev":"tsx watch src/index.ts","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","start":"node dist/index.js","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"},"repository":{"url":"git+https://github.com/dockndevai/mcp-azure.git","type":"git"},"_npmVersion":"10.9.8","description":"Model Context Protocol server for Azure (Resource Manager) — inventory, tags, VM power, and lifecycle with governance controls (access modes, subscription/resource-group scoping, protected groups, location allowlist, delete gating, confirmation, dry-run, ","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^5.0.0","typescript":"^5.6.3","@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-azure_0.1.3_1788969326273_0.8347843925533238","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@dockndevai/mcp-azure","version":"0.2.0","keywords":["mcp","model-context-protocol","azure","azure-resource-manager","cloud","devops","governance","llm","ai"],"license":"MIT","_id":"@dockndevai/mcp-azure@0.2.0","maintainers":[{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"}],"homepage":"https://github.com/dockndevai/mcp-azure#readme","bugs":{"url":"https://github.com/dockndevai/mcp-azure/issues"},"bin":{"mcp-azure":"dist/index.js"},"dist":{"shasum":"0e9131a2f10114dbcea066134a5a42e41dd2bd4d","tarball":"https://registry.npmjs.org/@dockndevai/mcp-azure/-/mcp-azure-0.2.0.tgz","fileCount":36,"integrity":"sha512-OUe01jUuqjPqKurc5bNfJLI27RH0c+RyI/2AnQ0H+G6KRoDn46xfk3s8lE/af9VIfUZ2v9JCNoUVB8YWfxoeoA==","signatures":[{"sig":"MEUCIQCVmEb/L9gbcRhqpjsfY0ZRMTzExM+/svIu+jHFxlYp2wIgR5TLSSgFgJFnpHJtNa4FOHQnLZ06/3ufzGGhFVJTslc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dockndevai%2fmcp-azure@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72527},"type":"module","engines":{"node":">=22"},"gitHead":"5c3217ba1c537483581d577335c2ff1ccb5d8e45","mcpName":"io.github.dockndevai/mcp-azure","scripts":{"dev":"tsx watch src/index.ts","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","start":"node dist/index.js","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"},"repository":{"url":"git+https://github.com/dockndevai/mcp-azure.git","type":"git"},"_npmVersion":"10.9.8","description":"Model Context Protocol server for Azure (Resource Manager) — inventory, tags, VM power, and lifecycle with governance controls (access modes, subscription/resource-group scoping, protected groups, location allowlist, delete gating, confirmation, dry-run, ","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^5.0.0","typescript":"^5.6.3","@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-azure_0.2.0_1788981911337_0.1622227613891487","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@dockndevai/mcp-azure","version":"0.2.1","keywords":["mcp","model-context-protocol","azure","azure-resource-manager","cloud","devops","governance","llm","ai"],"license":"MIT","_id":"@dockndevai/mcp-azure@0.2.1","maintainers":[{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"}],"homepage":"https://github.com/dockndevai/mcp-azure#readme","bugs":{"url":"https://github.com/dockndevai/mcp-azure/issues"},"bin":{"mcp-azure":"dist/index.js"},"dist":{"shasum":"2071122e25cd9a394f1af193267c329384439a8e","tarball":"https://registry.npmjs.org/@dockndevai/mcp-azure/-/mcp-azure-0.2.1.tgz","fileCount":36,"integrity":"sha512-N1EIWY2UTWVQ9f8uiXwCvzBqNrLlZMapOOE1o5KB0ba+6sv/bRW4Fok8cTT6jKz4FXoPYFtuR2Mur+hEfXnmZw==","signatures":[{"sig":"MEUCICP9ALIuvjmi1N4t4Lh5ES225I7+5LNqxGe0jR50/kjvAiEA3FWo8yqibHY2d5HWUd944YhBsc1PHolGwb6AwGptD24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dockndevai%2fmcp-azure@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73498},"type":"module","engines":{"node":">=22"},"gitHead":"dea1bd284fc49920fb4d6f85625569b52989303b","mcpName":"io.github.dockndevai/mcp-azure","scripts":{"dev":"tsx watch src/index.ts","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","start":"node dist/index.js","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"},"repository":{"url":"git+https://github.com/dockndevai/mcp-azure.git","type":"git"},"_npmVersion":"10.9.8","description":"Model Context Protocol server for Azure (Resource Manager) — inventory, tags, VM power, and lifecycle with governance controls (access modes, subscription/resource-group scoping, protected groups, location allowlist, delete gating, confirmation, dry-run, ","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.23.8","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^5.0.0","typescript":"^5.6.3","@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-azure_0.2.1_1788983039257_0.38463061392681563","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@dockndevai/mcp-azure","version":"0.2.2","keywords":["mcp","model-context-protocol","azure","azure-resource-manager","cloud","devops","governance","llm","ai"],"license":"MIT","_id":"@dockndevai/mcp-azure@0.2.2","maintainers":[{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"}],"homepage":"https://github.com/dockndevai/mcp-azure#readme","bugs":{"url":"https://github.com/dockndevai/mcp-azure/issues"},"bin":{"mcp-azure":"dist/index.js"},"dist":{"shasum":"c944f670c023e0a8832b8fe9f587d1c12c32d99e","tarball":"https://registry.npmjs.org/@dockndevai/mcp-azure/-/mcp-azure-0.2.2.tgz","fileCount":36,"integrity":"sha512-bGwbIXIgJlPZjsra01p4eHjIZEdpQZn53h2nhHFK8HcjbAL2oYZybR5Pij1TswrWye7yDs3fAojxlEyb9vDbGA==","signatures":[{"sig":"MEYCIQC6lKV32buFkF36SZu3civ0zEvyGDs3H5H6SK222vR0+gIhAJ8jZo2B643/k1SBLpHSWkzsZwfJItz0K+cgF7NAqpgC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dockndevai%2fmcp-azure@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73542},"type":"module","engines":{"node":">=22"},"gitHead":"464ea51196b979da29eab237ddec84510d1c5055","mcpName":"io.github.dockndevai/mcp-azure","scripts":{"dev":"tsx watch src/index.ts","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","start":"node dist/index.js","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"},"repository":{"url":"git+https://github.com/dockndevai/mcp-azure.git","type":"git"},"_npmVersion":"10.9.8","description":"Model Context Protocol server for Azure (Resource Manager) — inventory, tags, VM power, and lifecycle with governance controls (access modes, subscription/resource-group scoping, protected groups, location allowlist, delete gating, confirmation, dry-run, ","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.5.4","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vitest":"^5.0.0","typescript":"^7.0.2","@types/node":"^26.5.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-azure_0.2.2_1789235824447_0.0042262560110821745","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"_id":"@dockndevai/mcp-azure@0.3.0","bin":{"mcp-azure":"dist/index.js"},"bugs":{"url":"https://github.com/dockndevai/mcp-azure/issues"},"dist":{"shasum":"01a2ef5e3665758a1ec791c94e54780ccaca314b","tarball":"https://registry.npmjs.org/@dockndevai/mcp-azure/-/mcp-azure-0.3.0.tgz","fileCount":39,"integrity":"sha512-nORqtTBBJbhT2CufappkJYDvjDnndNxG6MkdmaaGwRqxYY591epVme1KkLsoeNebotU7Ha/qwlXJrdb5vU6Z2Q==","signatures":[{"sig":"MEQCIHlHPbvmqh0O4L4OSjFFqR4d9vM12ybx6NjkEdLo0ovsAiA4e8+BW1HBUi78EXBhRkUv+tNp/1gDpWhXzLXBR8R7Kw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCIixnnhveLVOAwXqqCJZAd1S3ByLPhcNuojrWlUFWQBwIhAIG0YtsIZ8VD7SJkb3XfN2Ms3pKt7mt5GZS23cIKPrb4"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dockndevai%2fmcp-azure@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83545},"name":"@dockndevai/mcp-azure","type":"module","engines":{"node":">=22"},"gitHead":"1fcb88d1fe0a3df6e03a475136954bbebe0b7d02","license":"MIT","mcpName":"io.github.dockndevai/mcp-azure","scripts":{"dev":"tsx watch src/index.ts","lint":"tsc -p tsconfig.json --noEmit","test":"vitest run","build":"tsc -p tsconfig.json","start":"node dist/index.js","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"version":"0.3.0","_npmUser":{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"},"homepage":"https://github.com/dockndevai/mcp-azure#readme","keywords":["mcp","model-context-protocol","azure","azure-resource-manager","cloud","devops","governance","llm","ai"],"repository":{"url":"git+https://github.com/dockndevai/mcp-azure.git","type":"git"},"_npmVersion":"10.9.8","description":"Model Context Protocol server for Azure (Resource Manager) — inventory, tags, VM power, and lifecycle with governance controls (access modes, subscription/resource-group scoping, protected groups, location allowlist, delete gating, confirmation, dry-run, ","directories":{},"maintainers":[{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"}],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.5.4","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.13","vitest":"^5.0.0","typescript":"^7.0.2","@types/node":"^26.5.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-azure_0.3.0_1790684962016_0.03919635799077659"}}},"time":{"created":"2026-08-23T16:34:56.870Z","modified":"2026-09-29T12:29:22.616Z","0.1.0":"2026-08-23T16:34:57.166Z","0.1.1":"2026-08-28T02:49:18.563Z","0.1.2":"2026-08-30T06:19:05.206Z","0.1.3":"2026-09-09T15:55:26.411Z","0.2.0":"2026-09-09T19:25:11.448Z","0.2.1":"2026-09-09T19:43:59.378Z","0.2.2":"2026-09-12T17:57:04.588Z","0.3.0":"2026-09-29T12:29:22.112Z"},"bugs":{"url":"https://github.com/dockndevai/mcp-azure/issues"},"license":"MIT","homepage":"https://github.com/dockndevai/mcp-azure#readme","keywords":["mcp","model-context-protocol","azure","azure-resource-manager","cloud","devops","governance","llm","ai"],"repository":{"url":"git+https://github.com/dockndevai/mcp-azure.git","type":"git"},"description":"Model Context Protocol server for Azure (Resource Manager) — inventory, tags, VM power, and lifecycle with governance controls (access modes, subscription/resource-group scoping, protected groups, location allowlist, delete gating, confirmation, dry-run, ","maintainers":[{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"}],"readme":"# mcp-azure\n\n[![CI](https://github.com/dockndevai/mcp-azure/actions/workflows/ci.yml/badge.svg)](https://github.com/dockndevai/mcp-azure/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n[![npm](https://img.shields.io/npm/v/@dockndevai/mcp-azure)](https://www.npmjs.com/package/@dockndevai/mcp-azure)\n\nA [Model Context Protocol](https://modelcontextprotocol.io) server for **Azure** (via the Azure Resource Manager API — the programmatic layer behind the Azure Portal). It lets an MCP-capable client (Claude Desktop, Claude Code, Cursor, Codex, …) inventory and operate Azure resources — with a governance layer that keeps an AI agent inside safe boundaries.\n\n## What this offers\n\n- **Inventory** — list subscriptions, locations, resource groups, and resources; get any resource by ARM id.\n- **Operations** — create resource groups (in approved regions), merge tags onto any resource, and control VM power state (start / stop / restart / deallocate).\n- **Lifecycle** — delete resource groups and individual resources, guarded.\n- **Governance built in** — access modes, subscription/resource-group allowlists, protected resource groups, a location allowlist for new groups, delete gating, typed confirmation for high-impact deletes, dry-run, and JSON audit logging.\n\n## Governance & security model\n\n| Concern | Flag | Default | Effect |\n| --- | --- | --- | --- |\n| What can the server do? | `AZURE_MODE` | `read-only` | `read-only` → inventory; `read-write` → create RG, tag, VM power; `admin` → deletes. Tools above the mode are **never registered**. |\n| Which subscriptions? | `AZURE_SUBSCRIPTION_ALLOWLIST` | *(all)* | Operations on other subscriptions are refused. |\n| Which resource groups? | `AZURE_RESOURCE_GROUP_ALLOWLIST` | *(all)* | Operations outside the list are refused. |\n| Read-only-forever groups | `AZURE_PROTECTED_RESOURCE_GROUPS` | *(none)* | Readable, never mutable. |\n| Approved regions | `AZURE_LOCATION_ALLOWLIST` | *(any)* | New resource groups may only be created here. |\n| Can it delete? | `AZURE_ALLOW_DELETE` | `false` | Deletes need this **and** admin mode. |\n| Typed confirmation | `AZURE_REQUIRE_CONFIRMATION` | `true` | Deletes require `confirm` to equal the target name — not just a boolean. |\n| Preview | `AZURE_DRY_RUN` | `false` | Write/admin tools validate + log intent, then return. |\n| Audit trail | `AZURE_AUDIT_LOG` | `true` | JSON line to stderr per guarded operation. |\n| Interactive confirmation | *(automatic)* | — | Destructive & high-impact actions prompt the human to approve via MCP elicitation before running; clients without elicitation fall back to the `*_ALLOW_*` gate. |\n\n## Tools\n\n**Read** (`read-only`+): `list_subscriptions`, `list_locations`, `list_resource_groups`, `list_resources`, `get_resource`\n\n**Write** (`read-write`+): `create_resource_group`, `tag_resource`, `control_vm`\n\n**Admin** (`admin`): `delete_resource_group`, `delete_resource` (both need `AZURE_ALLOW_DELETE` + typed `confirm`)\n\n## Quickstart — add to your agent\n\nPublished on npm as [`@dockndevai/mcp-azure`](https://www.npmjs.com/package/@dockndevai/mcp-azure). Runs via `npx` with an Entra ID service principal. See [docs/CLIENTS.md](docs/CLIENTS.md) for every client and [`.env.example`](.env.example) for all variables.\n\n**Claude Code**\n\n```bash\nclaude mcp add azure -e AZURE_TENANT_ID=\"…\" -e AZURE_CLIENT_ID=\"…\" -e AZURE_CLIENT_SECRET=\"…\" -e AZURE_SUBSCRIPTION_ID=\"…\" -e AZURE_MODE=\"read-only\" -- npx -y @dockndevai/mcp-azure\n```\n\n**Claude Desktop · Cursor · Windsurf**\n\n```json\n{\n  \"mcpServers\": {\n    \"azure\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@dockndevai/mcp-azure\"],\n      \"env\": {\n        \"AZURE_TENANT_ID\": \"…\",\n        \"AZURE_CLIENT_ID\": \"…\",\n        \"AZURE_CLIENT_SECRET\": \"…\",\n        \"AZURE_SUBSCRIPTION_ID\": \"…\",\n        \"AZURE_MODE\": \"read-only\"\n      }\n    }\n  }\n}\n```\n\n## Example prompts\n\n- *\"List all resource groups in my subscription and which region each is in\"*\n- *\"Show every resource in the rg-web group\"*\n- *\"Tag the app-plan resource with env=prod and owner=team-a\"* (needs read-write)\n- *\"Stop the build-agent VM in rg-ci\"* (needs read-write)\n\n## Run from source (development)\n\n```bash\nnpm install\nnpm run build\nnode dist/index.js   # with the environment variables set\n```\n\n## Develop\n\n```bash\nnpm run dev\nnpm test          # governance policy: modes, scoping, location allowlist, delete + confirmation\nnpm run typecheck\n```\n\n## Publishing\n\nShips a [`server.json`](server.json) for the official MCP registry and an [`mcpName`](package.json) for npm ownership validation. See **[PUBLISHING.md](PUBLISHING.md)**.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}