MCP Server for Oracle Cloud Infrastructure (OCI)

Servidor do Model Context Protocol (MCP) para Oracle Cloud Infrastructure, permitindo que LLMs como Claude interajam diretamente com recursos da OCI

Documentação

MCP Server for Oracle Cloud Infrastructure (OCI)

Este projeto implementa um servidor Model Context Protocol (MCP) para Oracle Cloud Infrastructure, permitindo que LLMs como Claude interajam diretamente com recursos OCI.

presentation

Recursos

  • Seleção Dinâmica de Perfil: Alterne entre perfis/tenancies OCI sem reiniciar o servidor
  • Conexão com Oracle Cloud usando configuração padrão do OCI CLI
  • 95 ferramentas abrangentes para listar e gerenciar recursos OCI em mais de 11 categorias de serviços
  • Gerenciamento do ciclo de vida de instâncias (iniciar, parar)
  • Gerenciamento de Database Systems e DB Nodes
  • Exadata Cloud Service (Cloud Exadata Infrastructure, VM Clusters, Data Guard, backups, execuções de manutenção)
  • Gerenciamento de clusters e node pools do Container Engine for Kubernetes (OKE)
  • Integração com o protocolo MCP para facilitar o acesso pelo Claude Desktop

Pré-requisitos

  • Python 3.10 ou superior
  • OCI CLI configurado (oci setup config)
  • Permissões apropriadas na Oracle Cloud

Instalação

Clone este repositório

pip install git+https://github.com/modelcontextprotocol/python-sdk.git
pip install oci fastapi uvicorn click pydantic loguru
pip install -e .

Uso

Iniciando o Servidor

Opção 1: Seleção Dinâmica de Perfil (Recomendada)

Inicie sem um perfil e selecione-o em tempo de execução:

python -m mcp_server_oci.mcp_server

Em seguida, use as ferramentas MCP para gerenciar perfis:

  • list_oci_profiles - Veja os perfis disponíveis em ~/.oci/config
  • set_oci_profile - Ative um perfil específico
  • get_current_oci_profile - Verifique qual perfil está ativo

Opção 2: Com Perfil Padrão

Inicie com um perfil específico pré-carregado:

python -m mcp_server_oci.mcp_server --profile DEFAULT

Com uv:

uv --directory /path/to/mcp-server-oci run python -m mcp_server_oci.mcp_server --profile DEFAULT

Alternando Entre Tenancies

Você pode alternar entre diferentes tenancies OCI sem reiniciar:

# In your MCP client (e.g., Claude):
# 1. List available profiles
"Show me available OCI profiles"

# 2. Switch to a different tenancy
"Switch to the 'production' OCI profile"

# 3. Verify current profile
"What OCI profile am I using?"

Configuração para Claude Desktop (MacOS)

Adicione esta configuração ao seu arquivo: /Users/<usuario>/Library/Application Support/Claude/claude_desktop_config.json

Com seleção dinâmica de perfil (recomendada):

"mcpServers": {
  "mcp-server-oci": {
    "command": "python",
    "args": [
      "-m",
      "mcp_server_oci.mcp_server"
    ],
    "env": {
      "PYTHONPATH": "/<PATH_TO_MCP>/mcp-server-oci",
      "FASTMCP_LOG_LEVEL": "INFO"
    }
  }
}

Com perfil fixo:

"mcpServers": {
  "mcp-server-oci": {
    "command": "python",
    "args": [
      "-m",
      "mcp_server_oci.mcp_server",
      "--profile", "DEFAULT"
    ],
    "env": {
      "PYTHONPATH": "/<PATH_TO_MCP>/mcp-server-oci",
      "FASTMCP_LOG_LEVEL": "INFO"
    }
  }
}

Com uv e perfis dinâmicos:

"mcpServers": {
  "mcp-server-oci": {
    "command": "uv",
    "args": [
      "--directory",
      "/<PATH_TO_MCP>/mcp-server-oci",
      "run",
      "python",
      "-m",
      "mcp_server_oci.mcp_server"
    ],
    "env": {
      "FASTMCP_LOG_LEVEL": "INFO"
    }
  }
}

