mcp-oci
Servidor MCP para Oracle Cloud (OCI): descubrimiento de recursos en vivo, mapeo de dependencias y generación de Terraform; solo lectura por defecto con redacción de secretos.
Documentación
mcp-oci
Un servidor de Model Context Protocol para Oracle Cloud Infrastructure (OCI). Proporciona a un cliente compatible con MCP (Claude Desktop, Claude Code, Cursor, Copilot, …) la capacidad de descubrir recursos OCI en vivo, mapear cómo se relacionan y generar Terraform reproducible — con el comportamiento controlado completamente mediante banderas.
Piénsalo como un Playwright-MCP para tu nube: en lugar de reconstruir el conocimiento de la infraestructura manualmente, el modelo puede preguntar "muestra todas las VCN en el compartimento de producción" y "genera Terraform para este compartimento" y obtener respuestas estructuradas y sin secretos.
Características
- Descubrimiento en vivo — compartimentos, regiones y cualquier recurso mediante OCI Resource Search.
- Generación de Terraform — HCL fiel para tipos conocidos (VCN, subred, instancia, bucket, compartimento) y esqueletos anotados para el resto; módulos de compartimento completo con variables de proveedor.
- Grafo de dependencias — nodos/aristas más un orden de aprovisionamiento sugerido (dependencias primero).
- Los secretos nunca llegan al modelo — cada carga útil se redacta antes de devolverse.
- Banderas de seguridad — modos de acceso, listas permitidas de compartimentos/regiones, compuerta de aprovisionamiento, modo de prueba y registro de auditoría JSON (ver más abajo).
- Autenticación estándar — archivo de configuración OCI (
~/.oci/config) o principales de instancia. El servidor no almacena credenciales.
Modelo de seguridad
| Preocupación | Bandera | Predeterminado | Efecto |
|---|---|---|---|
| ¿Qué puede hacer el servidor? | OCI_MODE | read-only | Todas las herramientas incluidas son de solo lectura. read-write/admin están reservadas para aprovisionamiento futuro y actualmente no exponen herramientas adicionales. |
| ¿Qué compartimentos están en alcance? | OCI_COMPARTMENT_ALLOWLIST | (todos) | Cuando se establece, se rechazan operaciones en otros compartimentos. |
| ¿Qué regiones son accesibles? | OCI_REGION_ALLOWLIST | (región configurada) | Cuando se establece, solo estas regiones pueden ser objetivo. |
¿Puede ejecutar terraform apply? | OCI_ALLOW_APPLY | false | Compuerta reservada para aprovisionamiento (aún no publicado). |
| Vista previa sin ejecutar | OCI_DRY_RUN | false | Para futuras herramientas de escritura: validar + registrar intención sin ejecutar. |
| Rastro de auditoría | OCI_AUDIT_LOG | true | Emite una línea JSON a stderr por operación protegida. |
| Redacción de secretos | (siempre activa) | — | Los campos con forma de secreto se reemplazan con ***REDACTED*** antes de devolver cualquier resultado. |
Herramientas
Descubrimiento (lectura): list_compartments, list_regions, search_resources, list_compartment_resources, get_resource
Terraform (lectura): generate_terraform, generate_compartment_terraform, build_dependency_graph
Inicio rápido — añade a tu agente
Publicado en npm como @dockndevai/mcp-oci. No se necesita clonar ni compilar — tu cliente MCP lo ejecuta bajo demanda con npx. Comienza en modo read-only; consulta .env.example para cada variable y docs/CLIENTS.md para la guía completa por cliente.
Claude Code (CLI)
claude mcp add oci -e OCI_PROFILE="DEFAULT" -e OCI_MODE="read-only" -- npx -y @dockndevai/mcp-oci
Claude Desktop · Cursor · Windsurf — mismo bloque en claude_desktop_config.json, .cursor/mcp.json o ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"oci": {
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-oci"
],
"env": {
"OCI_PROFILE": "DEFAULT",
"OCI_MODE": "read-only"
}
}
}
}
OpenAI Codex CLI — en ~/.codex/config.toml:
[mcp_servers.oci]
command = "npx"
args = ["-y", "@dockndevai/mcp-oci"]
env = { OCI_PROFILE = "DEFAULT", OCI_MODE = "read-only" }
VS Code (GitHub Copilot, modo Agente) — en .vscode/mcp.json:
{
"servers": {
"oci": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-oci"
],
"env": {
"OCI_PROFILE": "DEFAULT",
"OCI_MODE": "read-only"
}
}
}
}
Configurar
Apúntalo a un perfil de configuración OCI estándar. Por seguridad, usa un usuario/política de IAM con permisos de solo lectura (inspect/read) en los compartimentos que quieras que el agente vea.
Ejemplos de indicaciones
- "Lista todos los compartimentos, luego muestra cada recurso en el compartimento
prod." - "Genera Terraform para la VCN
ocid1.vcn.oc1..…." - "Construye un grafo de dependencias para el compartimento
…y dime el orden de aprovisionamiento."
Ejecutar desde el código fuente (desarrollo)
Prefiere el paquete publicado anteriormente. Para ejecutar desde un clon:
npm install
npm run build
node dist/index.js # with the environment variables set
Desarrollar
npm run dev # watch mode
npm test # security policy + terraform generation + graph + redaction
npm run typecheck
Hoja de ruta
- Ejecución de
terraform plan/applydetrás deread-write/admin+OCI_ALLOW_APPLY. - Más mapeadores de tipos de recursos (balanceadores de carga, bases de datos, DRGs, políticas de IAM).
- Comparación de deriva entre entornos.
Publicación
Este servidor incluye un server.json para el registro oficial de MCP y un mcpName para la validación de propiedad de npm. Consulta PUBLISHING.md para publicar en npm y listar en el registro de MCP, Smithery, Glama, Cursor y PulseMCP.
Licencia
MIT