mcpField
O
oracle

oracle

ローカル
github.com/marcelo-ochoaデータベース210 週間前に更新

oracle について

データベース利用者向けの Oracle Database MCP サーバーです。読み取り専用 SQL 分析、スキーマ確認、テーブル統計、Oracle AWR レポートに対応します。

主な機能

  1. 01読み取り専用 SQL クエリ
  2. 02SQL 実行計画
  3. 03現在のスキーマのテーブル統計
  4. 04Oracle AWR レポート
  5. 05テーブルごとのスキーマリソース

活用シーン

  1. 01現在のスキーマの確認
  2. 02読み取り専用 SQL クエリの分析
  3. 03SQL 実行計画の確認
  4. 04Oracle AWR レポートの調査

MCP 対応

読み取り専用の Oracle クエリ、実行計画、テーブル統計、AWR レポート、スキーマリソースを MCP クライアントに公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"marcelo-ochoa-oracle": {
"command": "npx",
"args": [
"-y",
"@marcelo-ochoa/server-oracle"
],
"env": {
"ORACLE_USER": "<ORACLE_USER>",
"ORACLE_PASSWORD": "<ORACLE_PASSWORD>"
}
}
}
}
起動コマンドnpx -y @marcelo-ochoa/server-oracle
設定が必要な環境変数
ORACLE_USEROracle user name
ORACLE_PASSWORDシークレットOracle password

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

パッケージ
npm@marcelo-ochoa/server-oracle1.0.7

ツール

5

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

パラメーター型必須説明
sqlstringはい実行する SQL クエリ
modelstringはいMCP クライアントがリクエストの処理に使用する言語モデルの名前とバージョン(例:gpt-4.1、claude-sonnet-4、llama4……)
mcp_clientstringはい使用している MCP クライアント実装の名前とバージョンを指定します(例:Copilot、Claude、Cline……)

詳細

Oracle Database

Oracle Database への読み取り専用アクセスを提供する Model Context Protocol サーバーです。このサーバーを使用すると、LLM がデータベースのスキーマを調査し、読み取り専用クエリを実行および説明できます。

コンポーネント

ツール
  • orcl-query

    • 接続中の Oracle Database に対して読み取り専用の SQL クエリを実行します
    • 入力:sql(文字列):実行する SQL クエリ
    • すべてのクエリは READ ONLY トランザクション内で実行されます
  • orcl-explain

    • 接続中の Oracle Database に対して SQL クエリの実行計画を説明します
    • 入力:sql(文字列):実行する SQL クエリ
    • GRANT SELECT_CATALOG_ROLE TO your_user; が必要です
  • orcl-stats

    • 現在接続中のスキーマにある指定テーブルの統計情報を取得します
    • 入力:name(文字列):テーブル名
    • テーブルの所有者は、値を返す USER SQL 関数と同じです
  • orcl-connect

    • 新しい認証情報を使用して再接続します
    • 入力:connectionString(文字列):SQLNet 接続文字列。例:host.docker.internal:1521/freepdb1
    • 入力:user(文字列):ユーザー名。例:scott
    • 入力:password(文字列):パスワード。例:tiger

例: orcl-connect host.docker.internal:1521/freepdb1 hr hr_2025

  • orcl-awr
    • オプションの sql_id を指定できる Automatic Workload Repository(AWR)。SELECT_CATALOG_ROLE と DBMS_WORKLOAD_REPOSITORY パッケージの実行権限が必要です
    • 入力:sql_id(文字列):(任意)特定のクエリの AWR レポートを取得する SQL ID。null の場合は、最後に生成された AWR レポート全体を取得します
リソース

このサーバーは、現在接続中の Oracle Database ユーザーに対して、各テーブルのスキーマ情報を提供します。

  • テーブルスキーマ(oracle://USER/<table>/schema)
    • 各テーブルの JSON スキーマ情報
    • 列名とデータ型を含みます
    • Oracle Database のメタデータから自動的に検出されます

変更履歴

変更履歴については、変更履歴をご覧ください。

デモ

Claude Desktop、Docker AI、Gemini CLI、Antigravity Code Editor での使用例については、デモをご覧ください。

Oracle AWR の動作例

orcl-awr ツールを使用して生成した AWR レポートの例と、上位の SQL 文の分析については、Oracle AWR の動作例をご覧ください。

Oracle サーバーでは、認証情報を安全に管理するために、環境変数または orcl-connect ツールを使用します。

  • ORACLE_USER:Oracle のユーザー名(orcl-connect を使用する場合は省略可能)
  • ORACLE_PASSWORD:Oracle のパスワード(orcl-connect を使用する場合は省略可能)
接続文字列

接続文字列には、ホスト、ポート、サービス名/SID の情報のみを含めてください(認証情報は含めないでください)。コマンドライン引数として指定するのは任意です。起動時に省略した場合、他の機能を使用する前に orcl-connect ツールで接続を確立する必要があります。

サポートされている接続文字列の形式:

  • host:port/service_name
  • host:port:SID

ビルド

Docker:

docker build -t mochoa/mcp-oracle -f src/oracle/Dockerfile .

Claude Desktop での使用

このサーバーを Claude Desktop アプリで使用するには、claude_desktop_config.json の「mcpServers」セクションに次の設定を追加します。

Docker
  • macOS で Docker を実行する場合、Oracle Database がホストネットワーク(例:localhost)上で実行されているときは host.docker.internal を使用してください
  • 認証情報は環境変数 ORACLE_USER および ORACLE_PASSWORD を介して渡されます
{
  "mcpServers": {
    "oracle": {
      "command": "docker",
      "args": [
        "run", 
        "-i", 
        "--rm",
        "-e", "ORACLE_USER=myuser",
        "-e", "ORACLE_PASSWORD=mypassword",
        "mochoa/mcp-oracle",
        "host.docker.internal:1521/freepdb1"
      ]
    }
  }
}

注:起動時に自動接続する場合は、接続文字列を最後の引数として引き続き指定できます:"args": [..., "mochoa/mcp-oracle", "host.docker.internal:1521/freepdb1"]。

ソース

通常どおり、この拡張機能のコードは GitHub にあります。変更の提案や貢献を歓迎します。私は React と TypeScript の開発を始めたばかりなので、この UI を改善するための貢献も歓迎します。

SQLcl MCP サーバーとの比較

SQLcl Docker 拡張機能を使用すると、次のように接続を登録できます。

docker exec --user sqlcl -ti mochoa_sqlcl-docker-extension-desktop-extension-service /opt/sqlcl/bin/sql -save hr_mcp -savepwd hr/[email protected]:1521/freepdb1   

その後、この登録を使用します。

{
  "mcpServers": {
    "sqlcl-mcp-server": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "exec",
        "--user",
        "sqlcl",
        "-i",
        "mochoa_sqlcl-docker-extension-desktop-extension-service",
        "/opt/sqlcl/bin/sql",
        "-mcp"
      ]
    }
  }
}

上記のデモ用プロンプトで、「orcl-query」ツールの代わりに「run-sql」を使用してください。

📜 ライセンス

このプロジェクトは、新たなコントリビューションには Apache License, Version 2.0 が適用され、既存のコードには MIT が適用されます。詳細はLICENSEファイルをご覧ください。

コメント

MCP は初めてですか?

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

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