📋 Ferramentas MCP Disponíveis

Gerenciamento de Perfis 🆕

  • list_oci_profiles - Liste todos os perfis OCI disponíveis em ~/.oci/config
  • set_oci_profile - Ative um perfil específico para chamadas de API
  • get_current_oci_profile - Mostre o perfil atualmente ativo

Gerenciamento de Identidade e Acesso 🆕

Compartimentos

  • list_compartments - Liste todos os compartimentos acessíveis a você

Usuários

  • list_users - Liste todos os usuários IAM em um compartimento com capacidades e status MFA
  • get_user - Obtenha informações detalhadas do usuário, incluindo associações a grupos

Grupos

  • list_groups - Liste todos os grupos IAM em um compartimento com contagem de membros
  • get_group - Obtenha informações detalhadas do grupo, incluindo membros

Políticas

  • list_policies - Liste todas as políticas IAM em um compartimento com declarações
  • get_policy - Obtenha informações detalhadas da política com todas as declarações de política

Grupos Dinâmicos

  • list_dynamic_groups - Liste todos os grupos dinâmicos com regras de correspondência
  • get_dynamic_group - Obtenha informações detalhadas do grupo dinâmico com regras de instance principal

Recursos de Computação

  • list_instances - Liste instâncias de máquina virtual em um compartimento
  • get_instance - Obtenha informações detalhadas sobre uma instância específica
  • start_instance - Inicie uma instância parada
  • stop_instance - Pare uma instância em execução (suporta parada suave/forçada)

Bancos de Dados 🔥

DB Systems

  • list_db_systems - Liste DB Systems em um compartimento
  • get_db_system - Obtenha informações detalhadas do DB System
  • list_db_nodes - Liste DB Nodes em um compartimento (opcionalmente filtrados por DB System)
  • get_db_node - Obtenha informações detalhadas do DB Node
  • start_db_node - Inicie um DB Node parado
  • stop_db_node - Pare um DB Node em execução (parada suave ou forçada)
  • reboot_db_node - Reinicie um DB Node
  • reset_db_node - Redefina (reinicialização forçada) um DB Node
  • softreset_db_node - Redefinição suave (reinicialização graciosa) de um DB Node
  • start_db_system - Inicie todos os nós de um DB System
  • stop_db_system - Pare todos os nós de um DB System

Bancos de Dados Regulares 🆕

  • list_databases - Liste bancos de dados em um compartimento (opcionalmente filtrados por DB System)
  • get_database - Obtenha informações detalhadas do banco de dados, incluindo strings de conexão e nome do PDB

Bancos de Dados Autônomos 🆕

  • list_autonomous_databases - Liste Bancos de Dados Autônomos com tipo de workload e informações de conexão
  • get_autonomous_database - Obtenha informações detalhadas do ADB, incluindo informações de wallet e configurações de auto-scaling

Exadata Cloud Service 🆕

  • list_cloud_exadata_infrastructures - Liste Cloud Exadata Infrastructures (hardware de frota) em um compartimento
  • get_cloud_exadata_infrastructure - Obtenha detalhes da infraestrutura: shape, CPU-memória-armazenamento ativados/máximos, janelas de manutenção
  • list_cloud_vm_clusters - Liste Cloud VM Clusters (Exadata Cloud Service RAC)
  • get_cloud_vm_cluster - Obtenha detalhes do VM cluster: nós RAC, SCAN DNS/VIPs, versões de GI/sistema, subnets, NSGs
  • list_cloud_autonomous_vm_clusters - Liste Cloud Autonomous VM Clusters (Exadata para Autonomous DB)

Data Guard 🆕

  • list_data_guard_associations - Liste associações DG para um banco de dados (consulta no OCID do DB primário)
  • get_data_guard_association - Obtenha uma associação DG específica: função, função do peer, lag/taxa de aplicação, modo de proteção

Backups e Manutenção 🆕

  • list_backups - Liste backups de banco de dados por compartimento ou banco de dados
  • list_maintenance_runs - Liste execuções de manutenção, opcionalmente filtradas por recurso de destino
  • get_maintenance_run - Obtenha detalhes de uma execução de manutenção específica

