mcpField
M
mcp-oci

mcp-oci

ローカル
github.com/dockndevaiクラウド・インフラ13 日前に更新

mcp-oci について

mcp-ociは、Oracle Cloud Infrastructureのリソース調査、依存関係の可視化、Terraform生成を行うMCPサーバーです。提供ツールは読み取り専用で、結果を返す前に秘密情報らしいフィールドを常にマスキングします。

主な機能

  1. 01コンパートメント、リージョン、リソースの調査
  2. 02Terraform HCLとモジュールの生成
  3. 03依存関係グラフと推奨順序の作成
  4. 04結果内の秘密情報らしい値のマスキング
  5. 05コンパートメントとリージョンによる範囲指定

活用シーン

  1. 01指定したコンパートメントのリソース確認
  2. 02検出したインフラのTerraform生成
  3. 03依存関係と構築順序の整理
  4. 04範囲を限定したOCI環境の棚卸し

MCP 対応

MCPクライアントにOCIリソース調査、Terraform生成、依存関係グラフのツールを提供します。提供されるツールはすべて読み取り専用で、返却前に秘密情報らしいフィールドをマスキングします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dockndevai-mcp-oci": {
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-oci"
],
"env": {
"OCI_PROFILE": "<OCI_PROFILE>",
"OCI_MODE": "<OCI_MODE>"
}
}
}
}
起動コマンドnpx -y @dockndevai/mcp-oci
設定が必要な環境変数
OCI_PROFILEProfile within ~/.oci/config (default DEFAULT).
OCI_MODEAccess mode: read-only | read-write | admin.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@dockndevai/mcp-oci0.1.4

ツール

8

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
rootCompartmentIdstringいいえ配下を一覧表示する OCID(デフォルトはテナンシのルートコンパートメント)

詳細

mcp-oci

CI License: MIT npm

Oracle Cloud Infrastructure (OCI) 用の Model Context Protocol サーバーです。MCP 対応クライアント(Claude Desktop、Claude Code、Cursor、Copilot など)から、OCI のリソースをリアルタイムに検出し、相互の関係を把握して、再現可能な Terraform を生成できます。動作はすべてフラグで制御します。

クラウド向けの Playwright-MCP のようなものだと考えてください。インフラの知識を手作業で再構築する代わりに、モデルに 「prod コンパートメント内のすべての VCN を表示して」、「このコンパートメントの Terraform を生成して」 と尋ねると、構造化された、シークレットを含まない回答が得られます。

機能

  • リアルタイム検出 — コンパートメント、リージョン、OCI Resource Search を介したあらゆるリソース。
  • Terraform の生成 — 既知のタイプ(VCN、サブネット、インスタンス、バケット、コンパートメント)には忠実な HCL を、それ以外には注釈付きのひな形を生成します。プロバイダー変数を含むコンパートメント全体のモジュールも生成できます。
  • 依存関係グラフ — ノードとエッジに加え、推奨されるプロビジョニング順序(依存関係を先に処理)を示します。
  • シークレットがモデルに届くことはありません — すべてのペイロードは返却前に秘匿化されます。
  • セキュリティフラグ — アクセスモード、コンパートメント/リージョンの許可リスト、プロビジョニングゲート、ドライラン、JSON 監査ログに対応します(以下を参照)。
  • 標準認証 — OCI 設定ファイル(~/.oci/config)またはインスタンスプリンシパルを使用します。サーバーに認証情報は保存されません。

セキュリティモデル

懸念事項フラグデフォルト効果
サーバーで実行できる操作は何ですか?OCI_MODEread-only提供されているツールはすべて読み取り専用です。read-write/admin は将来のプロビジョニング用に予約されており、現在は追加のツールを公開しません。
対象となるコンパートメントはどれですか?OCI_COMPARTMENT_ALLOWLIST(すべて)設定すると、ほかのコンパートメントに対する操作は拒否されます。
アクセス可能なリージョンはどれですか?OCI_REGION_ALLOWLIST(設定済みのリージョン)設定すると、指定したリージョンのみを対象にできます。
terraform apply を実行できますか?OCI_ALLOW_APPLYfalseプロビジョニング用の予約済みゲートです(未提供)。
実行せずにプレビューするOCI_DRY_RUNfalse将来の書き込みツール向けです。実行せずに検証し、実行予定をログに記録します。
監査証跡OCI_AUDIT_LOGtrue保護対象の操作ごとに、JSON の1行を stderr に出力します。
シークレットの秘匿化(常に有効)—シークレットに該当するフィールドは、結果を返す前に ***REDACTED*** に置き換えられます。

ツール

検出(読み取り):list_compartments、list_regions、search_resources、list_compartment_resources、get_resource

Terraform(読み取り):generate_terraform、generate_compartment_terraform、build_dependency_graph

クイックスタート — エージェントに追加する

@dockndevai/mcp-oci として npm で公開されています。クローンやビルドは不要です。MCP クライアントが必要に応じて npx で実行します。まずは read-only モードで開始してください。すべての変数については .env.example を、クライアントごとの詳しいガイドについては docs/CLIENTS.md を参照してください。

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 — 同じブロックを claude_desktop_config.json、.cursor/mcp.json、または ~/.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 — ~/.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、エージェントモード) — .vscode/mcp.json に追加します。

{
  "servers": {
    "oci": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@dockndevai/mcp-oci"
      ],
      "env": {
        "OCI_PROFILE": "DEFAULT",
        "OCI_MODE": "read-only"
      }
    }
  }
}

設定

標準の OCI 設定プロファイルを指定してください。安全のため、エージェントに表示するコンパートメントに対して、読み取り専用(inspect/read)権限を持つ IAM ユーザー/ポリシーを使用してください。

プロンプトの例

  • 「すべてのコンパートメントを一覧表示してから、prod コンパートメント内のすべてのリソースを表示してください。」
  • 「VCN ocid1.vcn.oc1..… の Terraform を生成してください。」
  • 「コンパートメント … の依存関係グラフを作成し、プロビジョニングの順序を教えてください。」

ソースから実行する(開発)

上記の公開パッケージの使用をおすすめします。クローンから実行するには、次のとおりです。

npm install
npm run build
node dist/index.js   # with the environment variables set

開発

npm run dev        # watch mode
npm test           # security policy + terraform generation + graph + redaction
npm run typecheck

ロードマップ

  • read-write/admin と OCI_ALLOW_APPLY の設定のもとで terraform plan/apply を実行。
  • リソースタイプのマッパーを追加(ロードバランサー、データベース、DRG、IAM ポリシー)。
  • 環境をまたいだドリフトの比較。

公開

このサーバーには、公式 MCP レジストリ用の server.json と、npm の所有権検証用の mcpName が含まれています。npm への公開と、MCP レジストリ、Smithery、Glama、Cursor、PulseMCP への掲載については、PUBLISHING.md をご覧ください。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。