Mcp Server For Oracle Cloud Infrastructure (oci) について
このMCPサーバーは、LLMからOracle Cloud Infrastructureのリソースを操作できるようにします。OCI基盤の確認や管理を行う運用担当者向けで、実行中のプロファイル切り替えや、データベース、ネットワーク、OKEなどに対応しています。
主な機能
- 01OCIプロファイルの実行時切り替え
- 02コンピュートリソースの確認と管理
- 03データベースとExadataの管理
- 04ネットワークとストレージの確認
- 05コスト、アラーム、メトリクス、ログの確認
- 06OKEクラスターとノードプールの管理
活用シーン
- 01OCIテナンシー間の切り替え
- 02コンピュートやデータベースの起動と確認
- 03クラウドコストと予算の確認
- 04OKEクラスターとノードプールの調査
MCP 対応
OCIリソース管理ツールをMCPクライアントに公開します。プロファイル選択と複数のOCIサービスカテゴリの操作に対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Oracle Cloud Infrastructure(OCI)用 MCP サーバー
このプロジェクトは、Oracle Cloud Infrastructure 用の Model Context Protocol(MCP)サーバーを実装し、Claude などの LLM が OCI リソースと直接やり取りできるようにします。

特長
- 動的なプロファイル選択:サーバーを再起動せずに、OCI プロファイル/テナンシーを切り替えられます
- 標準の OCI CLI 設定を使用して Oracle Cloud に接続します
- 95 種類の包括的なツールで、11 以上のサービスカテゴリにわたる OCI リソースの一覧表示と管理ができます
- インスタンスのライフサイクル管理(起動、停止)
- データベースシステムと DB ノードの管理
- Exadata Cloud Service(Cloud Exadata Infrastructure、VM クラスター、Data Guard、バックアップ、メンテナンス実行)
- **Container Engine for Kubernetes(OKE)**のクラスターとノードプールの管理
- MCP プロトコルとの統合により、Claude Desktop からアクセスできます
前提条件
- Python 3.10 以降
- OCI CLI の設定(
oci setup config) - Oracle Cloud での適切な権限
インストール
このリポジトリをクローンします
pip install git+https://github.com/modelcontextprotocol/python-sdk.git
pip install oci fastapi uvicorn click pydantic loguru
pip install -e .
使用方法
サーバーの起動
オプション 1:動的なプロファイル選択(推奨)
プロファイルを指定せずに起動し、実行時に選択します:
python -m mcp_server_oci.mcp_server
次に、MCP ツールを使用してプロファイルを管理します:
list_oci_profiles- ~/.oci/config で利用可能なプロファイルを確認しますset_oci_profile- 特定のプロファイルを有効にしますget_current_oci_profile- 現在有効なプロファイルを確認します
オプション 2:デフォルトプロファイルを使用
特定のプロファイルをあらかじめ読み込んで起動します:
python -m mcp_server_oci.mcp_server --profile DEFAULT
uv を使用する場合:
uv --directory /path/to/mcp-server-oci run python -m mcp_server_oci.mcp_server --profile DEFAULT
テナンシー間の切り替え
サーバーを再起動せずに、異なる OCI テナンシー間を切り替えられます:
# 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?"
Claude Desktop の設定(MacOS)
次の設定をファイルに追加します:
/Users/<usuario>/Library/Application Support/Claude/claude_desktop_config.json
動的なプロファイル選択を使用する場合(推奨):
"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"
}
}
}
固定プロファイルを使用する場合:
"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"
}
}
}
uv と動的プロファイルを使用する場合:
"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"
}
}
}
📋 利用可能な MCP ツール
プロファイル管理 🆕
list_oci_profiles- ~/.oci/config で利用可能な OCI プロファイルをすべて一覧表示しますset_oci_profile- API 呼び出しに使用する特定のプロファイルを有効にしますget_current_oci_profile- 現在有効なプロファイルを表示します
アイデンティティおよびアクセス管理 🆕
コンパートメント
list_compartments- アクセス可能なコンパートメントをすべて一覧表示します
ユーザー
list_users- コンパートメント内のすべての IAM ユーザーを、権限と MFA の状態とともに一覧表示しますget_user- グループメンバーシップを含む、ユーザーの詳細情報を取得します
グループ
list_groups- コンパートメント内のすべての IAM グループを、メンバー数とともに一覧表示しますget_group- メンバーを含む、グループの詳細情報を取得します
ポリシー
list_policies- コンパートメント内のすべての IAM ポリシーを、ステートメントとともに一覧表示しますget_policy- すべてのポリシーステートメントを含む、ポリシーの詳細情報を取得します
動的グループ
list_dynamic_groups- 条件照合ルールを含む、すべての動的グループを一覧表示しますget_dynamic_group- インスタンスプリンシパルのルールを含む、動的グループの詳細情報を取得します
コンピュートリソース
list_instances- コンパートメント内の仮想マシンインスタンスを一覧表示しますget_instance- 特定のインスタンスの詳細情報を取得しますstart_instance- 停止中のインスタンスを起動しますstop_instance- 実行中のインスタンスを停止します(ソフト停止/強制停止に対応)
データベース 🔥
DB システム
list_db_systems- コンパートメント内の DB システムを一覧表示しますget_db_system- DB システムの詳細情報を取得しますlist_db_nodes- コンパートメント内の DB ノードを一覧表示します(DB システムによる絞り込みは任意)get_db_node- DB ノードの詳細情報を取得しますstart_db_node- 停止中の DB ノードを起動しますstop_db_node- 実行中の DB ノードを停止します(ソフト停止またはハード停止)reboot_db_node- DB ノードを再起動しますreset_db_node- DB ノードをリセットします(強制再起動)softreset_db_node- DB ノードをソフトリセットします(正常な再起動)start_db_system- DB システムのすべてのノードを起動しますstop_db_system- DB システムのすべてのノードを停止します
通常のデータベース 🆕
list_databases- コンパートメント内のデータベースを一覧表示します(DB System での絞り込みは任意)get_database- 接続文字列や PDB 名など、データベースの詳細情報を取得します
Autonomous Databases 🆕
list_autonomous_databases- ワークロードタイプと接続情報を含む Autonomous Databases を一覧表示しますget_autonomous_database- ウォレット情報や自動スケーリング設定など、ADB の詳細情報を取得します
Exadata Cloud Service 🆕
list_cloud_exadata_infrastructures- コンパートメント内の Cloud Exadata Infrastructures(フリートハードウェア)を一覧表示しますget_cloud_exadata_infrastructure- シェイプ、アクティブ化済み/最大の CPU・メモリー・ストレージ、メンテナンス期間など、インフラストラクチャの詳細を取得しますlist_cloud_vm_clusters- Cloud VM Clusters(Exadata Cloud Service RAC)を一覧表示しますget_cloud_vm_cluster- RAC ノード、SCAN DNS/VIP、GI/システムのバージョン、サブネット、NSG など、VM クラスターの詳細を取得しますlist_cloud_autonomous_vm_clusters- Cloud Autonomous VM Clusters(Autonomous DB 向け Exadata)を一覧表示します
Data Guard 🆕
list_data_guard_associations- データベースの DG アソシエーションを一覧表示します(プライマリ DB の OCID を指定して検索します)get_data_guard_association- ロール、ピアロール、適用ラグ/速度、保護モードなど、指定した DG アソシエーションの詳細を取得します
バックアップとメンテナンス 🆕
list_backups- コンパートメントまたはデータベースごとにデータベースのバックアップを一覧表示しますlist_maintenance_runs- メンテナンス実行を一覧表示します。対象リソースによる絞り込みは任意ですget_maintenance_run- 指定したメンテナンス実行の詳細を取得します
ネットワーキング
仮想クラウドネットワーク(VCN)
list_vcns- コンパートメント内のすべての VCN を CIDR ブロックと DNS 情報とともに一覧表示しますget_vcn- IPv6 CIDR ブロックなど、VCN の詳細情報を取得します
サブネット
list_subnets- コンパートメント内のすべてのサブネットを一覧表示します(VCN による絞り込みは任意)get_subnet- セキュリティリストとルーティングを含む、サブネットの詳細情報を取得します
仮想ネットワークインターフェースカード(VNIC)
list_vnics- コンパートメント内のすべての VNIC を一覧表示します(インスタンスによる絞り込みは任意)get_vnic- IP アドレスや NSG の関連付けなど、VNIC の詳細情報を取得します
セキュリティ
list_security_lists- イングレス/エグレスルールを含むセキュリティリストを一覧表示します(VCN による絞り込みは任意)get_security_list- すべてのルールを含む、セキュリティリストの詳細を取得しますlist_network_security_groups- コンパートメント内のネットワークセキュリティグループ(NSG)を一覧表示しますget_network_security_group- すべてのセキュリティルールを含む、NSG の詳細情報を取得します
ストレージ 🆕
オブジェクトストレージ
get_namespace- テナンシの Object Storage 名前空間を取得しますlist_buckets- コンパートメント内のすべての Object Storage バケットを一覧表示しますget_bucket- パブリックアクセス設定やバージョニングなど、バケットの詳細情報を取得します
ブロックストレージ
list_volumes- コンパートメント内のすべての Block Storage ボリュームを一覧表示しますget_volume- サイズ、パフォーマンス階層、バックアップポリシーなど、ボリュームの詳細情報を取得しますlist_boot_volumes- コンパートメント内のすべてのブートボリュームを一覧表示します(AD による絞り込みは任意)get_boot_volume- ソースイメージなど、ブートボリュームの詳細情報を取得します
ファイルストレージ
list_file_systems- コンパートメントおよび AD 内のすべての File Storage ファイルシステムを一覧表示しますget_file_system- 計測対象バイト数やスナップショットなど、ファイルシステムの詳細情報を取得します
ロードバランサー 🆕
クラシックロードバランサー
list_load_balancers- コンパートメント内のすべてのクラシックロードバランサーを一覧表示しますget_load_balancer- バックエンドセット、リスナー、証明書など、ロードバランサーの詳細情報を取得します
ネットワークロードバランサー
list_network_load_balancers- コンパートメント内のすべてのネットワークロードバランサーを一覧表示しますget_network_load_balancer- バックエンドセットやリスナーなど、ネットワークロードバランサーの詳細情報を取得します
インフラストラクチャユーティリティ 🆕
可用性ドメインとフォールトドメイン
list_availability_domains- コンパートメント内のすべての可用性ドメインを一覧表示しますlist_fault_domains- 可用性ドメイン内のすべてのフォールトドメインを一覧表示します
コンピュートイメージ
list_images- OS、バージョン、サイズを含むすべてのコンピュートイメージを一覧表示しますget_image- 起動オプションを含むイメージの詳細情報を取得します
コンピュートシェイプ
list_shapes- CPU、メモリ、ネットワーク、GPU の仕様を含むすべてのコンピュートシェイプを一覧表示します
リージョンとテナンシ
list_regions- 利用可能な OCI リージョンをすべて一覧表示しますget_tenancy_info- 名前やホームリージョンなど、テナンシの詳細情報を取得します
セキュリティと暗号化 🆕
KMS ボールト
list_vaults- コンパートメント内のすべての KMS ボールトを一覧表示しますget_vault- 暗号化および管理エンドポイントを含むボールトの詳細情報を取得します
暗号化キー
list_keys- ボールトのコンパートメント内にあるすべての暗号化キーを一覧表示しますget_key- アルゴリズム、シェイプ、バージョンを含むキーの詳細情報を取得します
コスト管理 🆕
使用状況とコストの分析
get_cost_usage_summary- 日次または月次の粒度で、テナンシのコストと使用状況の概要を取得しますget_cost_by_service- 指定した期間のサービス別コスト内訳を取得しますget_cost_by_compartment- 指定した期間のコンパートメント別コスト内訳を取得します
予算
list_budgets- 金額、実際の支出、予測支出を含むすべての予算を一覧表示しますget_budget- 目標やアラートルールを含む予算の詳細情報を取得します
監視と可観測性 🆕
アラーム
list_alarms- クエリ、重大度、通知先を含むすべてのアラームを一覧表示しますget_alarm- しきい値や通知設定を含むアラームの詳細情報を取得しますget_alarm_history- タイムスタンプと状態遷移を含むアラームの状態履歴を取得します
メトリクス
list_metrics- 名前空間とディメンションを含む、利用可能なメトリクスを一覧表示しますquery_metric_data- MQL を使用して、指定した期間のメトリクスデータをクエリします
ログ
search_logs- Logging Search API を使用してログを検索しますlist_log_groups- コンパートメント内のすべてのロググループを一覧表示しますlist_logs- ロググループ内のすべてのログを、タイプと保持期間とともに一覧表示します
Kubernetes 用コンテナエンジン(OKE) 🆕
クラスター
list_oke_clusters- Kubernetes のバージョンとエンドポイントを含む、すべての OKE クラスターを一覧表示しますget_oke_cluster- ネットワーク設定、アドオン、利用可能なアップグレードを含むクラスターの詳細情報を取得しますget_oke_cluster_kubeconfig- kubectl でアクセスするための kubeconfig ファイルの内容を取得します
ノードプール
list_oke_node_pools- シェイプ、イメージ、配置設定を含むノードプールを一覧表示しますget_oke_node_pool- 個々のノード、退避設定、ローテーションの詳細を含むノードプールの詳細情報を取得します
作業リクエスト
list_oke_work_requests- OKE リソースに対する非同期操作(作成、更新、削除)を一覧表示しますget_oke_work_request- 作業リクエストのステータスと進行状況の詳細を取得します
💡 使用例
プロファイル管理
# 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"
アイデンティティとアクセス管理 🆕
# 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?"
コンピュートインスタンス管理
# 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"
データベース管理
# 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?"
ネットワーク管理
# 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..."
ストレージ管理 🆕
# 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?"
ロードバランサー管理 🆕
# 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?"
インフラストラクチャユーティリティ 🆕
# 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"
セキュリティと暗号化 🆕
# 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"
コスト管理 🆕
# 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?"
監視と可観測性 🆕
# 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"
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"
リソース検出
# 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"
🚀 最近の改善
v1.16 - Exadata Cloud Service ツール(最新)🗄️
- 10 個の新しいツール:Cloud Exadata Infrastructure、Cloud VM Clusters、Cloud Autonomous VM Clusters、Data Guard、バックアップ、メンテナンス実行
- Exadata Cloud Service:RAC、SCAN DNS、GI/システムのバージョン情報を含む Cloud Exadata Infrastructure と Cloud VM Clusters の一覧表示/取得
- Data Guard:ロール、適用遅延/速度、保護モードを含む Data Guard 関連付けの一覧表示/取得
- バックアップとメンテナンス:コンパートメント/データベース別のバックアップ一覧表示、メンテナンス実行の一覧表示/取得
- MCP ツールの合計数が 85 から 95 に増加
- バグ修正:
list_compartmentsがget_userではなく設定からテナンシー OCID を取得するようになり、フェデレーション/IAM ドメインユーザーでの 404 エラーを修正。list_available_profilesに[DEFAULT]プロファイルセクションが含まれるように変更 - README に Exadata Cloud Service の包括的な使用例を追加
v1.15 - Kubernetes 用 Container Engine(OKE)ツール ☸️
- 7 個の新しい OKE ツール:クラスター、ノードプール、作業リクエスト
- クラスター:Kubernetes バージョン、エンドポイント、ネットワーク設定、利用可能なアップグレードを含むクラスターの一覧表示/取得
- Kubeconfig:クラスターに kubectl でアクセスするための kubeconfig ファイルの内容を取得
- ノードプール:ノードの詳細情報、配置設定、退避設定を含むノードプールの一覧表示/取得
- 作業リクエスト:OKE リソースの非同期操作(作成、更新、削除)を追跡
- OCI 上の Kubernetes インフラストラクチャの管理に不可欠
- MCP ツールの合計数が 78 から 85 に増加
- README に OKE の包括的な使用例を追加
v1.14 - 監視と可観測性ツール 🔍
- 8 個の新しい監視ツール:アラーム、メトリック、ログ
- アラーム:重大度、クエリ履歴、状態遷移を含むアラームの一覧表示/取得
- メトリック:メトリックの一覧表示、パフォーマンス分析用の MQL による時系列データのクエリ
- ログ:トラブルシューティング用のログ検索、ロググループとログの一覧表示
- リアルタイム監視、トラブルシューティング、インシデント対応に不可欠
- MCP ツールの合計数が 70 から 78 に増加
- README に監視と可観測性の包括的な使用例を追加
v1.13 - コスト管理ツール 💰
- 5 個の新しいコスト管理ツール:使用量/コスト分析と予算
- 使用量分析:日次/月次単位でコストの概要を取得
- コスト内訳:任意の期間について、サービス別またはコンパートメント別にコストを分析
- 予算管理:実際の支出、予測支出、アラートルールを含む予算の一覧表示/取得
- コストの最適化、予算の追跡、財務ガバナンスに不可欠
- MCP ツールの合計数が 65 から 70 に増加
- README にコスト管理の包括的な使用例を追加
v1.12 - セキュリティと暗号化ツール 🔐
- 4 個の新しいセキュリティツール:KMS Vault と暗号化キー
- KMS Vault:暗号化エンドポイントと管理エンドポイントを含む Vault の一覧表示/取得
- 暗号化キー:アルゴリズム、保護モード、キー形式を含むキーの一覧表示/取得
- KMS を包括的にカバー:Vault 管理とキーの検出
- Vault エンドポイントを使用して KMS Management クライアントを動的に作成
- MCP ツールの合計数が 61 から 65 に増加
- README にセキュリティと暗号化の包括的な使用例を追加
v1.11 - インフラストラクチャユーティリティ 🏗️
- 7 個の新しいインフラストラクチャツール:可用性ドメイン、フォルトドメイン、イメージ、シェイプ、リージョン、テナンシー
- 可用性ドメイン/フォルトドメイン:高可用性の計画用に AD と FD を一覧表示
- コンピュートイメージ:OS バージョンと起動オプションを含むイメージの一覧表示/取得
- コンピュートシェイプ:CPU、メモリ、ネットワーク、GPU の仕様を含むシェイプの一覧表示
- リージョンとテナンシー:すべてのリージョンを一覧表示し、テナンシー情報を取得
- リソース計画、容量管理、インフラストラクチャの検出に不可欠
- MCP ツールの合計数が 54 から 61 に増加
- README にインフラストラクチャユーティリティの包括的な使用例を追加
v1.10 - ロードバランサーツール ⚖️
- 新しいロードバランサーツールを4つ追加:クラシックロードバランサーとネットワークロードバランサー
- クラシックロードバランサー:バックエンドセット、リスナー、証明書を含むLBの一覧表示と取得
- ネットワークロードバランサー:バックエンド構成とIP保持を含むNLBの一覧表示と取得
- ロードバランシングを包括的にカバー:レイヤー7(クラシック)とレイヤー4(ネットワーク)のロードバランサー
- MCP ツールの総数が50から54に増加
- READMEにロードバランサーの包括的な使用例を追加
v1.9 - アイデンティティおよびアクセス管理ツール 🔐
- 新しいIAMツールを8つ追加:ユーザー、グループ、ポリシー、動的グループ
- セキュリティ監査:ユーザーの権限、MFAのステータス、グループへの所属状況を確認
- ポリシー管理:すべてのIAMポリシーステートメントを一覧表示して確認
- 動的グループ:インスタンスプリンシパルの照合ルールを表示
- コンプライアンス、セキュリティ監査、アクセスのトラブルシューティングに不可欠
- MCP ツールの総数が42から50に増加
- READMEにIAMの包括的な使用例を追加
v1.8 - データベースツール 🗄️
- 新しいデータベースツールを4つ追加:通常データベースとAutonomous Database
- 通常データベース:接続文字列とPDB名を含むデータベースの一覧表示と取得
- Autonomous Database:ワークロードタイプ、ウォレット情報、自動スケーリングを含むADBの一覧表示と取得
- データベースエコシステムを包括的にカバー:DB Systems、DB Nodes、Databases、ADB
- MCP ツールの総数が38から42に増加
- READMEにデータベースの包括的な使用例を追加
v1.7 - ストレージツール 💾
- 新しいストレージツールを9つ追加:オブジェクトストレージ、ブロックストレージ、ファイルストレージ
- オブジェクトストレージ:ネームスペースの取得、パブリックアクセス情報を含むバケットの一覧表示と取得
- ブロックストレージ:パフォーマンス層を含むボリュームとブートボリュームの一覧表示と取得
- ファイルストレージ:計測対象バイト数を含むファイルシステムの一覧表示と取得
- MCP ツールの総数が29から38に増加
- READMEにストレージの包括的な使用例を追加
v1.6 - 包括的なネットワークツール 🌐
- 新しいネットワークツールを10個追加:VCN、サブネット、VNIC、セキュリティリスト、NSG
- ネットワークトポロジーの検出:ネットワークインフラストラクチャ全体を可視化
- セキュリティ監査:セキュリティルールとネットワークアクセス制御を確認
- 接続のトラブルシューティング:VNICとルーティングの情報
- MCP ツールの総数が19から29に増加
- READMEにネットワークの包括的な使用例を追加
v1.5 - 動的プロファイル選択 🔥
- マルチテナンシーのサポート:再起動せずにOCIプロファイルを切り替え
- 新しいMCPツール:
list_oci_profiles、set_oci_profile、get_current_oci_profile - すべてのOCIツールでプロファイルの必須要件を検証
- オプションの
--profile引数(遅延初期化) DYNAMIC_PROFILE_SELECTION.mdに詳細なドキュメントを追加- 正確なツール一覧に合わせてREADMEを更新
v1.4 - 構成の一元化
- すべての構成定数を含む一元化された
config.pyを作成 - コードベース全体からマジックナンバーを排除
- 構成値の保守性と見つけやすさを向上
v1.3 - 非同期処理
- すべてのブロッキングする
time.sleep()呼び出しを削除 - すべての処理を真の非同期処理に変更
- サーバーの応答性を向上
v1.2 - エラー処理の標準化
- ハイブリッドエラー処理パターンを実装
- 技術的なエラー → 例外を発生
- ビジネス状態 → 成功を示す辞書を返す
ERROR_HANDLING_PATTERN.mdに包括的なドキュメントを追加
v1.1 - DRY原則
mcp_tool_wrapperデコレーターを作成- 約150行の重複コードを削減
- すべてのツールでエラー処理とログ記録を統一
v1.0 - コードの整理
- 未使用および古いファイルを削除
- コメントアウトされたコードを整理
- クリーンなベースラインを確立
📚 ドキュメント
- 動的プロファイル選択ガイド - マルチテナンシーのサポートに関する完全ガイド
- エラー処理パターン - エラー処理に関する開発者向けガイド
- エラー処理の例 - 実践的な例
🤝 コントリビューション
コントリビューションを歓迎します!コードベースでは、次のパターンに従っています。
- ハイブリッドなエラー処理(技術的なエラーは例外を発生させ、ビジネス上の状態は辞書で返します)
- 非同期処理(ブロッキング呼び出しは行いません)
- 一元化された設定(定数は
config.pyに記述します) - DRY 原則(共通パターンにはデコレーターを使用します)
📝 ライセンス
[ライセンスをここに追加してください]
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。