Rede

Virtual Cloud Networks (VCNs)

  • list_vcns - Liste todas as VCNs em um compartimento com blocos CIDR e informações de DNS
  • get_vcn - Obtenha informações detalhadas da VCN, incluindo blocos CIDR IPv6

Subnets

  • list_subnets - Liste todas as subnets em um compartimento (opcionalmente filtradas por VCN)
  • get_subnet - Obtenha informações detalhadas da subnet com security lists e roteamento

Virtual Network Interface Cards (VNICs)

  • list_vnics - Liste todas as VNICs em um compartimento (opcionalmente filtradas por instância)
  • get_vnic - Obtenha informações detalhadas da VNIC, incluindo endereços IP e associações NSG

Segurança

  • list_security_lists - Liste security lists com regras de entrada/saída (opcionalmente filtradas por VCN)
  • get_security_list - Obtenha a security list detalhada com todas as regras
  • list_network_security_groups - Liste Network Security Groups (NSGs) em um compartimento
  • get_network_security_group - Obtenha informações detalhadas do NSG com todas as regras de segurança

Armazenamento 🆕

Object Storage

  • get_namespace - Obtenha o namespace do Object Storage para a tenancy
  • list_buckets - Liste todos os buckets do Object Storage em um compartimento
  • get_bucket - Obtenha informações detalhadas do bucket, incluindo configurações de acesso público e versionamento

Block Storage

  • list_volumes - Liste todos os volumes do Block Storage em um compartimento
  • get_volume - Obtenha informações detalhadas do volume, incluindo tamanho, nível de desempenho e política de backup
  • list_boot_volumes - Liste todos os boot volumes em um compartimento (opcionalmente filtrados por AD)
  • get_boot_volume - Obtenha informações detalhadas do boot volume, incluindo imagem de origem

File Storage

  • list_file_systems - Liste todos os file systems do File Storage em um compartimento e AD
  • get_file_system - Obtenha informações detalhadas do file system, incluindo bytes medidos e snapshots

Load Balancers 🆕

Classic Load Balancers

  • list_load_balancers - Liste todos os classic load balancers em um compartimento
  • get_load_balancer - Obtenha informações detalhadas do load balancer, incluindo backend sets, listeners e certificados

Network Load Balancers

  • list_network_load_balancers - Liste todos os network load balancers em um compartimento
  • get_network_load_balancer - Obtenha informações detalhadas do network load balancer, incluindo backend sets e listeners

Utilitários de Infraestrutura 🆕

Availability e Fault Domains

  • list_availability_domains - Liste todos os availability domains em um compartimento
  • list_fault_domains - Liste todos os fault domains em um availability domain

Compute Images

  • list_images - Liste todas as compute images com SO, versão e tamanho
  • get_image - Obtenha informações detalhadas da imagem, incluindo opções de inicialização

Compute Shapes

  • list_shapes - Liste todos os compute shapes com especificações de CPU, memória, rede e GPU

Regiões e Tenancy

  • list_regions - Liste todas as regiões OCI disponíveis
  • get_tenancy_info - Obtenha detalhes da tenancy, incluindo nome e home region

Segurança e Criptografia 🆕

KMS Vaults

  • list_vaults - Liste todos os KMS vaults em um compartimento
  • get_vault - Obtenha informações detalhadas do vault, incluindo endpoints de criptografia e gerenciamento

Chaves de Criptografia

  • list_keys - Liste todas as chaves de criptografia no compartimento de um vault
  • get_key - Obtenha informações detalhadas da chave, incluindo algoritmo, shape e versões

Gerenciamento de Custos 🆕

Análise de Uso e Custos

  • get_cost_usage_summary - Obtenha resumo de custos e uso de uma tenancy com granularidade diária ou mensal
  • get_cost_by_service - Obtenha detalhamento de custos por serviço para um período especificado
  • get_cost_by_compartment - Obtenha detalhamento de custos por compartimento para um período especificado

