OCI MCP Servers

Una colección de servidores MCP para gestionar recursos de Oracle Cloud Infrastructure (OCI).

Documentación

Servidores MCP de OCI

Este repositorio proporciona una colección de servidores de Protocolo de Control de Múltiples Herramientas (MCP) para gestionar recursos de Oracle Cloud Infrastructure (OCI). Cada servidor expone un conjunto de herramientas para un servicio específico de OCI, como Autonomous Database (ADB), Compute, Identity y Networking.

Estos servidores están diseñados para integrarse en entornos de desarrollo como Cursor para permitir la interacción basada en lenguaje natural con su tenancy de OCI.

Requisitos previos

Antes de comenzar, asegúrese de tener lo siguiente:

  • Python 3.9 o superior.
  • Una cuenta de Oracle Cloud Infrastructure.
  • Un perfil de OCI CLI configurado. Los scripts utilizan por defecto el perfil [DEFAULT] ubicado en ~/.oci/config.

Instalación

  1. Clonar el repositorio:

    git clone https://github.com/shjanjua/OCI-MCP-Servers
    cd ocimcp
    
  2. Crear y activar un entorno virtual (recomendado):

    python -m venv .venv
    source .venv/bin/activate
    # On Windows, use: .venv\Scripts\activate
    
  3. Instalar las dependencias requeridas: Cada servicio tiene su propio requirements.txt, pero todos son iguales.

    pip install -r compute/requirements.txt
    

Uso en Cursor

Puede integrar estas herramientas directamente en el IDE de Cursor, permitiendo que la IA las utilice para realizar acciones en su tenancy de OCI. Existen dos métodos para esto: stdio y streamable-http.

Método 1: Entrada/Salida estándar (stdio)

Este método es el más sencillo, donde Cursor gestiona el ciclo de vida del proceso del servidor. Usted configura Cursor para ejecutar el script server_stdio.py para cada servicio.

Configuración JSON de Cursor (~/.cursor/mcp.json):

Para configurar un servidor, agregue lo siguiente a su objeto mcpServers en la configuración de Cursor.

{
  "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"]
    }
  }
}

Nota: Reemplace /path/to/your/ con la ruta absoluta a su directorio de proyecto y entorno virtual.


Método 2: HTTP transmisible (Streamable HTTP)

Este método ejecuta cada servicio como un servidor web separado y persistente. Esto permite que múltiples clientes se conecten simultáneamente.

1. Ejecutar los servidores:

Debe iniciar cada servidor manualmente en su propia ventana de terminal. Están configurados para ejecutarse en diferentes puertos para evitar conflictos.

  • Terminal 1 (ADB):
    python adb/server.py
    
  • Terminal 2 (Compute):
    python compute/server.py
    
  • Terminal 3 (Identity):
    python identity/server.py
    
    Terminal 4 (Network):
    python network/server.py
    

2. Configuración JSON de Cursor (~/.cursor/mcp.json):

Agregue la siguiente configuración a su objeto mcpServers. Esto le indica a Cursor dónde encontrar los servidores MCP en ejecución.

{
  "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"
    }
  }
}