mcp-oci
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OCI_MODE | No | Security mode controlling what the server can do. All shipped tools are read-only; read-write/admin are reserved for future provisioning. Allowed values: read-only, read-write, admin. | read-only |
| OCI_DRY_RUN | No | Reserved for future write tools: validate and log intent without executing. Set to true to enable dry-run behavior. | false |
| OCI_PROFILE | No | The OCI configuration profile to use from ~/.oci/config. Defaults to DEFAULT. | DEFAULT |
| OCI_AUDIT_LOG | No | Emits a JSON line to stderr per guarded operation. Set to false to disable audit logging. | true |
| OCI_ALLOW_APPLY | No | Reserved gate for provisioning (not yet shipped). Set to true to enable terraform apply in future. | false |
| OCI_REGION_ALLOWLIST | No | Comma-separated list of region identifiers that are reachable. When set, only these regions may be targeted. If unset, the configured region is used. | |
| OCI_COMPARTMENT_ALLOWLIST | No | Comma-separated list of compartment OCIDs that are in scope. When set, operations on other compartments are refused. If unset, all compartments are allowed. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_compartmentsA | List compartments in the tenancy (recursively). Compartments outside the allowlist are filtered out. |
| list_regionsA | List the regions this tenancy is subscribed to. |
| search_resourcesA | Search tenancy resources using OCI Resource Search. Provide either a structured query (e.g. "query instance resources where displayName =~ 'prod'") or free text. |
| list_compartment_resourcesB | Enumerate every resource in a compartment (via Resource Search). |
| get_resourceA | Fetch detailed attributes for a resource by type and OCID. Known types (Vcn, Subnet, Instance) return full attributes; others return the identifier. Secrets are redacted. |
| generate_terraformA | Generate a Terraform (HCL) resource block for a single OCI resource by type and OCID. Fetches the resource's attributes and maps them to the matching oci_* resource. |
| generate_compartment_terraformA | Discover every resource in a compartment and emit a Terraform module (provider variables + one block per resource) to reproduce it. Unrecognised types become annotated skeletons. |
| build_dependency_graphB | Discover a compartment's resources and return a node/edge dependency graph plus a suggested provisioning order (dependencies first). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Most tools have distinct purposes, but search_resources and list_compartment_resources both enumerate resources, and generate_compartment_terraform and build_dependency_graph both discover compartment resources, which could cause slight confusion despite clear descriptions.
All tool names follow a consistent snake_case verb_noun pattern (list_*, get_*, search_*, generate_*, build_*), making the set highly predictable and easy to navigate.
With 8 tools, the set is well-scoped for OCI infrastructure discovery and Terraform generation, covering essential operations without unnecessary bloat.
The surface covers discovery, detailed inspection, Terraform generation, and dependency graphing, but lacks direct resource management operations (create/update/delete) and a tool to list all resource types, which could limit some workflows.