Orçamentos

  • list_budgets - Liste todos os orçamentos com valor, gasto real e gasto previsto
  • get_budget - Obtenha informações detalhadas do orçamento, incluindo alvos e regras de alerta

Monitoramento e Observabilidade 🆕

Alarmes

  • list_alarms - Liste todos os alarmes com consulta, severidade e destinos
  • get_alarm - Obtenha informações detalhadas do alarme, incluindo limites e configurações de notificação
  • get_alarm_history - Obtenha histórico de estado do alarme com timestamps e transições de estado

Métricas

  • list_metrics - Liste métricas disponíveis com namespaces e dimensões
  • query_metric_data - Consulte dados de métricas para um intervalo de tempo usando MQL

Logs

  • search_logs - Pesquise logs usando a Logging Search API
  • list_log_groups - Liste todos os log groups em um compartimento
  • list_logs - Liste todos os logs em um log group com tipos e retenção

Container Engine for Kubernetes (OKE) 🆕

Clusters

  • list_oke_clusters - Liste todos os clusters OKE com versão do Kubernetes e endpoints
  • get_oke_cluster - Obtenha informações detalhadas do cluster, incluindo configuração de rede, add-ons e upgrades disponíveis
  • get_oke_cluster_kubeconfig - Obtenha o conteúdo do arquivo kubeconfig para acesso via kubectl

Node Pools

  • list_oke_node_pools - Liste node pools com shape, imagem e configuração de posicionamento
  • get_oke_node_pool - Obtenha informações detalhadas do node pool, incluindo nós individuais, configurações de eviction e detalhes de cycling

Work Requests

  • list_oke_work_requests - Liste operações assíncronas (criar, atualizar, excluir) para recursos OKE
  • get_oke_work_request - Obtenha status e progresso detalhados do work request

💡 Exemplos de Uso

Gerenciamento de Perfis

# From Claude or any MCP client:

# List available profiles
"Show me all available OCI profiles"

# Activate a specific profile
"Set the OCI profile to 'production'"

# Check current profile
"What OCI profile am I currently using?"

# Switch between tenancies
"Switch to the DEFAULT profile"

Gerenciamento de Identidade e Acesso 🆕

# Users
"List all IAM users in my tenancy"
"Show me details for user ocid1.user.oc1..."
"Does this user have MFA enabled?"
"What groups is this user a member of?"

# Groups
"List all IAM groups in compartment X"
"Show me members of group 'Administrators'"
"Get details for group ocid1.group.oc1..."

# Policies
"List all IAM policies in the root compartment"
"Show me policy statements for 'network-admins-policy'"
"What permissions does this policy grant?"
"Get details for policy ocid1.policy.oc1..."

# Dynamic Groups
"List all dynamic groups in my tenancy"
"Show me matching rules for dynamic group 'instance-principals'"
"What instances match this dynamic group?"
"Get details for dynamic group ocid1.dynamicgroup.oc1..."

# Security auditing
"Which users have admin access?"
"Show me all policies that grant object storage access"
"What dynamic groups allow instance principals?"

Gerenciamento de Instâncias de Computação

# List instances
"Show me all compute instances in compartment ocid1.compartment.oc1..."

# Get instance details
"Get details for instance ocid1.instance.oc1..."

# Start/stop instances
"Start the instance ocid1.instance.oc1..."
"Stop the instance ocid1.instance.oc1... with force stop"

Gerenciamento de Banco de Dados

# DB Systems
"Show me all DB Systems in compartment ocid1.compartment.oc1..."
"Get details for DB System ocid1.dbsystem.oc1..."

# DB Nodes management
"List all DB Nodes for DB System ocid1.dbsystem.oc1..."
"Start DB Node ocid1.dbnode.oc1..."
"Stop all nodes of DB System ocid1.dbsystem.oc1..."
"Reboot DB Node ocid1.dbnode.oc1..."
"Soft reset DB Node ocid1.dbnode.oc1..."

# Regular Databases 🆕
"List all databases in compartment X"
"Show me databases in DB System Y"
"Get connection strings for database ocid1.database.oc1..."
"What is the character set and PDB name of this database?"

