實戰:安裝你的第一個 MCP Server
情境:從理論到真正能用
學完前兩課,你已經知道 MCP 是什麼。但知道和能用是兩回事。
這課我們來做一件真實的事:讓 Claude 讀取你電腦上的檔案,再進階到讓它查詢本機的 SQLite 資料庫。
就像學開車要上路,學 MCP 也要動手安裝一次。
前置準備
你需要:
- Claude Desktop(免費下載:claude.ai/download)
- Node.js(MCP Server 通常用 Node.js 執行)
- 基本的終端機操作能力(會打指令就好)
第一步:理解 Claude Desktop 的設定檔
Claude Desktop 透過一個 JSON 設定檔來管理 MCP Server。
這個檔案的位置:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
設定檔的基本格式長這樣:
設定檔內容範例:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/你的名字/Documents/電商資料"
]
}
}
}
每個 MCP Server 都在 mcpServers 底下用一個名字(例如 filesystem)標識。
第二步:安裝 Filesystem MCP Server
Filesystem MCP Server 讓 Claude 可以讀寫你電腦上的檔案。
安裝指令:
更新設定檔:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/你的名字/Documents/電商報表"
]
}
}
}
注意:路徑換成你實際想讓 Claude 存取的資料夾。
重啟 Claude Desktop,然後試試看:
「幫我列出『電商報表』資料夾裡有哪些檔案。」
如果 Claude 回應了實際的檔案清單,代表 MCP Server 安裝成功!
第三步:安裝 SQLite MCP Server
SQLite 是一種輕量型資料庫,很適合存放結構化資料。讓我們試著讓 Claude 查詢一個訂單資料庫。
建立測試資料庫:
安裝並設定 SQLite MCP Server:
更新設定檔(加入 sqlite):
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem",
"/Users/你的名字/Documents/電商報表"]
},
"sqlite": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite",
"/Users/你的名字/Documents/orders.db"]
}
}
}
重啟 Claude Desktop 後,試著問:
「查詢目前狀態是『處理中』的所有訂單。」
重要觀念:Claude 能存取什麼?
安裝 MCP Server 時,你需要理解兩個重要概念:
伺服器生命週期(Server Lifecycle)
MCP Server 在 Claude Desktop 啟動時一起啟動,關閉時一起停止。Claude 不會在背景保持連線——每次對話開始,Claude 才去跟 Server 建立連線。
權限模型(Permission Model)
Claude 只能存取你在設定檔中明確指定的範圍。
| 設定內容 | Claude 能做 | Claude 不能做 |
|---|---|---|
| 指定某個資料夾路徑 | 讀寫那個資料夾內的檔案 | 存取其他路徑 |
| 指定某個資料庫檔案 | 查詢那個資料庫 | 存取其他資料庫 |
| 沒有設定 filesystem | 無法讀寫任何檔案 | — |
最小權限原則:只給 Claude 它真正需要的存取範圍,不要把整個磁碟都開放。
練習題
AI 協作:學了這個,跟 AI 怎麼配合?
實際安裝過 MCP Server,你就能評估「哪些工具值得投入時間連接」,而不只是紙上談兵。
你的人類優勢:
- 你知道公司哪些系統的資料是最有分析價值的
- 你能設定合理的存取邊界,避免把敏感資料暴露給 AI
可以這樣跟 AI 說:
我剛安裝了 SQLite MCP Server,資料庫裡有訂單資料(orders 表)和商品資料(products 表)。請幫我分析:上個月哪些商品的退貨率最高?並建議可能的原因。
互動示範
挑戰任務
根據本課內容,如果你想讓 Claude 讀取『/Users/maki/Documents/行銷資料』這個資料夾,claude_desktop_config.json 的 filesystem server args 應該怎麼設定?請寫出 args 陣列的內容。
你安裝了 filesystem MCP Server,並把路徑設為 /Documents/電商報表。請判斷以下哪些操作 Claude「可以做到」、哪些「不能做到」: A. 讀取 /Documents/電商報表/2024Q4.xlsx B. 讀取 /Documents/財務機密/帳冊.xlsx C. 在 /Documents/電商報表/ 裡建立新檔案 D. 刪除你的桌面檔案
(開放題)你是一家電商的行銷主管,打算安裝 SQLite MCP Server 讓 Claude 查詢訂單資料庫。根據「最小權限原則」,你應該給 Claude 什麼樣的存取範圍?有哪些表或資料不應該讓 Claude 存取?