{"_id":"@dockndevai/mcp-oci","_rev":"5-5b40d2edba917e3c521837861fa3bdec","name":"@dockndevai/mcp-oci","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"@dockndevai/mcp-oci","version":"0.1.0","keywords":["mcp","model-context-protocol","oci","oracle-cloud","terraform","iac","devops","llm","ai"],"license":"MIT","_id":"@dockndevai/mcp-oci@0.1.0","maintainers":[{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"}],"homepage":"https://github.com/dockndevai/mcp-oci#readme","bugs":{"url":"https://github.com/dockndevai/mcp-oci/issues"},"bin":{"mcp-oci":"dist/index.js"},"dist":{"shasum":"26aac756a4eec5fbea8efb84e1f8767c85aedcd9","tarball":"https://registry.npmjs.org/@dockndevai/mcp-oci/-/mcp-oci-0.1.0.tgz","fileCount":36,"integrity":"sha512-94GsRQa4qjLP61WQaJ7mM/TzWh7suGepCgFyx2xU71K/RaiCmGN36SdOVafwOSNndXn7RvYeqEIEBXnssyGIAA==","signatures":[{"sig":"MEQCIALLBaOz6Xs4irpyzmYslUVxq6+0S4LQS5/sEIhQGrENAiAXwB3lG9T1L7x6wKS8CMfkJZpXnbjSc+PXr8LUiEnoZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dockndevai%2fmcp-oci@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":78569},"type":"module","engines":{"node":">=20"},"gitHead":"a6660a21644503f2df9caf80f17b25928f8e8a66","mcpName":"io.github.dockndevai/mcp-oci","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-oci.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for Oracle Cloud Infrastructure — live resource discovery, dependency mapping, and Terraform generation, with security modes and access-control flags.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.23.8","oci-core":"^2.100.0","oci-common":"^2.100.0","oci-identity":"^2.100.0","oci-resourcesearch":"^2.100.0","@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-oci_0.1.0_1787471359983_0.4717605864197927","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dockndevai/mcp-oci","version":"0.1.1","keywords":["mcp","model-context-protocol","oci","oracle-cloud","terraform","iac","devops","llm","ai"],"license":"MIT","_id":"@dockndevai/mcp-oci@0.1.1","maintainers":[{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"}],"homepage":"https://github.com/dockndevai/mcp-oci#readme","bugs":{"url":"https://github.com/dockndevai/mcp-oci/issues"},"bin":{"mcp-oci":"dist/index.js"},"dist":{"shasum":"34f0b6c1536ae80b1750e71dc2b9425661058d38","tarball":"https://registry.npmjs.org/@dockndevai/mcp-oci/-/mcp-oci-0.1.1.tgz","fileCount":39,"integrity":"sha512-VoHgFuxQgZEGtSBy0IS/uLOLGNrJFADCu9Buo6o4Ut7k+PhgqDT82YU+j2G8d00Eq5WmyiZNKCvW8pG7BYFM7g==","signatures":[{"sig":"MEYCIQCG+24rr9t1LlkDLUHCdGLM24F9q7GkIvtsd4Uy1NhvfwIhAMr5bi04er7wgx54WJ41/zZ7t3we2PjHeMlkYmpDVGeI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dockndevai%2fmcp-oci@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":84333},"type":"module","engines":{"node":">=20"},"gitHead":"c79f6e9f639353726420c5d070e939733dfae8f2","mcpName":"io.github.dockndevai/mcp-oci","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-oci.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for Oracle Cloud Infrastructure — live resource discovery, dependency mapping, and Terraform generation, with security modes and access-control flags.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.23.8","oci-core":"^2.100.0","oci-common":"^2.100.0","oci-identity":"^2.100.0","oci-resourcesearch":"^2.100.0","@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-oci_0.1.1_1787885396141_0.2049543273755532","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@dockndevai/mcp-oci","version":"0.1.2","keywords":["mcp","model-context-protocol","oci","oracle-cloud","terraform","iac","devops","llm","ai"],"license":"MIT","_id":"@dockndevai/mcp-oci@0.1.2","maintainers":[{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"}],"homepage":"https://github.com/dockndevai/mcp-oci#readme","bugs":{"url":"https://github.com/dockndevai/mcp-oci/issues"},"bin":{"mcp-oci":"dist/index.js"},"dist":{"shasum":"b70c683efe1b054388399c249b81302056f04b7e","tarball":"https://registry.npmjs.org/@dockndevai/mcp-oci/-/mcp-oci-0.1.2.tgz","fileCount":39,"integrity":"sha512-zMJup828gqEJ8EQTjaMw8yCk9wSxV79UtapBmZQYx/C4E2UDxo7gv9hnU8xSbql+gCtlQuFAEH8IKgksAVQ8RQ==","signatures":[{"sig":"MEUCIATs+Su6qftr7Qiu0Vytcr+Ro/QqxVgX4UgsWvnFVjxHAiEA+wsuyhopOzkAqz5TogzswnH66qrNLES+tZ0Te+xWH60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dockndevai%2fmcp-oci@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":84333},"type":"module","engines":{"node":">=20"},"gitHead":"f0f62213dc662513b4576acf2d4a31ee653e2c67","mcpName":"io.github.dockndevai/mcp-oci","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-oci.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for Oracle Cloud Infrastructure — live resource discovery, dependency mapping, and Terraform generation, with security modes and access-control flags.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.23.8","oci-core":"^2.100.0","oci-common":"^2.100.0","oci-identity":"^2.100.0","oci-resourcesearch":"^2.100.0","@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-oci_0.1.2_1788070744393_0.7013934281780028","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@dockndevai/mcp-oci","version":"0.1.3","keywords":["mcp","model-context-protocol","oci","oracle-cloud","terraform","iac","devops","llm","ai"],"license":"MIT","_id":"@dockndevai/mcp-oci@0.1.3","maintainers":[{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"}],"homepage":"https://github.com/dockndevai/mcp-oci#readme","bugs":{"url":"https://github.com/dockndevai/mcp-oci/issues"},"bin":{"mcp-oci":"dist/index.js"},"dist":{"shasum":"164224662bba7a3868c5c1464aec69d39d4c0969","tarball":"https://registry.npmjs.org/@dockndevai/mcp-oci/-/mcp-oci-0.1.3.tgz","fileCount":39,"integrity":"sha512-++aoH/+7o43sGbNkO2K700Wdsgu9yxxxumVQAeMQQEXQBcs/K5PoLiaS25WSEK4kPa4KzRwtr9G/gg7u35SvKg==","signatures":[{"sig":"MEUCIQDZCIc4NJjWWetAQhXf3hsUiAZegoKexTegPiI8Ezws3wIgVUD7gRSVtMof8X0Bo6Ve0zTLTJb5Ruaxg+5TBg9Qa1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCwBum3e6bhJRXxbUtdQ+qwJRYemzbpsk5SxFid9ROQjgIhALPXEFlkyFB/GIXqZkfrQbdaJJxFT+PJ8MMzrg/cw/Zm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dockndevai%2fmcp-oci@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":84333},"type":"module","engines":{"node":">=22"},"gitHead":"51c8443c4d7792f1be5a4345c628fda10ac914d1","mcpName":"io.github.dockndevai/mcp-oci","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-oci.git","type":"git"},"_npmVersion":"10.9.8","description":"Model Context Protocol server for Oracle Cloud Infrastructure — live resource discovery, dependency mapping, and Terraform generation, with security modes and access-control flags.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.23.8","oci-core":"^2.100.0","oci-common":"^2.100.0","oci-identity":"^2.100.0","oci-resourcesearch":"^2.100.0","@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-oci_0.1.3_1788969504777_0.09520197450865253","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"_id":"@dockndevai/mcp-oci@0.1.4","bin":{"mcp-oci":"dist/index.js"},"bugs":{"url":"https://github.com/dockndevai/mcp-oci/issues"},"dist":{"shasum":"75065c90ebb0a6bae9ce8b347d47218be6069d41","tarball":"https://registry.npmjs.org/@dockndevai/mcp-oci/-/mcp-oci-0.1.4.tgz","fileCount":39,"integrity":"sha512-MuF5IABjWbxTmNbE3dms8+OBM2Fl25yddk8EwOb7EKxz+TYXxNMNEKGlUA+XAqU8A/bdOL74LOFS0m4SYCcwOA==","signatures":[{"sig":"MEUCIARyh58yCKdi10DMYCTfD2qXc2HiTyuKIbesgVZAkL5jAiEAgof/cDt1WzZicmJrh3+gTNQkx3FGLQym7sYikPWQgAk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDJVg9nUDUFukYh450Z7LHMAI3v7jywrOrsclbqJeGfqAiEA5/jZBhIVXoTsBMCI9lW5CKtgrx6RKQaZFXGM2Zcr9hU="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dockndevai%2fmcp-oci@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":84300},"name":"@dockndevai/mcp-oci","type":"module","engines":{"node":">=22"},"gitHead":"c1a2e6752c2848670350b55358c570f00f54fc67","license":"MIT","mcpName":"io.github.dockndevai/mcp-oci","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.1.4","_npmUser":{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"},"homepage":"https://github.com/dockndevai/mcp-oci#readme","keywords":["mcp","model-context-protocol","oci","oracle-cloud","terraform","iac","devops","llm","ai"],"repository":{"url":"git+https://github.com/dockndevai/mcp-oci.git","type":"git"},"_npmVersion":"10.9.8","description":"Model Context Protocol server for Oracle Cloud Infrastructure — live resource discovery, dependency mapping, and Terraform generation, with security modes and access-control flags.","directories":{},"maintainers":[{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"}],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.5.4","oci-core":"^2.100.0","oci-common":"^2.100.0","oci-identity":"^2.100.0","oci-resourcesearch":"^2.100.0","@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-oci_0.1.4_1789235929429_0.691697729127648"}}},"time":{"created":"2026-08-23T07:49:19.783Z","modified":"2026-09-12T17:58:49.839Z","0.1.0":"2026-08-23T07:49:20.122Z","0.1.1":"2026-08-28T02:49:56.316Z","0.1.2":"2026-08-30T06:19:04.651Z","0.1.3":"2026-09-09T15:58:24.877Z","0.1.4":"2026-09-12T17:58:49.514Z"},"bugs":{"url":"https://github.com/dockndevai/mcp-oci/issues"},"license":"MIT","homepage":"https://github.com/dockndevai/mcp-oci#readme","keywords":["mcp","model-context-protocol","oci","oracle-cloud","terraform","iac","devops","llm","ai"],"repository":{"url":"git+https://github.com/dockndevai/mcp-oci.git","type":"git"},"description":"Model Context Protocol server for Oracle Cloud Infrastructure — live resource discovery, dependency mapping, and Terraform generation, with security modes and access-control flags.","maintainers":[{"name":"dock-n-dev-ai","email":"ankitcs17071993@gmail.com"}],"readme":"# mcp-oci\n\n[![CI](https://github.com/dockndevai/mcp-oci/actions/workflows/ci.yml/badge.svg)](https://github.com/dockndevai/mcp-oci/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-oci)](https://www.npmjs.com/package/@dockndevai/mcp-oci)\n\nA [Model Context Protocol](https://modelcontextprotocol.io) server for **Oracle Cloud Infrastructure (OCI)**. It gives an MCP-capable client (Claude Desktop, Claude Code, Cursor, Copilot, …) the ability to **discover live OCI resources, map how they relate, and generate reproducible Terraform** — with behaviour controlled entirely by flags.\n\nThink of it as a Playwright-MCP for your cloud: instead of rebuilding infrastructure knowledge by hand, the model can ask *\"show all VCNs in the prod compartment\"* and *\"generate Terraform for this compartment\"* and get structured, secret-free answers.\n\n## Features\n\n- **Live discovery** — compartments, regions, and any resource via OCI Resource Search.\n- **Terraform generation** — faithful HCL for known types (VCN, subnet, instance, bucket, compartment) and annotated skeletons for the rest; whole-compartment modules with provider variables.\n- **Dependency graph** — nodes/edges plus a suggested provisioning order (dependencies first).\n- **Secrets never reach the model** — every payload is redacted before return.\n- **Security flags** — access modes, compartment/region allowlists, provisioning gate, dry-run, and JSON audit logging (see below).\n- **Standard auth** — OCI config file (`~/.oci/config`) or instance principals. No credentials stored by the server.\n\n## Security model\n\n| Concern | Flag | Default | Effect |\n| --- | --- | --- | --- |\n| What can the server do? | `OCI_MODE` | `read-only` | All shipped tools are read-only. `read-write`/`admin` are reserved for future provisioning and currently expose no extra tools. |\n| Which compartments are in scope? | `OCI_COMPARTMENT_ALLOWLIST` | *(all)* | When set, operations on other compartments are refused. |\n| Which regions are reachable? | `OCI_REGION_ALLOWLIST` | *(configured region)* | When set, only these regions may be targeted. |\n| Can it run `terraform apply`? | `OCI_ALLOW_APPLY` | `false` | Reserved gate for provisioning (not yet shipped). |\n| Preview without executing | `OCI_DRY_RUN` | `false` | For future write tools: validate + log intent without executing. |\n| Audit trail | `OCI_AUDIT_LOG` | `true` | Emits a JSON line to stderr per guarded operation. |\n| Secret redaction | *(always on)* | — | Secret-shaped fields are replaced with `***REDACTED***` before any result is returned. |\n\n## Tools\n\n**Discovery** (read): `list_compartments`, `list_regions`, `search_resources`, `list_compartment_resources`, `get_resource`\n\n**Terraform** (read): `generate_terraform`, `generate_compartment_terraform`, `build_dependency_graph`\n\n## Quickstart — add to your agent\n\nPublished on npm as [`@dockndevai/mcp-oci`](https://www.npmjs.com/package/@dockndevai/mcp-oci). No clone or build needed — your MCP client runs it on demand with `npx`. **Start in `read-only` mode**; see [`.env.example`](.env.example) for every variable and [docs/CLIENTS.md](docs/CLIENTS.md) for the full per-client guide.\n\n**Claude Code** (CLI)\n\n```bash\nclaude mcp add oci -e OCI_PROFILE=\"DEFAULT\" -e OCI_MODE=\"read-only\" -- npx -y @dockndevai/mcp-oci\n```\n\n**Claude Desktop · Cursor · Windsurf** — same block in `claude_desktop_config.json`, `.cursor/mcp.json`, or `~/.codeium/windsurf/mcp_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"oci\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@dockndevai/mcp-oci\"\n      ],\n      \"env\": {\n        \"OCI_PROFILE\": \"DEFAULT\",\n        \"OCI_MODE\": \"read-only\"\n      }\n    }\n  }\n}\n```\n\n**OpenAI Codex CLI** — in `~/.codex/config.toml`:\n\n```toml\n[mcp_servers.oci]\ncommand = \"npx\"\nargs = [\"-y\", \"@dockndevai/mcp-oci\"]\nenv = { OCI_PROFILE = \"DEFAULT\", OCI_MODE = \"read-only\" }\n```\n\n**VS Code (GitHub Copilot, Agent mode)** — in `.vscode/mcp.json`:\n\n```json\n{\n  \"servers\": {\n    \"oci\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@dockndevai/mcp-oci\"\n      ],\n      \"env\": {\n        \"OCI_PROFILE\": \"DEFAULT\",\n        \"OCI_MODE\": \"read-only\"\n      }\n    }\n  }\n}\n```\n\n## Configure\n\nPoint it at a standard OCI config profile. For safety, use an IAM user/policy with\nread-only (`inspect`/`read`) permissions on the compartments you want the agent to see.\n\n## Example prompts\n\n- *\"List all compartments, then show every resource in the `prod` compartment.\"*\n- *\"Generate Terraform for VCN `ocid1.vcn.oc1..…`.\"*\n- *\"Build a dependency graph for compartment `…` and tell me the provisioning order.\"*\n\n## Run from source (development)\n\nPrefer the published package above. To run from a clone:\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        # watch mode\nnpm test           # security policy + terraform generation + graph + redaction\nnpm run typecheck\n```\n\n## Roadmap\n\n- `terraform plan` / `apply` execution behind `read-write`/`admin` + `OCI_ALLOW_APPLY`.\n- More resource-type mappers (load balancers, databases, DRGs, IAM policies).\n- Cross-environment drift comparison.\n\n## Publishing\n\nThis server ships a [`server.json`](server.json) for the official MCP registry and an [`mcpName`](package.json) for npm ownership validation. See **[PUBLISHING.md](PUBLISHING.md)** for publishing to npm and listing on the MCP registry, Smithery, Glama, Cursor, and PulseMCP.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}