Our Location
304 North Cardinal St.
Dorchester Center, MA 02124
讓 AI 也能安全、彈性地操作資料庫
MCP(Model Context Protocol) 旨在為 AI 代理與外部系統之間建立一套「標準化工具介面」。
@enemyrr/mcp‑mysql‑server 則是專為 MySQL 打造的 MCP Server,透過它,AI 模型可以呼叫一系列資料庫工具(connect_db、query、execute…),安全地執行查詢與結構管理。
1. 為什麼選擇 MCP‑MySQL Server?
• 統一介面:以工具(Tool)為單位,封裝複雜連線邏輯與 SQL 操作。
• 多種連線方式:使用 URL、.env 參數,或直接傳入憑證皆可。
• 預備敘述(Prepared Statements):內建防止 SQL Injection。
• 完整 Schema 工具:list_tables、describe_table、create_table、add_column … 一應俱全。
• TypeScript 原生:程式碼乾淨、型別安全,易於二次開發。
2. 安裝與建置
2‑1 最省事:Smithery 一鍵安裝
npx -y @smithery/cli install @enemyrr/mcp-mysql-server --client claude
Smithery 會直接在 Cursor/Desktop 中下載、Build 並註冊 MCP Server。
2‑2 手動安裝流程
git clone https://github.com/enemyrr/mcp-mysql-server.git
cd mcp-mysql-server
npm install
npm run build
Cursor 設定 → 打開 Command Palette (⌘/Ctrl + ⇧ + P) → 搜尋 “MCP: Add Server”,填入:
• Name: mysql
• Type: command
• Command: node /absolute/path/to/mcp-mysql-server/build/index.js
3. 資料庫連線設定三選一
方法 | 範例 | 適用情境 |
---|---|---|
DATABASE_URL(推薦) | DATABASE_URL=mysql://user:pass@host:3306/db | 單一字串即可佈署 |
.env 逐項 | DB_HOST=localhost DB_USER=user | 對既有專案最友善 |
Tool 直連 | 透過 connect_db Tool 傳入 url 或 host/user/… | 臨時測試、多環境 |
4. 核心工具一覽與範例
Tool | 作用 | 呼叫範例 |
---|---|---|
connect_db | 建立連線(必要步驟) | js use_mcp_tool({server_name:”mysql”,tool_name:”connect_db”,arguments:{url:”mysql://…”}}); |
query | SELECT 查詢 | sql:”SELECT * FROM users WHERE id = ?”, params:[1] |
execute | INSERT / UPDATE / DELETE | sql:”INSERT INTO users (name,email) VALUES (?,?)”, params:[“Ben”,”[email protected]”] |
list_tables | 取得所有資料表 | 無參數 |
describe_table | 查表欄位結構 | table:”users” |
create_table | 建立新表 | fields:[{name:”id”,type:”int”,primary:true}] … |
add_column | 既有表加欄位 | field:{name:”phone”,type:”varchar”,length:20} |
小提醒:所有查詢都支援 prepared parameters,不必手動 escape。
5. 安全性與錯誤處理
• SQL Injection 防護:全面使用 Prepared Statements。
• 環境變數加密:將密碼留在 .env,避免硬編碼。
• 自動關閉連線:Tool 完成即釋放 Pool。
• 錯誤回傳詳盡:連線失敗、語法錯誤、Schema 不符皆有具體訊息可追蹤。
6. 與 Cursor IDE 整合
1. 全域註冊:~/.cursor/mcp.json
2. 專案註冊:<project>/.cursor/mcp.json
3. 刷新 MCP 清單:Settings → MCP → Refresh。
4. 之後只要在對話中提到 tool 名稱 + 指令敘述,Cursor Agent 便會自動呼叫!
7. 實務應用情境
情境 | AI 可以做什麼? |
---|---|
資料分析 | 自動跑統計報表,把結果寫回 Excel/生成圖表 |
客服 Chatbot | 即時查詢使用者訂單、變更地址、更新庫存 |
內部工具 | AI 助手可按詢問生成臨時資料表、調整欄位 |
DevOps | 透過對話快速檢查 Migration 版本、Schema 差異 |
8. 結語
MCP‑MySQL Server 把「AI ↔ 資料庫」之間的鴻溝,濃縮成一套標準工具。配合 Cursor IDE,你只需要對 AI 說出需求,就能完成複雜的 SQL 操作、Schema 變更,甚至串接到自動化流程。對於想把 AI 能力 深植在日常開發與維運中的團隊而言,這是一條高效率、低門檻、具安全保障的進階之路。
如果你也想嘗試,把你的 .env 準備好,Smithery 指令敲下去,讓 AI 幫你跑第一條 SELECT * FROM users 吧!