# Autonomous Databases 🆕
"List all Autonomous Databases in compartment Z"
"Show me details for ADB ocid1.autonomousdatabase.oc1..."
"What workload type is this Autonomous Database?"
"Get connection strings and wallet info for this ADB"
"Is auto-scaling enabled on this Autonomous Database?"

Gerenciamento de Rede

# VCN operations
"List all VCNs in compartment ocid1.compartment.oc1..."
"Show me details for VCN ocid1.vcn.oc1..."

# Subnet operations
"List all subnets in VCN ocid1.vcn.oc1..."
"Get details for subnet ocid1.subnet.oc1..."

# Security operations
"Show me all security lists in compartment X"
"List all network security groups in VCN Y"
"Get security rules for security list ocid1.securitylist.oc1..."

# VNIC operations
"List all VNICs for instance ocid1.instance.oc1..."
"Show me details for VNIC ocid1.vnic.oc1..."

Gerenciamento de Armazenamento 🆕

# Object Storage operations
"What is my Object Storage namespace?"
"List all buckets in compartment X"
"Show me details for bucket 'my-data-bucket'"
"Is bucket 'public-bucket' publicly accessible?"

# Block Storage operations
"List all volumes in compartment Y"
"Show me details for volume ocid1.volume.oc1..."
"List all boot volumes in compartment Z"
"What is the size and performance tier of this volume?"

# File Storage operations
"List all file systems in compartment W and AD-1"
"Show me details for file system ocid1.filesystem.oc1..."
"How many bytes is this file system using?"

Gerenciamento de Load Balancer 🆕

# Classic Load Balancers
"List all load balancers in compartment X"
"Show me details for load balancer ocid1.loadbalancer.oc1..."
"What backend sets and listeners does this load balancer have?"
"Show me health check configuration for this load balancer"

# Network Load Balancers
"List all network load balancers in compartment Y"
"Show me details for network load balancer ocid1.networkloadbalancer.oc1..."
"What is the backend configuration for this NLB?"
"Is source IP preservation enabled on this network load balancer?"

# Load balancer analysis
"Show me all load balancers and their IP addresses"
"Which load balancers are private vs public?"

Utilitários de Infraestrutura 🆕

# Availability and Fault Domains
"List all availability domains in my tenancy"
"Show me fault domains in availability domain AD-1"
"What availability domains are available in region us-ashburn-1?"

# Compute Images
"List all compute images in compartment X"
"Show me details for image ocid1.image.oc1..."
"What Oracle Linux images are available?"
"What is the size and OS version of this image?"

# Compute Shapes
"List all compute shapes available in compartment Y"
"What shapes support GPU?"
"Show me flexible shapes with configurable OCPUs"
"What is the memory and network bandwidth for shape VM.Standard.E4.Flex?"

# Regions and Tenancy
"List all available OCI regions"
"What is my tenancy name and home region?"
"Show me tenancy information"

Segurança e Criptografia 🆕

# KMS Vaults
"List all vaults in compartment X"
"Show me details for vault ocid1.vault.oc1..."
"What is the management endpoint for this vault?"
"Is this vault primary or replica?"

# Encryption Keys
"List all encryption keys in vault Y"
"Show me details for key ocid1.key.oc1..."
"What algorithm and protection mode does this key use?"
"What is the current key version?"

# Key management workflow
"First, get vault details to obtain the management_endpoint"
"Then, use that endpoint to list or get keys in that vault"

Gerenciamento de Custos 🆕

# Usage and Cost Analysis
"Show me cost and usage summary for the last 30 days"
"Get cost breakdown by service from 2024-01-01 to 2024-01-31"
"What are my costs by compartment for this month?"
"Show me daily cost summary for my tenancy"

# Cost analysis queries
"Which services are costing the most?"
"What compartment has the highest spend?"
"Show me monthly cost trends"

# Budgets
"List all budgets in compartment X"
"Show me budget details for budget ocid1.budget.oc1..."
"What is my actual spend vs budget?"
"Show me forecasted spend for this budget"
"Which budgets have alert rules configured?"

