2026年4月10日金曜日

Oracle Databaseに問い合わせるClaude Coworkのプラグインを作成する

以下の記事を元に作成したリモートMCPサーバーをClaude Coworkのカスタムコネクタとして作成し、そのコネクタを使ったプラグインを作成します。

実装要件を単純にするため、OpenID Connect(Microsoft Entra ID等)による認証やRAS、リソース・マネージャなどは利用しません。

リモートMCPサーバーはAlways FreeのAutonomous AI Lakehouseで実行します。Claude Coworkにカスタムコネクタとして作成するには、パブリックなホスト名でアクセスできる必要があります。リモートMCPサーバーのエンドポイントはOpenRestyがリバース・プロキシとして動作するコンピュート・インスタンスになります。

Autonomous AI Lakehouseには、サンプル・スキーマとしてSH(Sales History)があらかじめインストールされています。今回はその販売履歴にアクセスし、典型的な調査事項への回答を返すプラグインを作成します。

Coworkでの作業を実施する前にMCP Inspectorを使って、リモートMCPサーバーsampleserverにアクセスできることを確認します。

npx @modelcontextprotocol/inspector

Transport TypeStreamable HTTPを選択し、URLにリポジトリmcp-appに含まれるMCPサーバーsampleserverが動作しているURLを指定します。

https://リバース・プロキシのホスト名/ords/apexdev/sampleserver/mcp

Connectをクリックします。


リモートMCPサーバーsampleserverに接続できたら、Toolsタブを開きます。

List Toolsを実行し、ツールget_schemaを選択します。schemaSHを指定し、Run Toolをクリックして、スキーマSHに含まれる表およびカラムの情報がTool Resultに返されることを確認します。


ツールrun_sqlを選択し、表CUSTOMERSを検索します。

select * from sh.customers


基本的なツールの動作が確認できました。

Claude Coworkでの作業に移ります。

Coworkを使用するには、最低でもProプランの契約が必要です。本作業ではオラクル社が提供しているサンプル・データSales Historyを使用するためモデルに学習されても問題ありませんが、そうでない場合はTeamまたはEnterpriseプランが必要になるかと思います。

Coworkで新規にプロジェクトを作成して作業します。

Coworkを開き、新規プロジェクトを作成します。


続いて開かれるダイアログでは新規作成を選択します。


プロジェクトの名前手順を記述します。販売履歴のデータを見てできることが思いつかないので、手順は適当に記述しました。


プロジェクトが作成されます。カスタマイズを開きます。


コネクタを開き、カスタムコネクタを追加します。


コネクタの名前Connector for Oracle Databaseとします。リモートMCPサーバーsampleserverのエンドポイントURLを指定し、カスタムコネクタとして追加します。


カスタムコネクタConnector for Oracle Databaseが追加されます。


プラグインの作成に移ります。

個人用プラグインのプラス(+)をクリックし、プラグインを作成からClaudeでクリエイティブにを実行します。

メッセージとしてHelp me create a new Cowork pluginが設定されます。プロジェクトに先ほど作成した販売分析を選択し(最近の履歴に表示されていない場合は、プロジェクトから選択します)、始めましょうをクリックします。


あとは、Claudeから作成したいプラグインについて質問されるので、思うままに選択肢を選んだり、自分なりの興味に従って説明を記述します。


本記事はプラグインを作ることが目的で、販売分析のプラグインにどのような機能が必要かわからないので、Claudeの勧めるままにプラグインを作成しています。

Claudeが作成するプラグインがこれでいいのか確認を求めてくるので、OKを出します。


Claudeがツールrun_sqlを呼び出し、Oracle Databaseに保存されている情報を確認して、SKILL.mdやコマンドを実装してくれます。

プラグインが作成されると、プラグインを保存というボタンが表示されます。

プラグインを保存をクリックし、作成されたプラグインをインストールします。


プラグインを保存をクリックしたら「Plugin validation failed」とエラーが発生したのですが、Plugin validation failedが発生したと伝えたら、ClaudeがvalidationしてYAMLの記述エラーを見つけて自分で修正しました。

修正されたプラグインを保存しました。


以上で、プラグインとして作成されたスキルやコマンドを利用することができるようになりました。

作成されたプラグインは、カスタマイズから参照できます。また、スキルやコマンドの編集もできるようです。


個人用プラグインが作成されたディレクトリがよくわからなかった(macOSでは~/Library/Application Support/Claude/local-agent-mode-sessions以下にありそう)ため、プラグインを他の人と共有するために、ZIPで固めるように指示しました。

以下のプロンプトで指示しました。

「作成されたプラグインSales analyticsを他の人と共有できるように、ZIPに固めてください。」

最終的にプラグインをZIPに固めてくれます。プロジェクトのフォルダ以下であればファイルを作成できるため、その下にファイルが作成されるようです。


作成したプラグインはOracle Databaseに接続するコネクタConnector for Oracle Databaseに依存していますが、プロンプトで指定しないとプラグインには含まれないようです。カスタムコネクタはファイル.mcp.jsonに設定を記述して、プラグインのZIPに含めることができます。

ZIPで固めたプラグインはCoworkのカスタマイズからアップロードできます。


個人用を選択し、ローカルアップロードプラグインをアップロードを実行し、プラグインのZIPファイルを読み込みます。


GitHubのリポジトリをマーケットプレースとして登録し、登録したリポジトリからプラグインをインストールすることもできるようです。

今回の記事は以上になります。