はじめに
MCPがAIエージェントで利用する標準プロトコルとして広がり始め、しばらく経ちました。
様々なWebサービスとの連携などとても便利な時代に今後はなっていくと思っています。
そのような中で、今回はローカルのRDBに対して生成AIのチャットで対話形式でデータ探索ができるかを検証してみました。
環境構築
Windows版のPostgreSQLをインストール
WindowsにPostgreSQLをインストールするにはいくつか方法はありますが、今回はEDBのサイトで配布されているコンパイル済のバイナリをダウンロードし利用しました。
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
バージョンは17.5
pgAdmin4はセットで入れておくと便利です。
デモ用データセット
こちらのNoteで配布されているデータセットを利用させていただきました。
https://note.com/yutanarikawa/n/nf4354f14ee0a
pgAdmin4からテーブルを作成し、データのロードも行いました。
Claude Desktop
以下のURLからWindows版をダウンロードしました。
https://claude.ai/download
NodeJSをインストール
https://nodejs.org/ja
node-v22.17.0-x64.msiをインストールしました。
コマンドプロンプトからインストールされたことを確認します。
C:\Users\1234>node --version
v22.17.0
C:\Users\1234>npm --version
10.9.2
C:\Users\1234>npx --version
10.9.2
Claude DesktopにMCP Serverの設定
注意点として、MCPのPostgreSQLは現在Archive状態となっており、今後の更新は無くサポートもありません。
https://github.com/modelcontextprotocol/servers-archived/tree/main/src/postgres
claude_desktop_config.jsonファイルに下記の設定を追加します。
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://<ユーザー名>:<パスワード>@127.0.0.1:5432/ecdatasample"
]
}
}
}
この設定を保存後、Claude Desktopを再起動します。
UIを閉じるだけでは反映されず、タスクマネージャからClaude関連のプロセスを終了させる必要があります。
Claude Desktopからの動作確認
postgresというのがトリガーワードとなり、この設定を利用し様々な参照操作が可能になります。
スクリーンショットを撮り忘れてしまいましたが、初回のみ接続を許可するかのダイアログが表示されます。
データの探索
MCP Serverを経由させClaude DesktopからPostgreSQLのデータ探索も可能です。
現在はデモ用として1テーブルのみ作成している状態ですが、下記のようにデータ内容も自動的に取得したサンプルから判断して表示してくれます。
データの傾向についての質問も普通の会話感覚で行うことができます。
また、どのようなSQLを生成したかも確認することが可能です。
近年のBIツールに実装されているような会話しつつグラフを作成することができるか検証してみました。
チャットUIにグラフを返すことはできませんでしたが、HTMLでグラフを作成してくれました。
併せて、このデータが実際の人口分布とは異なるかなり均等にデータが分散されていることから、テスト用に作成されたデータではないかと洞察をしてくれました。