Monitoramento e Observabilidade 🆕

# Alarms
"List all alarms in compartment X"
"Show me details for alarm ocid1.alarm.oc1..."
"What alarms are currently firing?"
"Show me alarm history for the last 24 hours"
"Which alarms have critical severity?"

# Metrics
"List all available metrics in compartment Y"
"Show me CPU metrics for compute instances"
"Query CpuUtilization for the last hour"
"What metrics are available for namespace oci_computeagent?"

# Logs
"Search logs for errors in the last hour"
"List all log groups in compartment Z"
"Show me logs in log group ocid1.loggroup.oc1..."
"Search for 'ERROR' in application logs"

# Troubleshooting workflows
"Show me all firing alarms and their metric queries"
"Get CPU utilization data for instance X in the last 2 hours"
"Search logs for errors related to database connections"

Container Engine for Kubernetes (OKE) 🆕

# Clusters
"List all OKE clusters in compartment X"
"Show me details for cluster ocid1.cluster.oc1..."
"What Kubernetes version is this cluster running?"
"What upgrades are available for my cluster?"
"Get the kubeconfig for cluster ocid1.cluster.oc1..."
"What are the public and private endpoints for this cluster?"

# Node Pools
"List all node pools in compartment Y"
"Show me node pools for cluster Z"
"Get details for node pool ocid1.nodepool.oc1..."
"What is the shape and size of this node pool?"
"Show me individual nodes in this node pool"
"What is the Kubernetes version of the node pool?"

# Work Requests
"List all OKE work requests in compartment A"
"Show me work requests for cluster B"
"Get details for work request ocid1.clustersworkrequest.oc1..."
"What operations are currently in progress?"
"Show me the status of cluster creation"

# Kubernetes cluster management workflows
"List all clusters and their Kubernetes versions"
"Show me clusters that have available upgrades"
"Get kubeconfig for all clusters in my compartment"
"Which node pools are running outdated Kubernetes versions?"
"Show me all work requests that failed"

Descoberta de Recursos

# List compartments
"List all compartments in my tenancy"

# Cross-resource queries
"Show me all running instances in compartment X"
"List all DB Systems and their current states"
"Show me the complete network topology for compartment X"

🚀 Melhorias Recentes

v1.16 - Ferramentas do Exadata Cloud Service (Mais Recente) 🗄️

  • 10 novas ferramentas: Infraestrutura Exadata na Nuvem, Clusters de VM na Nuvem, Clusters de VM Autônomos na Nuvem, Data Guard, Backups e Execuções de Manutenção
  • Exadata Cloud Service: Listar/obter Infraestruturas Exadata na Nuvem e Clusters de VM na Nuvem com RAC, DNS SCAN e detalhes de versão do GI/sistema
  • Data Guard: Listar/obter associações do Data Guard com função, atraso/taxa de aplicação e modo de proteção
  • Backups e Manutenção: Listar backups por compartimento/banco de dados, listar/obter execuções de manutenção
  • Total de ferramentas MCP aumentou de 85 para 95
  • Correções de bugs: list_compartments agora deriva o OCID do tenancy a partir da configuração em vez de get_user, corrigindo erros 404 para usuários federados/domínio IAM; list_available_profiles agora inclui a seção de perfil [DEFAULT]
  • Adicionados exemplos abrangentes de uso do Exadata Cloud Service no README

v1.15 - Ferramentas do Container Engine for Kubernetes (OKE) ☸️

  • 7 novas ferramentas OKE: Clusters, Pools de Nós e Solicitações de Trabalho
  • Clusters: Listar/obter clusters com versão do Kubernetes, endpoints, configuração de rede e atualizações disponíveis
  • Kubeconfig: Obter conteúdo do arquivo kubeconfig para acesso kubectl aos clusters
  • Pools de Nós: Listar/obter pools de nós com informações detalhadas do nó, configuração de posicionamento e configurações de despejo
  • Solicitações de Trabalho: Rastrear operações assíncronas (criar, atualizar, excluir) para recursos OKE
  • Essencial para gerenciar infraestrutura Kubernetes na OCI
  • Total de ferramentas MCP aumentou de 78 para 85
  • Adicionados exemplos abrangentes de uso do OKE no README

