OCI MCP Servers
A collection of MCP servers for managing Oracle Cloud Infrastructure (OCI) resources.
OCI MCP Servers
This repository provides a collection of Multi-tool Control Protocol (MCP) servers for managing Oracle Cloud Infrastructure (OCI) resources. Each server exposes a set of tools for a specific OCI service, such as Autonomous Database (ADB), Compute, Identity, and Networking.
These servers are designed to be integrated into development environments like Cursor to allow natural language-based interaction with your OCI tenancy.
Prerequisites
Before you begin, ensure you have the following:
- Python 3.9 or higher.
- An Oracle Cloud Infrastructure account.
- A configured OCI CLI profile. The scripts default to using the
[DEFAULT]profile located in~/.oci/config.
Installation
-
Clone the repository:
git clone https://github.com/shjanjua/OCI-MCP-Servers cd ocimcp -
Create and activate a virtual environment (recommended):
python -m venv .venv source .venv/bin/activate # On Windows, use: .venv\Scripts\activate -
Install the required dependencies: Each service has its own
requirements.txt, but they are all the same.pip install -r compute/requirements.txt
Usage in Cursor
You can integrate these tools directly into the Cursor IDE, allowing the AI to use them to perform actions in your OCI tenancy. There are two methods for this: stdio and streamable-http.
Method 1: Standard I/O (stdio)
This method is the simplest, where Cursor manages the lifecycle of the server process. You configure Cursor to run the server_stdio.py script for each service.
Cursor JSON Configuration (~/.cursor/mcp.json):
To configure a server, add the following to your mcpServers object in Cursor's settings.
{
"mcpServers": {
"adb-stdio": {
"command": "/path/to/your/.venv/bin/python",
"args": ["-u", "/path/to/your/ocimcp/adb/server_stdio.py"]
},
"compute-stdio": {
"command": "/path/to/your/.venv/bin/python",
"args": ["-u", "/path/to/your/ocimcp/compute/server_stdio.py"]
},
"identity-stdio": {
"command": "/path/to/your/.venv/bin/python",
"args": ["-u", "/path/to/your/ocimcp/identity/server_stdio.py"]
},
"network-stdio": {
"command": "/path/to/your/.venv/bin/python",
"args": ["-u", "/path/to/your/ocimcp/network/server_stdio.py"]
}
}
}
Note: Replace /path/to/your/ with the absolute path to your project directory and virtual environment.
Method 2: Streamable HTTP
This method runs each service as a separate, persistent web server. This allows multiple clients to connect simultaneously.
1. Run the Servers:
You must start each server manually in its own terminal window. They are configured to run on different ports to avoid conflicts.
- Terminal 1 (ADB):
python adb/server.py - Terminal 2 (Compute):
python compute/server.py - Terminal 3 (Identity):
Terminal 4 (Network):python identity/server.pypython network/server.py
2. Cursor JSON Configuration (~/.cursor/mcp.json):
Add the following configuration to your mcpServers object. This tells Cursor where to find the running MCP servers.
{
"mcpServers": {
"adb": {
"url": "http://0.0.0.0:8000/mcp"
},
"compute": {
"url": "http://0.0.0.0:8001/mcp"
},
"identity": {
"url": "http://0.0.0.0:8002/mcp"
},
"network": {
"url": "http://0.0.0.0:8003/mcp"
}
}
}
Servidores relacionados
Stripe
Interact with Stripe API
Modal
Deploy Python scripts to Modal, a serverless platform for running code in the cloud.
Remote MCP Server (Authless)
An authentication-free, remote MCP server designed for deployment on Cloudflare Workers.
Rancher MCP Server
Model Context Protocol (MCP) server for the Rancher ecosystem: multi-cluster Kubernetes, Harvester HCI (VMs, storage, networks), and Fleet GitOps.
Gravatar
Interact with Gravatar avatars, profiles, and inferred interests.
Namecheap
Manage domains using the Namecheap API.
MCP Remote with Okta/Adobe IMS Authentication
A remote MCP server that uses Adobe IMS/Okta for authentication.
Remote MCP Server (Authless)
A remote MCP server deployable on Cloudflare Workers, operating without authentication.
CData ShipStation
A read-only MCP server by CData for querying live ShipStation data, enabling LLMs to access shipping and order information.
Kubernetes
Interact with Kubernetes clusters using natural language to manage and query resources.