Database MCP Server 安裝 SOP — 讓 Claude Code 直接查你的 Oracle 和 SQL Server
「幫我查這張表有幾筆資料」——以前你得先開 DBeaver、連上 DB、寫 SQL、跑完之後再把結果貼回去給 Claude。現在?直接在 Claude Code 裡面問,它自己去查。
Database MCP Server 把資料庫變成 Claude Code 的原生工具。這篇走一遍 Oracle 和 SQL Server 兩套的安裝設定,包含 CLI 快速設定和安全注意事項。
環境需求
| 工具 | 版本 | 用途 | 安裝方式 |
|---|---|---|---|
| Java | 17+ | SQLcl 運行環境 | brew install openjdk |
| Node.js | 22+ | SQL Server MCP | brew install node |
| SQLcl | 25.2+ | Oracle MCP Server | brew install --cask sqlcl |
| @bilims/mcp-sqlserver | latest | SQL Server MCP Server | npm install -g @bilims/mcp-sqlserver |
Oracle 那一半:安裝 SQLcl
SQLcl 是 Oracle 自家的 CLI 工具,內建 MCP Server 模式——不需要額外裝套件,開 -mcp flag 就能當 MCP Server 跑。
1 | # 1. 安裝 |
第四步的 -save 把連線存成一個可重複使用的 profile。注意:如果你的 Oracle 環境需要 VPN 才能連,記得先連上。
SQL Server 那一半:@bilims/mcp-sqlserver
這是一個社群維護的 SQL Server MCP Server,npm 一行裝完。
1 | # 1. 全域安裝 |
比 SQLcl 簡單,因為連線資訊是透過環境變數傳入,不需要額外的 profile 設定。
設定 .mcp.json
在專案根目錄建立 .mcp.json,這是 Claude Code 找 MCP Server 的設定檔:
1 | { |
重點:**這個檔案包含密碼,一定要加進 .gitignore**。
用 CLI 指令快速設定(替代手動編輯)
claude mcp add 可以一行搞定,不用自己改 JSON:
1 | # SQL Server — 加到本機層級(預設,不會進 Git) |
設定範圍怎麼選
| 範圍 | Flag | 設定檔位置 | 進 Git? | 場景 |
|---|---|---|---|---|
| 專案 | --scope project |
.mcp.json |
是 | 團隊共用 |
| 使用者 | --scope user |
~/.claude.json |
否 | 個人所有專案 |
| 本機(預設) | 不加 | ~/.claude.json 內分專案 |
否 | 僅自己、僅此專案 |
敏感連線字串不要用 --scope project,否則密碼會進版控。用預設的本機範圍或 --scope user 比較安全。
驗證:跑起來了嗎
重啟 Claude Code,輸入 /mcp,應該看到你剛設定的 server 名稱。然後試著問:
- SQL Server:「查詢 YourDatabase 資料庫有哪些表」
- Oracle:「列出 YOUR_SCHEMA 中所有表的名稱和筆數」
Claude 會自己用 MCP 去查,然後把結果整理好回覆你。不用寫 SQL——當然,你也可以指定它跑特定的 SQL。
管理指令速查
1 | # 列出所有 MCP Server |
安全注意事項
幾件事要牢記在心:
@bilims/mcp-sqlserver 和 SQLcl MCP 預設都是 read-only 模式,只能跑 SELECT。這是好事。你不會想讓 AI 在你不注意的時候跑了一個 DELETE FROM users。
.mcp.json 如果包含密碼就絕對不能推到 Git。檢查你的 .gitignore 有沒有這行:
1 | .mcp.json |
最後一個:只連測試環境。正式 DB 的資料太敏感了,即使是 read-only 也不建議開放給 AI 直接存取。如果真的要查 production 的東西,先匯出到測試環境再連。
疑難排除
| 問題 | 解法 |
|---|---|
| SQLcl 找不到 | 確認 PATH 有加上 SQLcl 的安裝路徑 |
| Oracle 連線失敗 | 確認 VPN 已開啟、連線字串正確 |
| SQL Server 連線失敗 | 確認 Docker 裡的 SQL Server 在跑:docker ps |
| MCP server 不顯示 | 重啟 Claude Code,或 /mcp 檢查狀態 |
| 權限不足 | 確認 DB 帳號有 SELECT 權限 |
弄了半天連不上的話,90% 的機率是連線字串寫錯或 VPN 忘記開。先確認這兩個,剩下的再慢慢查。










