Purpose
mcp-oci is a Model Context Protocol (MCP) server for Oracle Cloud Infrastructure (OCI). It enables MCP-capable clients (Claude Desktop, Claude Code, Cursor, Copilot, etc.) to discover live OCI resources, map relationships between resources, and generate reproducible Terraform configurations, with behavior fully controlled by flags. It is officially likened to a Playwright-MCP for cloud environments: instead of manually reconstructing infrastructure knowledge, the model can directly ask "show all VCNs in the prod compartment" and "generate Terraform for that compartment" and receive structured, key-free answers.
Main capabilities
- Live discovery: Supports compartments, regions, and searching for arbitrary resources via OCI Resource Search.
- Terraform generation: Generates faithful HCL for known types (VCN, subnet, instance, bucket, compartment); generates annotated skeletons for other types; supports whole-compartment modules with provider variables.
- Dependency graph: Provides nodes/edges, as well as the suggested configuration order (dependencies first).
- No secret leakage: All data returned to the model is redacted before being returned, so secrets never reach the model.
- Safety flags: Access modes, compartment/region allowlists, configuration gates, dry-run, and JSON audit logs.
- Standard authentication: Supports OCI config files (~/.oci/config) or instance principal authentication; the server does not store credentials.
Tool list
Discovery (read-only):
list_compartmentslist_regionssearch_resourceslist_compartment_resourcesget_resource
Terraform (read-only):
generate_terraformgenerate_compartment_terraformbuild_dependency_graph
Usage
Published to npm under the package name @dockndevai/mcp-oci, no need to clone or build—MCP clients run it on demand via npx . It is recommended to start in read-only mode;.env.example lists all variables, anddocs/CLIENTS.md provides the complete per-client guide.
How to configure each client (add the same configuration block to the corresponding configuration file):
- Claude Code (CLI)
- Claude Desktop, Cursor, Windsurf: add the same configuration block in
claude_desktop_config.json、.cursor/mcp.jsonor~/.codeium/windsurf/mcp_config.json- OpenAI Codex CLI: configure in~/.codex/config.toml- VS Code (GitHub Copilot, Agent mode): configure in.vscode/mcp.jsonPoint it at a standard OCI config profile. For security reasons, it is recommended to use an IAM user/policy with read-only (inspect/read) permissions only for the target compartment.
Running from source (for development purposes): prefer the published package above. To run from a cloned version, refer to the repository instructions.
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 configuration order."
Roadmap (according to the official description)
- Execute terraform plan/apply in read-write/admin mode and under
OCI_ALLOW_APPLY. - More resource type mappers (load balancer, database, DRG, IAM policy).
- Cross-environment drift comparison.
Release information
This server provides server.jsonfor the official MCP registry, as well as mcpName。PUBLISHING.md for npm ownership verification, which explains how to publish to npm and list on the MCP registry, Smithery, Glama, Cursor, and PulseMCP.
Limitations
The materials do not provide specific pricing, fees, runtime environment requirements, performance data, or end-user agreement information; other unmentioned features, platforms, or effects are not provided for now.