OracleのマネージドMCPサーバーをAIチャットクライアントに接続しました

AIアシスタントは、もはや単に会話をするだけではありません。Model Context Protocol (MCP) を使用して、外部ツールを呼び出すことができるようになっています。

OCI上でOracleのマネージドMCPサーバーをテストしました。目的は、Oracle E-Business Suiteデータベースの読み取り専用ヘルスチェックを作成することでした。「データベースは稼働していますか?」や「どのマネージャーがダウンしていますか?」といった質問をAIに投げられるようにしたかったのです。

結果は成功でした。AIアシスタントがデータベースのライブヘルスデータを取得できるようになりました。以下に、そのプロセスで学んだことをまとめます。

セットアップ

主な教訓

1. ネットワークとセキュリティ MCPサービスはOracleのテナンシ内で動作します。単体ではプライベートデータベースに到達できません。VCNにプライベート・エンドポイントをアタッチする必要があります。安全性を確保するため、読み取り専用のデータベースユーザーに接続してください。これにより、誤った書き込みを防ぐことができます。

2. URLに注意する すべてのOCI MCPサーバーのURLには、/20250830/ のような日付セグメントが含まれています。古い日付を使用すると、HTTP 404エラーが発生します。このエラーは認証の問題のように見えますが、実際にはパスが間違っているだけです。コンソールから正確なURLをコピーしてください。

3. OAuthの問題 多くのWebベースのチャットUIはこのサーバーで失敗します。それらはサーバー経由でOAuth設定を検出(discover)しようとしますが、Oracleは未認証のリクエストに対して404を返します。これにより、ログインフローが停止してしまいます。また、ヘッドレスなWeb UIには、対話的なログインを行うためのブラウザが備わっていません。

4. アプストークンではなくユーザートークンを使用する ブラウザをスキップするために、クライアント・クレデンシャル・トークンの使用を試みました。認証はできましたが、権限が不足していました。Oracleのロールはアプリではなくユーザーに紐付けられます。authorization_code(ユーザー)トークンを使用する必要があります。ユーザーがロールを保持しているため、そのトークンで動作します。

5. デスクトップクライアントを使用する Claude DesktopやVS Codeなどのデスクトップクライアントは、ログイン用のブラウザが内蔵されているため、うまく動作します。404の検出問題を回避するには、静的なOAuthメタデータを使用して mcp-remote を使用してください。

クイックヒント

AIエージェントを用いたManaged MCPは、ガバナンスが適用されたデータベースタスクに有用です。クライアントをデプロイメントに合わせ、常に読み取り専用ユーザーを使用してください。

出典: https://dev.to/rkondoju/i-connected-oracles-managed-mcp-server-to-ai-chat-clients-heres-what-actually-worked-265

オプションの学習コミュニティ: https://t.me/GyaanSetuAi