1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

wxO エージェントから PostgreSQL を自然言語で参照する — MCP Toolkit を使った接続

1
Last updated at Posted at 2026-04-03

対象読者: IBM watsonx Orchestrate(wxO)を使っていて、エージェントから DB を参照したい方
検証環境: wxO SaaS 環境 / Supabase(クラウド PostgreSQL)


はじめに

wxO エージェントからデータベースを自然言語で参照したい、というユースケースがあります。
wxO には MCP(Model Context Protocol)サーバーを Toolkit として登録する機能があり、これを使えば自然言語 → SQL 変換 → DB 参照が実現できます。

今回は GitHub の modelcontextprotocol/servers-archived にあるPostgreSQL 向け MCP サーバー @modelcontextprotocol/server-postgres を試してみました。データベースは Supabase(クラウド PostgreSQL)の無料プランを使用しました。

サンプルコード等は以下リポジトリにあります。README.mdをご参照ください。


やったこと・結果

wxOのConnection に PostgreSQL の接続文字列、Toolkit に接続コマンドを定義することで、エージェントが自然言語の問い合わせに対してデータベースにアクセスし、結果を返してくれるようになります。
実際に「1万円以下の商品を教えて」と話しかけると、エージェントが SQL を生成して該当商品を返してくれました。


wxO の MCP 接続方式:ローカルとリモート

wxO の MCP サーバーには、公式ドキュメントで定義された2つの接続方式があります。

CP接続方式の比較
※公式ドキュメントを元にGoogle NotebookLMで作成

ローカル MCP サーバー リモート MCP サーバー
通信方式 STDIO StreamableHTTP / SSE
実行場所 wxO クラウド内 自前でホスト
PC・公開 URL 不要 必要

今回はローカル MCP サーバー(STDIO)方式を使いました。


発見:MCP サーバーは PC で動いていない

Toolkit YAML の command:npx -y @modelcontextprotocol/server-postgres と書くだけで、wxO がクラウド内部でそのプロセスを起動し、STDIO で通信してくれます。

手元の PC に Node.js 環境は不要です。
エラー発生時のスタックトレースにあった /opt/app-root/lib64/python3.12/ というパスであったことからローカル PC のものではなく、wxO クラウドの実行環境のパスと推測されます


@modelcontextprotocol/server-postgres の考慮点

  • 公式の archived リポジトリのため、今後のメンテナンスは期待できない
  • ツールは query 1本のみ(BEGIN TRANSACTION READ ONLY でラップ)— SELECT 専用
  • 検証・デモ用途には十分だが、本番利用には向かない

R/W が必要な場合や、目的別のツールを設計したい場合は独自 FastMCP サーバーの実装も検討しています(Track B として続報予定)。


詳細手順

セットアップの詳細は track-a/README.md を参照してください。


続編:Track B — Python で MCP サーバーを自作する

続編では、FastMCP を使って Python で MCP サーバーを自作し、INSERT / UPDATE / DELETE まで含めた読み書きを wxO エージェントから操作できることを確認しています。独自のデータソースや社内 API に MCP を使いたい場合の参考にどうぞ。


シリーズ


(本記事は、執筆にあたりAnthropic Claudeを利用し、その出力を参考にしています。)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?