前言¶
在 IDE 裏讓 AI 幫忙查庫、改表,常見做法是臨時貼連接串、手寫 SQL,或單獨起一個 MCP 服務再手工配 mcp.json。步驟分散時,Agent 容易漏掉連接測試、寫操作確認和風險分級。
SkillHub 上的「數據庫操作」(@user_16c0d092/database-mcp,v1.0.1)是一份基於通用 SKILL.md 的安裝與使用指南:安裝後,Agent 會按文檔驅動 @turingdance/database-mcp 這套 MCP 服務,覆蓋連庫、探表、只讀查詢和帶確認的寫操作。下面介紹它是什麼、能做什麼,以及如何安裝與使用。
這是什麼¶
「數據庫操作」是社區發佈(source: community)的編程類 Skill,分類爲 dev-programming,子類包含後端開發與腳本工具。發佈者爲 user_16c0d092,SkillHub 頁面標註 requires_api_key=false,即不依賴額外 API Key。
Skill 包內核心是 database-mcp 使用指南:說明如何通過 npx @turingdance/database-mcp 或 MCP 配置接入數據庫,並約定 Agent 應先測連接、再探表、寫操作須 confirm: true。官方 Skill 頁未提供單獨的概述文案;能力細節以包內 SKILL.md(v1.0.1 變更說明爲「明確如何安裝和使用 database-mcp」)爲準。
- SkillHub 頁面:https://www.skillhub.cn/skills/user_16c0d092/database-mcp
- 座標:
@user_16c0d092/database-mcp
核心功能¶
Skill 本身不替代 MCP 服務端,而是教 Agent 正確使用 database-mcp 提供的 5 個 MCP 工具:
| 工具 | 用途 | 風險 | 說明 |
|---|---|---|---|
connect_db |
測試連接 | 低 | 驗證數據庫連通性 |
list_tables |
列出所有表 | 低 | 獲取數據庫表清單 |
describe_table |
查看錶結構 | 低 | 字段、類型、約束 |
query |
SELECT 查詢 | 低 | 只讀,參數化防注入 |
execute |
寫操作 | 按語句分級 | INSERT/UPDATE/DELETE/DROP 等,需 confirm |
底層 MCP 通過環境變量選擇數據庫類型,支持 mysql、mariadb、tidb、postgresql、sqlite、oracle、sqlserver(默認 sqlite)。寫操作按關鍵字分級:高危(如 DROP、TRUNCATE、ALTER)與中危(如 INSERT、UPDATE、DELETE)均需 confirm: true,未確認會返回 rejected 及風險說明;低危只讀語句可直接執行。
SkillHub 側安全掃描狀態爲「安全,無風險」(Keen、叄步報告,見 Skill 頁嵌入數據)。截至頁面數據:下載約 2772 次、收藏 2 次。
安裝與啓用¶
1. 安裝 Skill(Agent 側)¶
官方安裝說明:先閱讀 SkillHub 安裝文檔,再安裝本 Skill。
檢查 CLI:
command -v skillhub && skillhub --version
未安裝時可按文檔安裝 SkillHub CLI,然後將 Skill 裝進當前 Agent 的 skills 目錄(必須使用 --dir,否則默認 ./skills/ 可能不被識別):
skillhub install user_16c0d092/database-mcp --dir ~/.cursor/skills/
常見路徑(摘自 SkillHub 安裝文檔):
- Cursor:
~/.cursor/skills/ - Claude Code:
~/.claude/skills/ - Codex:
~/.codex/skills/或項目下.agents/skills/
也可在 SkillHub 頁面下載 database-mcp-1.0.1.zip,解壓到對應 skills 目錄。
給 AI 的自然語言安裝提示(與官網一致):
請根據 https://skillhub.cn/install/skillhub.md,安裝 @user_16c0d092/database-mcp。
2. 運行 database-mcp(MCP 服務端)¶
Skill 文檔推薦直接 npx,無需全局安裝:
npx @turingdance/database-mcp
帶 MySQL 環境變量示例:
DB_TYPE=mysql DB_HOST=localhost DB_USER=root DB_PASSWORD=123456 DB_NAME=test npx @turingdance/database-mcp
WorkBuddy / Claude Desktop 可在 ~/.workbuddy/mcp.json 或對應 MCP 配置中寫入:
{
"mcpServers": {
"database-mcp": {
"command": "npx",
"args": ["-y", "@turingdance/database-mcp"],
"env": {
"DB_TYPE": "mysql",
"DB_HOST": "127.0.0.1",
"DB_PORT": "3306",
"DB_USER": "root",
"DB_PASSWORD": "your_password",
"DB_NAME": "your_database"
}
}
}
}
環境變量摘要(完整表見 Skill 包內文檔):
| 變量 | 說明 | 默認值 |
|---|---|---|
DB_TYPE |
數據庫類型 | sqlite |
DB_HOST |
主機 | localhost |
DB_PORT |
端口 | 各庫默認 |
DB_USER / DB_PASSWORD |
賬號 | - |
DB_NAME |
庫名(SQLite 可省略) | mcp-db |
DB_FILE |
SQLite 文件路徑 | mcp.db |
典型用法¶
經過上面的步驟,Agent 應按 Skill 約定的工作流操作。
1. 連接測試(必做)
自然語言示例:
測試數據庫連接
對應先調用 connect_db,再探表或查詢。
2. 探索庫表
列出所有表
查看 users 表的結構
3. 只讀查詢
查詢 users 表的前10條數據
統計 orders 表的總記錄數
4. 寫操作(須確認)
INSERT/UPDATE/DELETE 等需傳入 confirm: true,例如:
{
"tool": "execute",
"arguments": {
"sql": "INSERT INTO users (name, email) VALUES ('張三', 'zhangsan@example.com')",
"confirm": true,
"reason": "添加測試用戶數據"
}
}
未確認時可能收到:
{
"status": "rejected",
"risk_level": "medium",
"message": "檢測到中危(數據變更)操作 [INSERT],必須傳入 confirm: true 才能執行。"
}
Skill 還建議:寫操作前用 describe_table 和 query 預覽;查詢使用 ? 參數化,避免拼接字符串。
適用場景與注意¶
適合誰
- 已在 Cursor、Claude Code、WorkBuddy 等環境使用 Skills,希望 Agent 穩定走「連庫 → 探表 → 查詢 → 確認後寫入」流程的開發者。
- 需要對接多種 SQL 庫、又不想每次重講 MCP 配置與風險規則的後端或數據腳本場景。
限制與注意
- Skill 頁
overviewMd爲空,詳細行爲以包內SKILL.md與@turingdance/database-mcp爲準;升級 Skill 或 npm 包後應重新覈對版本(當前 Skill 爲 v1.0.1)。 - 寫操作攔截是安全設計,生產庫執行帶
confirm: true的語句前務必先只讀預覽。 - SkillHub CLI 直裝若遇下載 404,可改用頁面「下載 Zip 包」鏈接(
slug=@user_16c0d092/database-mcp)解壓安裝。 - 源碼本地調試路徑在 Skill 文檔中提供(
github.com/turingdance/database-mcp),與 SkillHub 安裝相互獨立。
結尾¶
「數據庫操作」把 @turingdance/database-mcp 的安裝、環境變量、工具列表和風險分級寫進 Agent 可讀的 Skill,減少連庫查表時步驟遺漏和誤寫。需要查閱元數據或下載包時,請打開 SkillHub 官方頁:https://www.skillhub.cn/skills/user_16c0d092/database-mcp 。