はじめに
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サーバーとして利用できるようになりました。
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サーバを利用する流れは次のようになります。
- MCPツールを登録する(もちろん先に登録しておいても問題ありません)
- 対象のAutonomous AI DatabaseのMCPサーバーを有効にする
- MCPクライアントからMCPサーバーに接続する
- 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に次のようにタグを設定します。
設定すると 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の設定を開きます。
Remote Serversで次のように設定します。Server URLは「2.」で確認した 対象のAutonomous AI DatabaseのMCPサーバーのエンドポイントになります。
Configureタブで Authenticate を行います。
OCI側の資格証明を求められるので、今回は「ADMIN」ユーザを利用します。
今回は検証のためADMINユーザを利用しましたが、本番環境では最小特権の原則に基づき、専用のデータベース・ユーザを作成することを推奨します。その際、利用するユーザには DBMS_CLOUD_AI_AGENT パッケージへの実行権限と、対象テーブルへの権限などを適切に付与してください。
ClineのMCPサーバの設定は以上で完了です。
4. MCPクライアントから問い合わせを実行する
「MCP_Serverを利用して、SCOTTスキーマのテーブル一覧を取得してください」という問い合わせを実行すると、次のような回答が返ってきました!
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文を動的に生成・実行するため、複雑なスキーマ構造を意識することなく、膨大なデータから必要なインサイトを迅速に抽出できるようになるためです(生成するクエリによる性能影響は、利用において意識する必要はありますが)。






