🌊

MCP: Claude -> sqliteで、BIっぽいことをしてみた

2024/11/28に公開

MCP(Model Context Protocol)とは

The Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools.

超訳: MCPとは、LLMアプリケーションと外部データソースや外部ツールとを接続するためのプロトコルです。

簡単にいうと、ClaudeやZed EditorなどのLLMアプリから、SqliteとかGoogle DriveとかGitHubなどのデータソースに接続したくない?できたら便利じゃない?という発想のもとに出てきたプロトコルのようです。

https://modelcontextprotocol.io/introduction

ぼくがやったこと

チュートリアルのsqliteとの接続と、Google Driveとを試してみました。Driveの方はあんまり実用的じゃなかったのでsqliteとの接続だけ紹介します(「チュートリアルやってみた」だけなので、2次情報です)

MCPクライアントとMCPサーバー

MCPでは、MCPクライアントとMCPサーバーという関係があります。

「MCPプロトコル対応済みのLLM」がMCPクライアントとなり、そのLLMのローンチ時にそのLLMがMCPサーバーに接続します。

以後LLMは、このMCPサーバーを通してデータソースやツールと連携します。

連携してLLMに持ってきた情報をLLMが解析してユーザーに加工した情報を渡すという関係です。

↓MCPチュートリアルに置いてあった図

使用可能なMCPサーバーは以下で作成されているようです。

https://github.com/modelcontextprotocol/servers/tree/main/src

MCPサーバーは自分でも作れるみたいで、自社の持つプロダクトなどと結びつけられるMCPサーバーなんかを作れば、LLMを使用している顧客がそこからプロダクトにアクセスできて恩恵を得られそうです(標準化がたいへんそう)

実際のsqliteとの接続方法

これはチュートリアルを読めばできるので割愛します。たぶん公式ドキュメントを読んだ方が早いし正確です。(ぼくが焼き直しで書くのめんどくさいのでサボったともいう)

https://modelcontextprotocol.io/quickstart

データは以下です。

ID 製品名 価格($)
1 Widget 19.99
2 Gadget 29.99
3 Gizmo 39.99
4 Smart Watch 199.99
5 Wireless Earbuds 89.99
6 Portable Charger 24.99
7 Bluetooth Speaker 79.99
8 Phone Stand 15.99
9 Laptop Sleeve 34.99
10 Mini Drone 299.99
11 LED Desk Lamp 45.99
12 Keyboard 129.99
13 Mouse Pad 12.99
14 USB Hub 49.99
15 Webcam 69.99
16 Screen Protector 9.99
17 Travel Adapter 27.99
18 Gaming Headset 159.99
19 Fitness Tracker 119.99
20 Portable SSD 179.99

BIの引き出し

雑にこのように指令を与えてもなんか頑張ってやってくれました。夢があります。

上の項にある表はこれで作成してもらいました。

勝手にカテゴリで分けてテーブルを作成してくれました。

日本円や日本語に変換してみた。

まとめ

いろいろできそうです。雑に使ってみた感じでは、ビジネスアナリストや経営戦略をしたいけどデータベースからデータ抽出するためのSQL書くのつらいという人がGoogle SpreadSheetやエクセルやらと連携して既存のBIツールと併用しながら使うと良さそうという感じがしています。

ただしClaudeを通しているので、機密性に若干問題ありという気もしています。

あとは自分のローカルシステムをなんでもかんでも自分が管理不能なLLMに投げる点はちょっとなんというか、プライバシーの侵害っぽく感じています。

まあともあれ今後ちょっと流行りそうだなーと思いました。

Discussion