你好。使用MCP進行資料分析讓我感到非常感動,因此想和大家分享。
我在內部團隊中運行一個僅限團隊成員使用的LLM服務(以下簡稱部內工具)。
我一直想知道每日的使用情況、哪些LLM未被使用且應該替換、常用的用戶是誰等等,但實際上執行SQL進行分析總讓我感到繁瑣。
(因為部內工具的數據庫使用SQLite)自從導入SQLite MCP後,只需要用日語指示想要分析的內容,這些資料分析便能在短短兩分鐘內完成!總之,進行資料分析變得輕鬆且樂趣無窮。
本文將說明MCP的導入及實際的分析方式。
我是在Claude Code中使用MCP。請根據您使用的客戶端(例如Claude Desktop等)調整MCP的設置方法。
由於MCP伺服器需要通過npx啟動,因此需要安裝Node.js。安裝Node.js後,請使用npx --version
確認顯示版本號。
這裡將介紹主要RDB的MCP連接方法。
將介紹能夠連接MySQL、PostgreSQL、SQL Server、MariaDB及SQLite的MCP伺服器DBHub。
看起來它還支持SSL連接和SSH隧道,如果您有興趣,可以查看GitHub頁面。
要在Claude Code中啟動MCP,需要在項目根目錄中寫入.mcp.json
。
各個數據庫的.mcp.json
寫法如下所示。
請將sqlite://
後面的DB文件進行替換。
{
"mcpServers": {
"dbhub": {
"command": "npx",
"args": [
"-y",
"@bytebase/dbhub",
"--transport",
"stdio",
"--dsn",
"sqlite:///Users/yshikeda/sqlite-mcp-test/conversations.db"
]
}
}
}
請替換用戶名、密碼、主機及端口。
{
"mcpServers": {
"dbhub": {
"command": "npx",
"args": [
"-y",
"@bytebase/dbhub",
"--transport",
"stdio",
"--dsn",
"postgres://user:password@localhost:5432/dbname?sslmode=disable"
]
}
}
}
請替換用戶名、密碼、主機及端口。
{
"mcpServers": {
"dbhub": {
"command": "npx",
"args": [
"-y",
"@bytebase/dbhub",
"--transport",
"stdio",
"--dsn",
"mysql://user:password@localhost:3306/dbname?sslmode=disable"
]
}
}
}
[注意] DBHub僅使用execute_sql權限執行,因此如果在Claude Code中自動批准此權限,SQL將會被隨意執行。
因此,為了防止資料被隨意修改,我們將DBHub設置為READ模式。
請在前面的 .mcp.json
中加入--readonly
。
"args": [
"-y",
"@bytebase/dbhub",
"--readonly",
"--transport",
...
]
這樣將無法插入資料或
刪除表格,否則將出現錯誤。
部內工具的數據庫表結構如下。
我們將分析每日的使用情況、哪些LLM未被使用且應該替換、常用的用戶是誰。
提示:建議最初執行「請確認表格結構」,然後再發送想要分析的內容,成功的機率會更大。
在項目根目錄輸入claude
執行。啟動Claude Code後,輸入/mcp
以檢查是否能夠連接到MCP伺服器。
顯示連接成功則正常。
我試圖詢問請告訴我每日的使用情況
。
很好,日別的會話數據已經正確顯示。
我詢問哪個LLM最常使用?
不錯,顯示了使用率。
我詢問誰是常用的用戶?
已經正確顯示了每個用戶ID,真的很方便。
通過活用MCP,資料分析的門檻顯著降低,並且讓分析變得有趣。希望大家都來試試。
原文出處:https://qiita.com/ssc-yshikeda/items/67113394e8deffcf4531