oci-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OCI_MCP_REGION | No | Region override | |
| OCI_CLI_PROFILE | No | Profile in ~/.oci/config | DEFAULT |
| OCI_MCP_AUDIT_LOG | No | Mutation audit trail | ~/.oci-mcp/audit.jsonl |
| OCI_MCP_ALLOW_WRITE | No | Register write tools | true |
| OCI_MCP_ALLOW_DELETE | No | Register delete tools | false |
| OCI_MCP_COMPARTMENTS | No | Compartments where mutation is permitted. Empty = none. |
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
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| oci_whoamiA | Report the active OCI identity and this server's own permissions. Returns the tenancy, user, region and auth method in use, plus which compartments may be mutated and which capability flags are enabled. Call this first in a session to learn what is reachable before acting. |
| oci_listA | List resources of one type, compactly. Covers compute, block storage, networking, OKE, database, object storage and identity. Results are projected to the identifying fields; pass verbose=True for the full objects. Omitting |
| oci_getA | Fetch full details for a single resource. Use this after oci_list or oci_search has given you an OCID and you need the complete record — configuration, nested settings, tags. |
| oci_searchA | Find resources of any type across the whole tenancy in one call. The fastest way to locate something when you do not know its compartment. Prefer this over sweeping oci_list across many types. Examples: query="query all resources where lifecycleState = 'RUNNING'" query="query instance, volume resources where displayName =~ 'test'" free_text="kubeflow" Note: Resource Search does not index every service. OKE clusters never appear; use oci_list('cluster') for those. |
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 4 tools
oci_whoami, oci_list, oci_get, and oci_search have largely distinct purposes. The main overlap is between list (one resource type) and search (cross-type query), but descriptions clearly guide when to use each.
All four tools follow a consistent oci_<verb> snake_case pattern (oci_whoami, oci_list, oci_get, oci_search). The convention is predictable and readable.
Four tools is lean but appropriate for a focused read/discovery server, with each tool covering a distinct aspect: identity, enumeration, detail retrieval, and cross-type search. It is slightly thin for the broad OCI domain but not problematic.
The toolset is entirely read-only: no create, update, delete, or action tools exist, despite oci_whoami advertising mutation permissions. Agents tasked with modifying OCI resources will hit dead ends, constituting a significant gap for an OCI management server.