背景
MCP Server for Oracle Databaseがすごい、と聞いたのでどんなことができるのか実際に動かしてみました。
公式ブログによると「The easiest way to get started with our SQLcl MCP server is via VS Code.」とのことだったので、本当に一番簡単なのか検証すべく、Oracle Autonomous Databaseを無償で使えるAlways Free環境を使って、VS Codeで動かしてみます。
参考文献
実施に参考になるリンク
ブログ:MCP Server for Oracle Database
海外ブログ:Getting Started with our MCP Server for Oracle Database
OCIチュートリアル:101: ADBインスタンスを作成してみよう
OCIチュートリアル:104: クレデンシャル・ウォレットを利用して接続してみよう
Qiita記事:Oracle Database用のMCP Server(sqlcl -mcp)を使ってみる
Oracle Database Sample Schemas
手順
以下のような手順で実施します。
1.Oracle Autonomous DatawarehouseをAlways Free環境で構築、起動する
2.サンプルスキーマとデータをDBに構築する
3.VS Codeから接続し利用する
3-1.Oracle SQL Developer拡張を設定する
3-2.MCPサーバーの設定を確認する
3-3.Copilot Chatから使ってみる
1.Oracle Autonomous DatawarehouseをAlways Free環境で構築、起動する
上述したOCIチュートリアル101を参考に、無償で使えるAlways Free環境で、Oracle Autonomous Datawarehouseを構築、起動します。データベースのバージョンは「23ai」を選択します。
環境起動後には、2の作業を見据えて、OCIチュートリアル104を参考に、接続テストをしました。今回はCloud Shellで接続してみました。
2.サンプルスキーマとデータをDBに構築する
データですが、上述したQiita記事を参考に、オラクルが提供しているサンプルデータを利用しました。ただ、参照したQiita記事と同じサンプルデータだと芸がないと思い、今回は「Customer Orders Sample Schema」を利用しています。
今回は、sqlスクリプトを、1のCloud Shellから流してみました。途中COスキーマのパスワード聞かれますが、よしなに入力ください。
@/home/XXXXX/sample/co_install.sql
3.VS Codeから接続し利用する
3-1.Oracle SQL Developer拡張を設定する
"Oracle SQL Developer Extension for VSCode"を拡張検索し、マーケットプレースからインストールします。
インストールした後は、先ほど作成したCOユーザーで接続します。
3-2.MCPサーバーの設定確認
Copilot Chatで確認します。
ツールの構成から確認すると、
確かにSQLclのMCPサーバーがインストールされていますね。
3-3.Copilot Chatから使ってみる
テーブルの一覧化をやってもらいます。
途中このような実行の許可を聞かれるので、続行します。
今回は操作性を確認したかったので、正当性までは確認していませんので、ご了承を。。。
まとめ
今回は、「MCP Server for Oracle Databaseがすごい」、と聞いたのでどんなことができるのか実際に動かしてみました。SQL書かなくても自然言語でデータ分析や会話ができるの、めっちゃ便利です。このブログにあるように、データ分析の方にはもちろん、DBAとか開発者の方にもすごく便利だと思いました。
そして、今回のもう一つの目的の「The easiest way to get started with our SQLcl MCP server is via VS Code.」、つまりVS Codeで使うのが本当に一番簡単なのか、VS Codeで動かしてみたのですが、、、、ここまでご覧になった方はわかると思いますが、データベース検証環境構築の工数と時間がほとんどで、VS Codeで動かすための設定はほんと数分でした。数分の設定で、MCP Server使って、Oracle Databseと会話できるなんてすごいですね。。
Oracle Database@Azureも日本で稼働しましたし、ぜひVisual Studio Codeユーザーの皆さんも使ってみてください。