
Claude Code中的MCP:如何連接資料庫與API
發佈於:
閱讀時間: 3 min
主題: 技術
作者: Leandro Valencia
用 claude mcp add 為 Claude Code 新增 MCP 伺服器,透過 .mcp.json 與團隊共享,並在不暴露憑證的前提下連接 Git、PostgreSQL 與 API。
目錄
- 快速參考
- MCP 的運作方式
- 步驟 1:新增本地伺服器(stdio)
- 步驟 2:連接遠端伺服器(HTTP)
- 步驟 3:選擇範圍
- 步驟 4:共享設定而不共享機密
- 步驟 5:驗證是否可用
- 連接重要系統前的 8 條安全規則
- Superpowers 在哪裡發揮作用?
- 團隊方案
Claude Code 安裝完成後,就能在終端機中讀取檔案並執行指令。要讓它查詢資料庫、查看 Issue 或呼叫 API,你需要 MCP(Model Context Protocol)。這是 Anthropic 發布的開放協定,用來把模型與外部工具連接起來。
本指南說明如何新增 MCP 伺服器、如何在不把憑證提交到 Git 的情況下與團隊共享,以及在連接重要系統之前應遵守哪些安全規則。
快速參考
| 伺服器 | 傳輸方式 | 指令 | 建議範圍 | 關鍵注意事項 |
|---|---|---|---|---|
| 本地 Git | stdio(uvx) |
claude mcp add git -- uvx mcp-server-git |
user | 檢查它公開了哪些寫入操作 |
| PostgreSQL | stdio(npx) |
claude mcp add db -- npx -y @bytebase/dbhub --dsn "$DATABASE_READONLY_URL" |
project | 僅使用唯讀使用者 |
| 遠端 API | http | claude mcp add --transport http mi-api https://mcp.ejemplo.com/mcp |
project | 權杖放在變數中,絕不寫進檔案 |
| 檔案系統 | stdio(npx) |
claude mcp add archivos -- npx -y @modelcontextprotocol/server-filesystem . |
local | 將路徑限制在專案內,絕不要指向磁碟根目錄 |
MCP 的運作方式
Claude Code 扮演客戶端的角色。每個 MCP 伺服器都是一個行程或服務,負責公開工具,例如 run_query 或 list_issues。在工作階段期間,Claude 會看到這些工具,自行決定何時呼叫,並依照你的設定向你請求許可。
連接方式有兩種:
- stdio: Claude Code 將伺服器當作本地行程啟動(通常使用
npx或uvx),並透過標準輸入與標準輸出通訊。這是在你的電腦上執行的工具常見的方式。 - http: 伺服器位於遠端 URL。這是雲端服務常見的方式。許多大型服務都會發布附 OAuth 驗證的官方 MCP 伺服器。
步驟 1:新增本地伺服器(stdio)
基本格式如下:
claude mcp add <nombre> -- <comando> [argumentos...]
-- 分隔符號是必要的:它把 claude 的選項與啟動伺服器的指令分開。沒有它,Claude Code 會試著把伺服器的參數當成自己的參數來解析。
Git 伺服器範例:
claude mcp add git -- uvx mcp-server-git
使用 DBHub 連接 PostgreSQL 的範例,指向一個唯讀使用者的環境變數:
export DATABASE_READONLY_URL="postgresql://lectura:****@db.tuempresa.com:5432/analytics"
claude mcp add db -- npx -y @bytebase/dbhub --dsn "$DATABASE_READONLY_URL"
步驟 2:連接遠端伺服器(HTTP)
claude mcp add --transport http mi-api https://mcp.ejemplo.com/mcp \
--header "Authorization: Bearer $MI_API_TOKEN"
如果伺服器使用 OAuth,就不要加入該 header:進入工作階段,執行 /mcp,然後在瀏覽器中完成驗證流程。
步驟 3:選擇範圍
每個伺服器會儲存在三種範圍之一,你可以用 --scope 來選擇:
local(預設):只供你自己使用,且只在這個專案中生效。適合測試,或使用個人憑證的伺服器。project:寫入儲存庫根目錄的.mcp.json。複製儲存庫的團隊成員都會收到此設定。有人第一次使用專案伺服器時,Claude Code 會要求核准。user:供你在所有專案中使用。適合 Git 這類通用工具。
claude mcp add --scope project db -- npx -y @bytebase/dbhub --dsn '${DATABASE_READONLY_URL}'
步驟 4:共享設定而不共享機密
.mcp.json 支援以 ${VARIABLE} 語法引用環境變數(也支援 ${VARIABLE:-預設值})。如此一來,檔案就能在不含憑證的情況下提交到儲存庫:
{
"mcpServers": {
"mi-api": {
"type": "http",
"url": "https://mcp.ejemplo.com/mcp",
"headers": {
"Authorization": "Bearer ${MI_API_TOKEN}"
}
},
"db": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@bytebase/dbhub", "--dsn", "${DATABASE_READONLY_URL}"]
}
}
}
每位開發者匯出自己的變數(export MI_API_TOKEN=...),或從機密管理工具載入,無需有人修改檔案。
步驟 5:驗證是否可用
claude mcp list # estado de todos los servidores
claude mcp get db # detalle de uno
claude mcp remove db # eliminarlo
在工作階段中執行 /mcp,可以查看哪些伺服器已連接,以及它們公開了哪些工具。如果某個伺服器顯示錯誤,最常見的原因是:啟動 Claude Code 的 shell 中沒有定義所需的環境變數。
連接重要系統前的 8 條安全規則
- 最小權限。 使用唯讀的資料庫使用者,權杖只授予所需的權限。絕對不要給代理人管理員使用者。
- 儲存庫中零機密。 一律在
.mcp.json中使用環境變數。 - 限定路徑。 檔案伺服器只應能看到專案資料夾。
- 使用官方或經過審查的伺服器。 優先選擇服務提供者自己發布的伺服器。MCP 伺服器會在你的電腦上執行程式碼,安裝前請確認其來源。
- 寫入操作需要人工核准。 善用 Claude Code 的權限設定,讓會修改資料的工具需要確認;或使用比對器(例如
mcp__db__.*)的PreToolUsehook,阻擋或記錄特定呼叫。 - 合理的逾時時間。 如果伺服器啟動較慢(第一次透過
npx下載通常比較慢),請用MCP_TIMEOUT變數(單位為毫秒)延長等待時間。 - 輸出上限。 如果工具回傳的結果非常龐大,請調整
MAX_MCP_OUTPUT_TOKENS,並讓查詢使用LIMIT,避免塞滿模型的上下文。 - 先用副本,再碰正式環境。 進行分析時,連接副本或預備環境,而不是主要資料庫。
Superpowers 在哪裡發揮作用?
MCP 讓 Claude Code 能夠存取工具,而 Superpowers 則為它提供一套方法:這是一個 skills 外掛,會強制它先設計再寫程式,撰寫分步計畫,並以測試優先的方式工作。兩者相輔相成:有了 MCP,Claude 可以查詢你的資料庫;有了 Superpowers,它則是在經過審查的計畫中完成這一切。
如果你還沒安裝,如何在 Claude Code 中安裝 Superpowers 指南說明了如何從外掛市集在五分鐘內完成安裝。
團隊方案
- 統一工具。 在團隊中安裝 Claude Code,並決定哪些伺服器用於通用場景(
user範圍),哪些屬於專案。 - 為 AI 建立憑證。 向基礎架構團隊申請專用的資料庫使用者,唯讀,並且只能存取所需的 schema。
- 對
.mcp.json進行版本管理。 將它提交到儲存庫,使用環境變數,並在 README 中說明每位開發者需要哪些變數。 - 衡量影響。 如果團隊解決問題的速度變快,你的成本結構也會隨之改變。用利潤率計算器算一算。
Step-by-step guide
新增本地伺服器(stdio)
claude mcp add <nombre> -- <comando>,指令前面要加上 -- 分隔符號。
連接遠端伺服器(HTTP)
claude mcp add --transport http <nombre> <url>,權杖放在 header 中。
選擇正確的範圍
local 供你個人使用,project 供團隊使用(.mcp.json),user 適用於你所有的專案。
把憑證移出儲存庫
在 .mcp.json 中使用 ${VARIABLE},讓每位開發者在自己的 shell 中匯出該變數。
驗證並限制權限
claude mcp list 或 /mcp 查看狀態,使用唯讀使用者,並用 hooks 管控寫入操作。
Frequently asked questions
Claude Code 中的 MCP 是什麼?
MCP(Model Context Protocol)是一種開放協定,讓 Claude Code 能夠連接資料庫、程式碼儲存庫、任務管理工具或 API 等外部工具。每個連接都是一個 MCP 伺服器,它會公開 Claude 在工作階段中可以呼叫的工具。
local、project 與 user 範圍有什麼差別?
local 只為你保存伺服器,且僅限目前的專案,這是預設值。project 會將它寫入儲存庫根目錄的 .mcp.json 檔案,讓整個團隊都能使用。user 則讓你在所有專案中都能使用該伺服器。
連接正式環境的資料庫安全嗎?
只有在使用唯讀使用者,而且最好連接副本的情況下才安全。擁有正式環境寫入權限的代理人可能因為誤解指令而執行破壞性的查詢。此外,啟用前也應先檢查伺服器公開了哪些工具。
使用 MCP 需要 Superpowers 嗎?
不需要。MCP 已內建於 Claude Code。Superpowers 是一個 skills 外掛,用來強制執行一套工作方法(設計、計畫、測試)。兩者可以互補,但各自都能獨立運作。
相關文章
繼續探索您可能感興趣的相似內容

Claude Code 指南 2026:從安裝到上手
Claude Code 是什麼、如何在 macOS、Linux 和 Windows 上安裝、需要哪個方案、該用哪個模型,以及如何用 skills、外掛和 MCP 擴充它。2026 實用指南。

如何在 Claude Code 安裝 Superpowers(2026)
在 Claude Code 逐步安裝 Superpowers 的指南:官方市場或 GitHub 兩條安裝路徑、如何確認外掛已啟用,以及安裝時真正會遇到的常見錯誤。

Manus vs Claude Code vs OpenCode 價格與選擇
Manus 在雲端工作,Claude Code 和 OpenCode 在你的電腦上工作。我們比較三者的價格、計費方式和功能,並告訴你哪一款適合你。
合作
我每天在用的工具,社群可以拿到更好的條件。