OCI MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OCI MCP Serverlist my compute instances in the us-ashburn-1 region"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Oracle Cloud Infrastructure (OCI) MCP Server
A Model Context Protocol (MCP) server that provides access to Oracle Cloud Infrastructure services through a unified interface, optimized for VS Code integration.
Features
π Unified OCI Management Tool
oci-manage - Comprehensive OCI resource management
Compute: Instances, volumes, shapes, images
Storage: Object storage buckets and objects
Network: VCNs, subnets, security lists, gateways
Database: DB systems, autonomous databases, backups
Monitoring: Alarms, metrics, logs
Identity: Users, groups, policies
Related MCP server: Oracle Context MCP Server
Quick Start
1. Installation
git clone https://github.com/GoCoder7/oci-mcp-server.git
cd oci-mcp-server
npm install2. Build
npm run build3. Configure OCI Authentication
Copy the example environment file and configure your OCI credentials:
cp .env.example .envEdit .env with your OCI credentials:
OCI_TENANCY_ID=ocid1.tenancy.oc1..aaaaaaaa...
OCI_USER_ID=ocid1.user.oc1..aaaaaaaa...
OCI_KEY_FINGERPRINT=aa:bb:cc:dd:ee:ff:gg:hh:ii:jj:kk:ll:mm:nn:oo:pp
OCI_PRIVATE_KEY_PATH=/path/to/your/oci_api_key.pem
OCI_REGION=us-ashburn-1
OCI_COMPARTMENT_ID=ocid1.compartment.oc1..aaaaaaaa... (optional)4. VS Code Integration
Add to your VS Code settings.json:
{
"mcp.servers": {
"oci-mcp-server": {
"command": "node",
"args": ["/path/to/oci-mcp-server/dist/simple-index.js"],
"env": {
"OCI_TENANCY_ID": "your-tenancy-id",
"OCI_USER_ID": "your-user-id",
"OCI_KEY_FINGERPRINT": "your-key-fingerprint",
"OCI_PRIVATE_KEY_PATH": "/path/to/your/oci_api_key.pem",
"OCI_REGION": "us-ashburn-1"
}
}
}
}Usage Examples
List Compute Instances
{
"service": "compute",
"action": "list",
"resourceType": "instances",
"compartmentId": "ocid1.compartment.oc1..aaaaaaaa..."
}Get Specific Instance Details
{
"service": "compute",
"action": "get",
"resourceType": "instance",
"resourceId": "ocid1.instance.oc1.iad.aaaaaaaa..."
}Create Object Storage Bucket
{
"service": "storage",
"action": "create",
"resourceType": "bucket",
"parameters": {
"name": "my-new-bucket",
"compartmentId": "ocid1.compartment.oc1..aaaaaaaa..."
}
}List VCNs
{
"service": "network",
"action": "list",
"resourceType": "vcns",
"compartmentId": "ocid1.compartment.oc1..aaaaaaaa..."
}Monitor Database Performance
{
"service": "monitoring",
"action": "list",
"resourceType": "metrics",
"parameters": {
"namespace": "oci_autonomous_database"
}
}OCI Authentication Setup
1. Create API Key Pair
Log into OCI Console
Go to Profile β User Settings β API Keys
Click "Add API Key"
Generate or upload a key pair
Save the private key file securely
2. Required Information
Tenancy OCID: Found in Profile β Tenancy
User OCID: Found in Profile β User Settings
Key Fingerprint: Generated when creating API key
Private Key Path: Location of your .pem file
Region: Your preferred OCI region
Compartment OCID: Optional default compartment
3. Set File Permissions
chmod 600 /path/to/your/oci_api_key.pemAvailable Services & Actions
Services
compute- Compute instances and volumesstorage- Object storage buckets and objectsnetwork- VCNs, subnets, securitydatabase- Database systems and autonomous DBsmonitoring- Alarms, metrics, loggingidentity- Users, groups, policies
Actions
list- List resources of specified typeget- Get details of specific resourcecreate- Create new resourceupdate- Update existing resource (where supported)delete- Delete resource (where supported)start- Start resource (instances, databases)stop- Stop resource (instances, databases)
Resource Types
Compute: instances, volumes, images, shapes
Storage: buckets, objects
Network: vcns, subnets, security-lists, gateways
Database: db-systems, autonomous-databases, backups
Monitoring: alarms, metrics, logs
Identity: users, groups, policies
Development
Project Structure
src/
βββ simple-index.ts # Main MCP server (simplified)
βββ index.ts # Full MCP server (advanced)
βββ types/
β βββ oci.ts # Type definitions
βββ utils/
β βββ oci-client.ts # OCI client management
βββ tools/
βββ compute.ts # Compute management
βββ storage-network.ts # Storage & network
βββ database-analytics.ts # Database & analytics
βββ monitoring-security.ts # Monitoring & securityAvailable Scripts
npm run build- Build the projectnpm run dev- Run in development modenpm run watch- Run with auto-reloadnpm start- Run compiled version
Current Implementation
The server currently provides:
β MCP protocol integration
β OCI credential validation
β VS Code tool interface
β Basic service structure
π§ Full OCI SDK integration (in progress)
Troubleshooting
Common Issues
Authentication Errors
Verify OCI credentials are correct
Check private key file permissions (600)
Ensure user has proper IAM policies
Connection Issues
Verify region is correct
Check network connectivity to OCI
Validate compartment access
VS Code Integration
Ensure MCP extension is installed
Check server configuration in settings.json
Verify file paths are absolute
Error Messages
"OCI credentials not configured"
Set required environment variables
Check .env file or VS Code settings
"Cannot use import statement outside a module"
Ensure package.json has
"type": "module"Verify build completed successfully
Contributing
Fork the repository
Create feature branch
Make changes
Add tests if applicable
Submit pull request
Security
Never commit
.envfiles or private keysUse IAM policies to limit permissions
Regularly rotate API keys
Monitor OCI usage and costs
License
MIT License - see LICENSE file for details
Support
For issues:
Check troubleshooting section
Review OCI documentation
Open GitHub issue
Consult OCI community forums
Available Tools
1 tooloci-manageC
Manage Oracle Cloud Infrastructure resources including compute, storage, networking, databases, and monitoring.
| Name | Required | Description | Default |
|---|---|---|---|
| service | Yes | The OCI service to interact with | |
| action | Yes | The action to perform | |
| resourceType | Yes | The type of resource (e.g., instances, buckets, vcns) | |
| resourceId | No | The OCID of the resource (for specific operations) | |
| compartmentId | No | The compartment OCID (optional, defaults to tenancy) | |
| parameters | No | Additional parameters for the operation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'manage' but doesn't disclose behavioral traits like authentication needs, rate limits, side effects, or error handling. The broad scope suggests complex operations, but no specifics are given, leaving significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the purpose. It's appropriately sized for a high-level tool, though it could be more structured (e.g., breaking down 'manage'). No wasted words, but it's brief given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's high complexity (6 parameters, no annotations, no output schema), the description is incomplete. It doesn't address behavioral aspects, output expectations, or error handling. The schema covers parameters, but the description fails to provide necessary context for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents all parameters well. The description adds no meaning beyond the schemaβit lists service categories but doesn't explain parameter interactions or semantics. Baseline 3 is appropriate as the schema does the heavy lifting, but the description doesn't compensate or enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool manages OCI resources across multiple service categories, which provides a general purpose. However, it's vague about the specific verb ('manage' is broad) and doesn't distinguish from siblings (though none exist, it still lacks specificity). It lists resource types but doesn't clarify what 'manage' entails beyond the schema's action enum.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives is provided. The description implies it's for OCI resource management but offers no context on prerequisites, limitations, or typical scenarios. With no siblings, this is less critical, but still lacks any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
- First observed
oci-manage
TDQS
With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'oci-manage' has a clear, distinct purpose covering multiple OCI resource types.
Since there is only one tool, naming consistency is inherently perfect. The tool name 'oci-manage' follows a clear pattern (prefix_verb) that would be consistent if more tools existed.
A single tool for managing compute, storage, networking, databases, and monitoring in Oracle Cloud Infrastructure is too few for the apparent broad scope. This forces all operations through one interface, which is insufficient for proper agent interaction with such a complex domain.
The tool surface is severely incomplete for the stated purpose. A single 'manage' tool cannot provide the necessary CRUD/lifecycle operations for compute instances, storage volumes, network configurations, databases, and monitoringβthis will cause significant agent failures due to missing specific actions.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Unified API to query AWS, GCP, Azure and generate Terraform/CLI execution kits for AI agents.
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Deploy, monitor, and manage your OpenClaw AI assistants via natural language.
Interact with your Google Cloud Firestore resources using natural language commands.
Related MCP Servers
- FlicenseBqualityCmaintenanceEnables LLMs like Claude to interact directly with Oracle Cloud Infrastructure resources, supporting dynamic profile switching between tenancies and comprehensive management of compute instances, database systems, and OCI resources through natural language.854-
- AlicenseNot gradedqualityDmaintenanceProvides AI agents with secure, natural-language access to Oracle Cloud Infrastructure through 69 tools covering services like compute, storage, networking, and databases. It features deep IAM integration and supports deployment across platforms like Claude Desktop, Cursor, and OCI Generative AI.MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Azure DevOps services including work items, builds, releases, test plans, repositories, and search via natural language commands from a code editor.16MIT
- AlicenseBqualityDmaintenanceEnables plain English queries about VMware vCenter environments including clusters, VMs, datastores, and more, directly from VS Code via GitHub Copilot.33MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/GoCoder7/oci-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server