MCPとは
Model Context ProtocolはClaudeが開発したLLMアプリケーションと外部データソースおよびツールとのシームレスな統合を可能にするオープンプロトコルです。
実際に使ってみてその凄さに気づいたのですが、API経由とかでなく、直接DBにアクセスができ、自然言語である日本語で、データの中身を確認することができます。これがあるだけで、膨大なデータを簡単に分析することが可能になります。
MCPの使い方
簡単といっても実際に使うまでにはいくつかステップが必要になるので、順を追って説明します(mac)。
デスクトップアプリのダウンロード
MCPにはClaudeのデスクトップアプリが必要。以下からダウンロード。
https://claude.ai/download
MCPのチュートリアルへ
以下からMCPのQuickstartを行う
https://modelcontextprotocol.io/quickstart#installing-prerequisites-macos
まずはsqlite3のダウンロードをbrew経由で実施
brew install uv git sqlite3
完了したら、テーブルの作成を行います。
# Create a new SQLite database
sqlite3 ~/test.db <<EOF
CREATE TABLE products (
id INTEGER PRIMARY KEY,
name TEXT,
price REAL
);
INSERT INTO products (name, price) VALUES
('ウィジェット', 3000),
('ガジェット', 4500),
('ギズモ', 6000),
('スマートウォッチ', 30000),
('ワイヤレスイヤホン', 13500),
('ポータブル充電器', 3800),
('Bluetoothスピーカー', 12000),
('スマホスタンド', 2400),
('ノートパソコンスリーブ', 5300),
('ミニドローン', 45000),
('LEDデスクランプ', 6900),
('キーボード', 19500),
('マウスパッド', 2000),
('USBハブ', 7500),
('ウェブカメラ', 10500),
('画面保護フィルム', 1500),
('旅行用アダプター', 4200),
('ゲーミングヘッドセット', 24000),
('フィットネストラッカー', 18000),
('ポータブルSSD', 27000);
EOF
以下のコマンドを叩いて商品データの確認ができればOKです。
sqlite3 ~/test.db "SELECT * FROM products;"
次にconfigファイルの設定を行います。vscodeやcursorを使っている方は以下のコマンドでファイルを開いてください。
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
ファイルの中身を以下に変更します。ただし、YOUR_USERNAME
の部分には自分のmacのユーザー名をいれてください。
{
"mcpServers": {
"sqlite": {
"command": "uvx",
"args": ["mcp-server-sqlite", "--db-path", "/Users/YOUR_USERNAME/test.db"]
}
}
}
ファイルを保存したら、最初にダウンロードしたClaudeのデスクトップアプリを再起動します。
再起動後、Claudeのメニュー内のSettings
を選択
そうすると、設定画面に入ります。この中のDeveloper項目で、先ほどconfigファイルに追加したsqlite
の記載が入っていれば準備は完了です。
確認
Claude側に以下の文言を打ってみてください。
私のSQLite データベースに接続して、製品と価格を教えてください。
そうするとポップアップが出てきます。DB操作を行うときは毎回同意のポップアップが表示されるので、許可する場合はAllow、許可しない場合はDenyを選択してください。
あとはMCPが動き、データの分析を行なってくれます。SQL自分で叩かずにやってくれるのは凄いです。
エラーが発生した場合
うまく接続ができない場合は、以下のコマンドで原因を調査してください。
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
でてきたエラー文をClaudeやChatGPTに聞けば、大体解決すると思います。
私の場合は、pythonのバージョンが低かったので、バージョンを3.11にアップデートしたら上手く接続できました。本当便利な世の中になりましたね。