UNPKG

@jorgeceballos/mcp-server-oci

Version:

Model Context Protocol server for Oracle Cloud Infrastructure

195 lines (135 loc) 5.39 kB
# MCP Oracle Cloud Infrastructure Server Un servidor Model Context Protocol (MCP) para Oracle Cloud Infrastructure que permite listar y gestionar recursos tipo instancias. ## Documentación Este proyecto incluye varios documentos para ayudarte a configurar y utilizar el servidor MCP OCI: - [README.md](README.md) - Este archivo, con información general - [INSTRUCTIONS.md](INSTRUCTIONS.md) - Guía paso a paso detallada para instalar y configurar - [CLAUDE-EXAMPLES.md](CLAUDE-EXAMPLES.md) - Ejemplos de cómo usar el servidor con Claude - [oci-keys-guide.md](oci-keys-guide.md) - Guía para generar claves API para OCI - [oci-config.example](oci-config.example) - Ejemplo de archivo de configuración OCI - [CHANGES.md](CHANGES.md) - Registro de cambios importantes y solución de problemas ## Requisitos previos - Node.js v16 o superior - npm v8 o superior - Oracle Cloud Infrastructure CLI configurado - Oracle Cloud Infrastructure SDK para Node.js - Model Context Protocol SDK (@modelcontextprotocol/sdk) ## Instalación Existen varias formas de instalar este paquete: ### Instalación rápida para Claude Desktop Utiliza el script de instalación automatizado: ```bash npm run install-claude ``` Este script instalará el paquete globalmente y configurará Claude Desktop automáticamente. ### Instalación global Puedes instalar este paquete globalmente: ```bash npm install -g @jocebal/mcp-server-oci ``` O ejecutarlo directamente con npx: ```bash npx -y @jocebal/mcp-server-oci ``` ## Configuración Este servidor utiliza el archivo de configuración estándar de Oracle Cloud CLI, que normalmente se encuentra en `~/.oci/config`. Asegúrate de que este archivo esté configurado correctamente antes de usar este servidor. Ejemplo de un archivo de configuración OCI: ``` [DEFAULT] user=ocid1.user.oc1..aaaaaaaa... fingerprint=11:22:33:44:55:66:77:88:99:00:aa:bb:cc:dd:ee:ff tenancy=ocid1.tenancy.oc1..aaaaaaaa... region=us-ashburn-1 key_file=~/.oci/oci_api_key.pem ``` ## Uso ### Iniciar el servidor Para iniciar el servidor MCP con la configuración por defecto: ```bash npx -y @jocebal/mcp-server-oci ``` Para especificar un perfil OCI diferente: ```bash npx -y @jocebal/mcp-server-oci --profile MY_PROFILE ``` Para especificar un puerto diferente: ```bash npx -y @jocebal/mcp-server-oci --port 3001 ``` ### Integración con Claude Desktop Para usar este servidor con Claude Desktop, añade la siguiente configuración a tu archivo `claude_desktop_config.json`: ```json { "tools": { "oracle-cloud": { "command": "/Users/jocebal/.nvm/versions/node/v22.15.0/bin/npx", "args": [ "-y", "@jocebal/mcp-server-oci", "--profile", "DEFAULT" ], "env": {} } } } ``` El archivo de configuración debe estar ubicado en: - macOS: `/Users/jocebal/Library/Application Support/Claude/claude_desktop_config.json` - Windows: `%APPDATA%\Claude\claude_desktop_config.json` - Linux: `~/.config/Claude/claude_desktop_config.json` ## Herramientas disponibles Este servidor MCP proporciona las siguientes herramientas: 1. `list_compartments` - Lista todos los compartimentos disponibles en tu cuenta de Oracle Cloud Infrastructure. 2. `list_instances` - Lista todas las instancias de cómputo en un compartimento específico. 3. `get_instance` - Obtiene información detallada sobre una instancia específica. 4. `start_instance` - Inicia una instancia detenida. 5. `stop_instance` - Detiene una instancia en ejecución. 6. `restart_instance` - Reinicia una instancia en ejecución. ## Desarrollo ### Estructura del proyecto ``` mcp-oci-server/ ├── src/ │ ├── cli.ts # Punto de entrada para la interfaz de línea de comandos │ ├── oci/ │ │ └── client.ts # Cliente OCI para interactuar con la API de Oracle Cloud │ ├── server/ │ │ └── server.ts # Implementación del servidor MCP │ └── tools/ │ └── oci-tools.ts # Definición de herramientas MCP para OCI ├── package.json ├── tsconfig.json └── README.md ``` ### Compilación Existen varias formas de compilar el proyecto: #### Compilación y empaquetado automatizado Utiliza el script de compilación automatizado: ```bash npm run build-package ``` Este script limpiará, compilará y empaquetará el proyecto, y te preguntará si quieres publicarlo en npm. #### Compilación manual ```bash npm install npm run build ``` ### Ejecutar en modo desarrollo ```bash npm run dev ``` ## Solución de problemas Si encuentras errores durante la instalación o compilación, consulta el archivo [CHANGES.md](CHANGES.md) que contiene información detallada sobre los cambios realizados y cómo resolver problemas comunes. ### Error de autenticación Si recibes errores de autenticación, verifica que: 1. El archivo `~/.oci/config` existe y contiene las credenciales correctas 2. El archivo de clave privada referenciado en el config existe y tiene los permisos correctos 3. Las credenciales en el archivo de configuración son válidas ### Error de conexión Si el servidor no puede conectarse a OCI, verifica que: 1. Tu conexión a internet funciona correctamente 2. La región configurada en tu archivo de configuración OCI es correcta 3. No hay firewalls o proxies bloqueando la conexión ## Licencia MIT