v1.14 - Ferramentas de Monitoramento e Observabilidade 🔍

  • 8 novas ferramentas de monitoramento: Alarmes, Métricas e Logs
  • Alarmes: Listar/obter alarmes com gravidade, histórico de consultas e transições de estado
  • Métricas: Listar métricas, consultar dados de séries temporais com MQL para análise de desempenho
  • Logs: Pesquisar logs, listar grupos de logs e logs para solução de problemas
  • Essencial para monitoramento em tempo real, solução de problemas e resposta a incidentes
  • Total de ferramentas MCP aumentou de 70 para 78
  • Adicionados exemplos abrangentes de monitoramento e observabilidade no README

v1.13 - Ferramentas de Gerenciamento de Custos 💰

  • 5 novas ferramentas de gerenciamento de custos: Análise de Uso/Custos e Orçamentos
  • Análise de Uso: Obter resumos de custos com granularidade diária/mensal
  • Detalhamento de Custos: Analisar custos por serviço ou compartimento para qualquer período
  • Gerenciamento de Orçamentos: Listar/obter orçamentos com gastos reais, gastos previstos e regras de alerta
  • Essencial para otimização de custos, rastreamento de orçamento e governança financeira
  • Total de ferramentas MCP aumentou de 65 para 70
  • Adicionados exemplos abrangentes de gerenciamento de custos no README

v1.12 - Ferramentas de Segurança e Criptografia 🔐

  • 4 novas ferramentas de segurança: Cofres KMS e Chaves de Criptografia
  • Cofres KMS: Listar/obter cofres com endpoints de criptografia e gerenciamento
  • Chaves de Criptografia: Listar/obter chaves com algoritmo, modo de proteção e formato da chave
  • Cobertura KMS completa: Gerenciamento de cofres e descoberta de chaves
  • Criação dinâmica de cliente KMS Management usando endpoints do cofre
  • Total de ferramentas MCP aumentou de 61 para 65
  • Adicionados exemplos abrangentes de segurança e criptografia no README

v1.11 - Utilitários de Infraestrutura 🏗️

  • 7 novas ferramentas de infraestrutura: Domínios de Disponibilidade, Domínios de Falha, Imagens, Formas, Regiões e Tenancy
  • Domínios de Disponibilidade/Falha: Listar ADs e FDs para planejamento de alta disponibilidade
  • Imagens de Computação: Listar/obter imagens com versões de SO e opções de inicialização
  • Formas de Computação: Listar formas com especificações de CPU, memória, rede e GPU
  • Regiões e Tenancy: Listar todas as regiões e obter informações do tenancy
  • Essencial para planejamento de recursos, gerenciamento de capacidade e descoberta de infraestrutura
  • Total de ferramentas MCP aumentou de 54 para 61
  • Adicionados exemplos abrangentes de utilitários de infraestrutura no README

v1.10 - Ferramentas de Balanceador de Carga ⚖️

  • 4 novas ferramentas de balanceador de carga: Balanceadores de Carga Clássicos e Balanceadores de Carga de Rede
  • Balanceadores de Carga Clássicos: Listar/obter LBs com conjuntos de backend, listeners e certificados
  • Balanceadores de Carga de Rede: Listar/obter NLBs com configuração de backend e preservação de IP
  • Cobertura completa de balanceamento de carga: Camada 7 (clássico) e Camada 4 (rede)
  • Total de ferramentas MCP aumentou de 50 para 54
  • Adicionados exemplos abrangentes de balanceador de carga no README

v1.9 - Ferramentas de Identity & Access Management 🔐

  • 8 novas ferramentas IAM: Usuários, Grupos, Políticas, Grupos Dinâmicos
  • Auditoria de segurança: Revisar capacidades de usuário, status MFA e associações de grupo
  • Gerenciamento de políticas: Listar e inspecionar todas as declarações de política IAM
  • Grupos dinâmicos: Visualizar regras de correspondência de principal de instância
  • Essencial para conformidade, auditorias de segurança e solução de problemas de acesso
  • Total de ferramentas MCP aumentou de 42 para 50
  • Adicionados exemplos abrangentes de IAM no README

