以下の記事で作成したORDSのRESTサービスを、Claude Desktopのカスタムコネクタとして登録します。
「Oracle REST Data ServicesのRESTサービスとしてStreamable HTTPを話すMCP Serverを実装してみる」
詳しい作業内容は元記事を参照していただくとして、本記事ではClaude Desktopのカスタムコネクタとして追加して、データベースに問い合わせるまでを実施します。
カスタムコネクタとして追加するリモートMCPサーバーは、DNSでホスト名が参照でき、かつ、HTTPSで通信する必要があります。そのため、今回の作業はAlways FreeのAutonomous AI Databaseで行います。
Autonomous AI DatabaseにAPEXのワークスペースとしてAPEXDEVが作成済みとします。
https://github.com/ujnak/apexapps/blob/master/exports/chat-with-generative-ai-hc-242.zip
アプリケーション・ビルダーよりインポートを実行します。
次へ進みます。
アプリケーションのインストールを実行します。
アプリケーションがインストールされると、サポートするオブジェクトのインストールの確認を求めれらます。
サポートするオブジェクトのインストールをクリックします。
APEXアプリケーションと、それをサポートするオブジェクトがインストールされました。
インストールされたアプリケーションを実行し、ナビゲーション・メニューのToolsを開きます。
MCPサーバーのツールにあたる設定として、run_sqlとget_schemaが登録済みです。run_sqlおよびget_schemaは、PL/SQLのファンクションとして実装されています。この2つのツールはCountriesという名前のTool Setとしてまとめられています。
次にリモートMCPサーバーの実装をサポート・スクリプトとして含む、以下のAPEXアプリケーションをインポートします。作業手順は、先ほどのchat-with-generative-ai-hc-242.zipと同じです。
https://github.com/ujnak/apexapps/blob/master/exports/mcp_handler.zip
APEXアプリケーションがインストールされると、パッケージMCP_HTTP_SERVER_PKGとMCP_SAMPLEが作成されます。またORDSのRESTサービスとしてsampleseverが作成されます。
インストールされたAPEXアプリケーションを実行します。
作成をクリックし、ORDSのRESTサービスとMCPサーバーの実装を紐付けます。
Ords Urlは/ords/[ワークスペース名]/sampleserverを指定します。ワークスペース名はアプリケーションをインポートしたワークスペース名を、小文字で指定します。Apex App IDはデフォルトで、このアプリケーション自身のアプリケーションIDになります。変更は不要です。Apex Page IDのこのAPEXアプリケーションのホーム・ページのIDになります。変更は不要です。これらはAPEXセッションを開始する際に使用します。
Package NameにMCP_SAMPLEを指定します。このパッケージにMCPサーバーに必要なinitialize、tools/list、tools/callなどに対応した処理が、プロシージャとして実装されています。
Log Levelは4、Tool SetにCountriesを選択します。Tool SetのCountriesにはget_schemaおよびrun_sqlがツールとして含まれています。
以上で作成をクリックします。
/ords/apexdev/sampleserverとパッケージMCP_SAMPLEの紐付けができました。
作成済みのORDS RESTサービスの保護を解除します。
ORDS RESTサービスのsampleserverは、インポート時に権限oracle.example.mcpによって保護されるように構成しています。
Claude Desktopからカスタムコネクタとして呼び出すために、保護を解除しなければなりません。
SQLワークショップのRESTfulサービスを開き、権限のoracle.example.mcpを選択します。
保護されたモジュールからsampleserverを除外します。
変更の適用をクリックします。
Oracle REST Data Servicesの認証を解除すると、APEXワークスペース・スキーマがユーザーになるようにコードを書いています。そのため、同名のAPEXユーザーを作成します。
ワークスペースの管理のユーザーとグループの管理を開きます。
ユーザーの作成をクリックします。
ユーザー名はAPEXのワークスペース・スキーマの名前にします。それ以外の必須項目である、電子メール・アドレスやパスワードを設定します。
ユーザーの作成をクリックします。
以上でユーザーの作成をクリックします。
ユーザーが作成されました。
以上でClaude Desktopにカスタムコネクタとして登録する準備は完了です。
RESTfulサービスのモジュールsampleserverに含まれるテンプレートmcpを選択し、完全なURLをコピーします。このURLがリモートMCPサーバーURLとして指定する値になります。
Claude Desktopの設定のコネクタを開きます。
カスタムコネクタを追加をクリックします。
名前はMy Custom Connector、リモートMCPサーバーURLには、テンプレートmcpの完全なURLをペーストします。
追加をクリックします。
なぜかまたダイアログが開きます。これは、キャンセルします。
My Custom Connectorが追加されています。設定を開いて確認します。
設定を開くと、ツールとしてget_schemaおよびrun_sqlが認識されていることが確認できます。
以上でOracle REST Data Servicesで作成したRESTサービスを、Claude Desktopのカスタムコネクタとして設定することができました。
サンプル・データセットの国をインストールすると、記事の先頭にあるGIF動画の問い合わせを実行できます。
ユーザー認証の実装はできていないため実用的とは言えないですが、何かの役には立つと思います。
今回の記事は以上になります。
完






















