MCP: Claude -> sqliteで、BIっぽいことをしてみた
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などのデータソースに接続したくない?できたら便利じゃない?という発想のもとに出てきたプロトコルのようです。
ぼくがやったこと
チュートリアルのsqliteとの接続と、Google Driveとを試してみました。Driveの方はあんまり実用的じゃなかったのでsqliteとの接続だけ紹介します(「チュートリアルやってみた」だけなので、2次情報です)
MCPクライアントとMCPサーバー
MCPでは、MCPクライアントとMCPサーバーという関係があります。
「MCPプロトコル対応済みのLLM」がMCPクライアントとなり、そのLLMのローンチ時にそのLLMがMCPサーバーに接続します。
以後LLMは、このMCPサーバーを通してデータソースやツールと連携します。
連携してLLMに持ってきた情報をLLMが解析してユーザーに加工した情報を渡すという関係です。
↓MCPチュートリアルに置いてあった図
使用可能なMCPサーバーは以下で作成されているようです。
MCPサーバーは自分でも作れるみたいで、自社の持つプロダクトなどと結びつけられるMCPサーバーなんかを作れば、LLMを使用している顧客がそこからプロダクトにアクセスできて恩恵を得られそうです(標準化がたいへんそう)
実際のsqliteとの接続方法
これはチュートリアルを読めばできるので割愛します。たぶん公式ドキュメントを読んだ方が早いし正確です。(ぼくが焼き直しで書くのめんどくさいのでサボったともいう)
データは以下です。
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