v1.8 - Ferramentas de Banco de Dados 🗄️

  • 4 novas ferramentas de banco de dados: Bancos de Dados Regulares e Bancos de Dados Autônomos
  • Bancos de Dados Regulares: Listar/obter bancos de dados com strings de conexão e nomes de PDB
  • Bancos de Dados Autônomos: Listar/obter ADB com tipo de carga de trabalho, informações de carteira e auto-escala
  • Cobertura completa do ecossistema de banco de dados: Sistemas de BD, Nós de BD, Bancos de Dados e ADB
  • Total de ferramentas MCP aumentou de 38 para 42
  • Adicionados exemplos abrangentes de banco de dados no README

v1.7 - Ferramentas de Armazenamento 💾

  • 9 novas ferramentas de armazenamento: Object Storage, Block Storage, File Storage
  • Object Storage: Obter namespace, listar/obter buckets com informações de acesso público
  • Block Storage: Listar/obter volumes e volumes de inicialização com níveis de desempenho
  • File Storage: Listar/obter sistemas de arquivos com bytes medidos
  • Total de ferramentas MCP aumentou de 29 para 38
  • Adicionados exemplos abrangentes de armazenamento no README

v1.6 - Ferramentas Abrangentes de Rede 🌐

  • 10 novas ferramentas de rede: VCNs, Subnets, VNICs, Listas de Segurança, NSGs
  • Descoberta de topologia de rede: Visibilidade completa da infraestrutura de rede
  • Auditoria de segurança: Revisar regras de segurança e controles de acesso à rede
  • Solução de problemas de conectividade: Informações de VNIC e roteamento
  • Total de ferramentas MCP aumentou de 19 para 29
  • Adicionados exemplos abrangentes de rede no README

v1.5 - Seleção Dinâmica de Perfil 🔥

  • Suporte a multi-tenancy: Alternar entre perfis OCI sem reiniciar
  • Novas ferramentas MCP: list_oci_profiles, set_oci_profile, get_current_oci_profile
  • Validação de requisito de perfil em todas as ferramentas OCI
  • Argumento opcional --profile (inicialização preguiçosa)
  • Documentação completa em DYNAMIC_PROFILE_SELECTION.md
  • README atualizado com listagem precisa de ferramentas

v1.4 - Configuração Centralizada

  • Criado config.py centralizado com todas as constantes de configuração
  • Eliminados números mágicos em todo o código
  • Melhorada a manutenibilidade e descoberta de valores de configuração

v1.3 - Operações Assíncronas

  • Removidas todas as chamadas bloqueantes time.sleep()
  • Tornadas todas as operações verdadeiramente assíncronas
  • Melhorada a capacidade de resposta do servidor

v1.2 - Tratamento de Erros Padronizado

  • Implementado Padrão Híbrido de Tratamento de Erros
  • Erros técnicos → levantar exceções
  • Estados de negócio → retornar dicionários de sucesso
  • Documentação abrangente em ERROR_HANDLING_PATTERN.md

v1.1 - Princípio DRY

  • Criado decorador mcp_tool_wrapper
  • Eliminadas ~150 linhas de código repetitivo
  • Tratamento de erros e registro consistente em todas as ferramentas

v1.0 - Limpeza de Código

  • Removidos arquivos não utilizados/obsoletos
  • Limpo código comentado
  • Estabelecida linha de base limpa

📚 Documentação

🤝 Contribuindo

Contribuições são bem-vindas! O código segue estes padrões:

  • Tratamento de erros híbrido (levantar para erros técnicos, retornar dict para estados de negócio)
  • Operações assíncronas (sem chamadas bloqueantes)
  • Configuração centralizada (constantes em config.py)
  • Princípio DRY (usar decoradores para padrões comuns)

📝 Licença

[Adicione sua licença aqui]