MCP Oci logo

MCP Oci

Oracle Cloud discovery + Terraform generation for AI agents — read-only, secret-safe.

Install MCP Oci

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "mcp-oci": {
      "command": "npx",
      "args": [
        "-y",
        "@dockndevai/mcp-oci"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 8 tools correctly (7d ago).

Overview

Tools8

What MCP Oci lets your agent do. Expand a tool for its parameters.

Verified live~746 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

5/5 checks healthy over the last 41d

What it can do

From the 8 tools this server returned when we ran it; 8 declare their own safety hints.

Handles credentials · 1Makes network requests · 8Read-only tools · 8
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceSigned build
Package age54 days
Maintainers1

Observed 2026-10-16 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 16d ago via OSV.dev · @dockndevai/mcp-oci (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
npm downloads619Package downloads in the last 30 days.
Last commit4d agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed8Callable tools this server registers over MCP.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

From the project README

mcp-oci

CI License: MIT npm

A Model Context Protocol 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.

Think 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.

Features

  • Live discovery — compartments, regions, and any resource via OCI Resource Search.
  • Terraform generation — faithful HCL for known types (VCN, subnet, instance, bucket, compartment) and annotated skeletons for the rest; whole-compartment modules with provider variables.
  • Dependency graph — nodes/edges plus a suggested provisioning order (dependencies first).
  • Secrets never reach the model — every payload is redacted before return.
  • Security flags — access modes, compartment/region allowlists, provisioning gate, dry-run, and JSON audit logging (see below).
  • Standard auth — OCI config file (~/.oci/config) or instance principals. No credentials stored by the server.

Security model

ConcernFlagDefaultEffect
What can the server do?OCI_MODEread-onlyAll shipped tools are read-only. read-write/admin are reserved for future provisioning and currently expose no extra tools.
Which compartments are in scope?OCI_COMPARTMENT_ALLOWLIST(all)When set, operations on other compartments are refused.
Which regions are reachable?OCI_REGION_ALLOWLIST(configured region)When set, only these regions may be targeted.
Can it run terraform apply?OCI_ALLOW_APPLYfalseReserved gate for provisioning (not yet shipped).
Preview without executingOCI_DRY_RUNfalseFor future write tools: validate + log intent without executing.
Audit trailOCI_AUDIT_LOGtrueEmits a JSON line to stderr per guarded operation.
Secret redaction(always on)—Secret-shaped fields are replaced with ***REDACTED*** before any result is returned.

Tools

Discovery (read): list_compartments, list_regions, search_resources, list_compartment_resources, get_resource

Terraform (read): generate_terraform, generate_compartment_terraform, build_dependency_graph

Quickstart — add to your agent

Published on npm as @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 for every variable and docs/CLIENTS.md for the full per-client guide.

Claude Code (CLI)

Terminal
claude mcp add oci -e OCI_PROFILE="DEFAULT" -e OCI_MODE="read-only" -- npx -y @dockndevai/mcp-oci

Claude Desktop · Cursor · Windsurf — same block in claude_desktop_config.json, .cursor/mcp.json, or ~/.codeium/windsurf/mcp_config.json:

config.json
{
  "mcpServers": {
    "oci": {
      "command": "npx",
      "args": [
        "-y",
        "@dockndevai/mcp-oci"
      ],
      "env": {
        "OCI_PROFILE": "DEFAULT",
        "OCI_MODE": "read-only"
      }
    }
  }
}

OpenAI Codex CLI — in ~/.codex/config.toml:

toml
[mcp_servers.oci]
command = "npx"
args = ["-y", "@dockndevai/mcp-oci"]
env = { OCI_PROFILE = "DEFAULT", OCI_MODE = "read-only" }

VS Code (GitHub Copilot, Agent mode) — in .vscode/mcp.json:

config.json
{
  "servers": {
    "oci": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@dockndevai/mcp-oci"
      ],
      "env": {
        "OCI_PROFILE": "DEFAULT",
        "OCI_MODE": "read-only"
      }
    }
  }
}

Configure

Point it at a standard OCI config profile. For safety, use an IAM user/policy with read-only (inspect/read) permissions on the compartments you want the agent to see.

Example prompts

  • "List all compartments, then show every resource in the prod compartment."
  • "Generate Terraform for VCN ocid1.vcn.oc1..…."
  • "Build a dependency graph for compartment … and tell me the provisioning order."

Run from source (development)

Prefer the published package above. To run from a clone:

Terminal
npm install
npm run build
node dist/index.js   # with the environment variables set

Develop

Terminal
npm run dev        # watch mode
npm test           # security policy + terraform generation + graph + redaction
npm run typecheck

Roadmap

  • terraform plan / apply execution behind read-write/admin + OCI_ALLOW_APPLY.
  • More resource-type mappers (load balancers, databases, DRGs, IAM policies).
  • Cross-environment drift comparison.

Publishing

This server ships a server.json for the official MCP registry and an mcpName for npm ownership validation. See PUBLISHING.md for publishing to npm and listing on the MCP registry, Smithery, Glama, Cursor, and PulseMCP.

License

MIT

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MCP Oci

mcp-oci is an MCP server that connects MCP-capable clients to Oracle Cloud Infrastructure (OCI) for live resource discovery, relationship mapping, and Terraform generation. It supports read-only discovery and Terraform tools, uses OCI config files or instance principals, redacts secret-shaped fields before returning results, and requires no credentials to be stored by the server.

Add mcp-oci by running it with npx using the published @dockndevai/mcp-oci package. Configure the MCP client command as npx with arguments -y and @dockndevai/mcp-oci, and set OCI_PROFILE plus OCI_MODE=read-only in the environment. The README includes configurations for Claude Code, Claude Desktop, Cursor, Windsurf, OpenAI Codex CLI, and VS Code.

mcp-oci can discover compartments, regions, and resources through OCI Resource Search. Its discovery tools include list_compartments, list_regions, search_resources, list_compartment_resources, and get_resource, allowing an MCP client to inspect live OCI resources and their relationships.

Yes, mcp-oci can generate Terraform through generate_terraform and generate_compartment_terraform. It produces faithful HCL for known types including VCNs, subnets, instances, buckets, and compartments, and annotated skeletons for other types; whole-compartment modules include provider variables.

Yes, mcp-oci is read-only by default, and all shipped tools are read-only. Secret-shaped fields are always replaced with ***REDACTED*** before results are returned, while OCI credentials are not stored by the server. Compartment and region allowlists, dry-run behavior, provisioning gates, and JSON audit logging are controlled by configuration flags.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Oci AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/mcp-oci?style=directory)](https://allmcps.com/mcp/mcp-oci)
HTML Embed
<a href="https://allmcps.com/mcp/mcp-oci"><img src="https://allmcps.com/api/badge/mcp-oci?style=directory" alt="MCP Oci on AllMCPs" /></a>