7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MCPサーバーと統合されたOracle Autonomous AI Databaseを使ってみた

Last updated at Posted at 2026-01-12

はじめに

2025年12月24日に、OracleがAutonomous AI DatabaseとMCPサーバーの統合を発表しました。

2025年7月に「Introducing MCP Server for Oracle Database」として発表されていましたが、7月の「統合」はSQLcl MCP Serverとして経由していたのに対して、今回の「統合」はOracle Autonomous AI DatabaseそのものをMCPサーバーとして利用できるようになりました。

image.png

Autonomous AI Databaseと統合されたMCPサーバーの利用

Autonomous AI Databaseと統合されたMCPサーバーの利用には幾つか前提が必要になります。

  • Databaseのバージョン
    • 19c もしくは 26ai
  • MCPクライアント
    • サポート対象である事(Claude CodeやClineなど)
  • Autonomous AI Database の MCPサーバーを有効にする権限
    • OCIの Autonomous AI Databaseを更新できる権限1
  • データベース資格証明
    • データベースの利用ユーザ権限(適切なユーザのID/パスワード)
  • ツールの登録
    • データベース上にAI Agentツールが作成されている事

(出典:MCPサーバーの前提条件

前提を満たせていれば、容易にMCPサーバーを利用することが可能です。

MCPサーバーを使ってみた

ここでは例として、次の構成で試してみましょう。

  • Databaseのバージョン
    • 26ai
  • MCPクライアント
    • 今回は VSCode + Cline を利用
  • Autonomous AI Database の MCPサーバーを有効にする権限
    • OCI上のアカウントはAdmin権限を持ったユーザを利用
  • データベース資格証明
    • ADMINユーザを利用
  • MCPツールの登録
    • 後述しますが「MY_RUN_SQL_TOOL」というツールを登録します

MCPサーバを利用する流れは次のようになります。

  1. MCPツールを登録する(もちろん先に登録しておいても問題ありません)
  2. 対象のAutonomous AI DatabaseのMCPサーバーを有効にする
  3. MCPクライアントからMCPサーバーに接続する
  4. MCPクライアントから問い合わせを実行する

1. MCPツールの登録

OracleのBlogでサンプルとして紹介されている2、RUN_SQLというFunctionを実行する MY_RUN_SQL_TOOL というツールを登録します。

ツールとファンクション
ツールの作成
BEGIN
  DBMS_CLOUD_AI_AGENT.CREATE_TOOL (
    tool_name  => 'MY_RUN_SQL_TOOL',
    attributes => '{"instruction": "This tool runs the provided read-only (SELECT) SQL query.",
       "function": "RUN_SQL",
       "tool_inputs": [{"name":"QUERY","description" : "SELECT SQL statement without trailing semicolon."},
 	               {"name":"OFFSET","description": "Pagination parameter. Use this to set the page size when performing paginated data retrieval."},
                       {"name":"LIMIT","description" : "Pagination parameter. Use this to specify which page to fetch by skipping records before applying the limit."}
                      ]}'
        );
END;

利用される RUN_SQL も作成します。

CREATE OR REPLACE FUNCTION run_sql( 
    query IN CLOB, 
    offset IN NUMBER, 
    limit IN NUMBER 
) RETURN CLOB 
AS 
    v_sql CLOB; 
    v_json CLOB; 
BEGIN 
    v_sql := 'SELECT NVL(JSON_ARRAYAGG(JSON_OBJECT(*) RETURNING CLOB), ''[]'') AS json_output ' || 
        'FROM ( ' || 
        ' SELECT * FROM ( ' || query || ' ) sub_q ' || 
        ' OFFSET :off ROWS FETCH NEXT :lim ROWS ONLY ' || 
        ')'; 
    EXECUTE IMMEDIATE v_sql 
        INTO v_json 
        USING offset, limit; 
    RETURN v_json; 
END;

2. 対象のAutonomous AI DatabaseのMCPサーバーを有効にする

対象のAutonomous AI Databaseに次のようにタグを設定します。

image.png

設定すると Autonomous AI Database でMCPサーバーが有効にされ、データベースの OCID にバインドされた次の MCP エンドポイントが作成されます。
https://dataaccess.adb.<リージョン識別子>.oraclecloudapps.com/adb/mcp/v1/databases/{データベース ocid}

3. MCPクライアントからMCPサーバーに接続する

今回は手元の VSCODE+Cline から MCPエンドポイントに接続してみます。
VSCODEやCLINEの設定については色々とQiitaなどがあるのでそちらを参考にしてください。

Clineから Manage MCP Serversの設定を開きます。

image.png

Remote Serversで次のように設定します。Server URLは「2.」で確認した 対象のAutonomous AI DatabaseのMCPサーバーのエンドポイントになります。

image.png

Configureタブで Authenticate を行います。

image.png

OCI側の資格証明を求められるので、今回は「ADMIN」ユーザを利用します。

今回は検証のためADMINユーザを利用しましたが、本番環境では最小特権の原則に基づき、専用のデータベース・ユーザを作成することを推奨します。その際、利用するユーザには DBMS_CLOUD_AI_AGENT パッケージへの実行権限と、対象テーブルへの権限などを適切に付与してください。

image.png

ClineのMCPサーバの設定は以上で完了です。

4. MCPクライアントから問い合わせを実行する

「MCP_Serverを利用して、SCOTTスキーマのテーブル一覧を取得してください」という問い合わせを実行すると、次のような回答が返ってきました!

image.png

all_tablesにするか、user_tablesにするかは判断が分かれるところではありますね。

まとめ

Autonomous AI Databaseと統合されたMCPサーバーの利用は、適切な権限とツールの登録を行うことで容易に開始することが可能です。今回試したVSCode + ClineのようなMCPクライアントを組み合わせることで、複雑な中間実装を介することなく、自然言語によるテーブル一覧の取得やデータ探索がシームレスに実現できます。Select AIとは異なりMCPサーバーとして統合されることで、Claude CodeやClineといったAIエージェントが、コンテキストの一部として直接データベースを扱えるようになります。

今回はADMINで実施しましたが、適切にユーザ権限を設定すれば、Autonomous AI Databaseのセキュリティとガバナンスを両立した「データへの窓口」をAIエージェントに提供可能です。

特に、本機能は分析系(OLAP)のワークロードに非常に適していると考えています。AIエージェントがユーザーの自然言語による問いかけから最適なSELECT文を動的に生成・実行するため、複雑なスキーマ構造を意識することなく、膨大なデータから必要なインサイトを迅速に抽出できるようになるためです(生成するクエリによる性能影響は、利用において意識する必要はありますが)。

  1. UpdateAutonomousDatabase の権限

  2. AIエージェントツール

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?