iT邦幫忙

2026 iThome 鐵人賽

DAY 9
0
AI Engineering

30 天探索 MCP:從基礎概念到實作系列 第 9 篇

AI 可以讀我的所有檔案嗎?聊聊 MCP 權限問題

  • 分享至 

  • xImage
  •  

上一篇我們做了 File System MCP,讓 MCP Server 可以讀取我們電腦上的檔案。

但做到這裡,其實就會出現一個問題:

如果 MCP 可以讀檔案,那是不是代表 AI 可以讀我電腦上的所有檔案?

當然不是,這就牽涉到 MCP 裡很重要的一個概念:權限與存取範圍。


MCP 不是什麼檔案都能讀

上一篇的 File System MCP,我們會指定一個可以存取的資料夾。

例如:

mcp-learning/
├── server.py
└── sandbox/
    ├── test.txt
    ├── notes.txt
    └── project/
        └── info.txt

如果我們把 sandbox/ 設定成 MCP Server 可以存取的目錄,那麼 Server 就可以在這個範圍內讀取檔案。

但如果電腦裡還有:

Documents/
Pictures/
Downloads/
Desktop/

這些資料夾並不會因為我們建立了 File System MCP,就自動全部開放,也就是說MCP Server 能做什麼,取決於我們給它什麼權限。


為什麼權限很重要?

假設今天我們做了一個可以讀檔案的 MCP Server,如果沒有任何限制,那麼 AI 可能就有機會接觸到一些我們不希望它讀取的資料,例如:

私人文件
帳號資訊
設定檔
工作資料
其他重要檔案

不要覺得這些東西不會被挪作他用,或是這些資料讓AI知道也不會怎樣,許多時候資料的洩漏往往就在不經意間,所以在設計 MCP Server 時,不能只考慮「能不能做到」,也要考慮:

這個 Tool 到底應該被允許做到什麼程度?

例如我們可以限制:

  • 只能讀某個資料夾
  • 只能讀取檔案
  • 不允許刪除檔案
  • 不允許修改檔案

這樣即使 AI 可以使用這個 Tool,它能做的事情也會被限制在我們設定的範圍內。


Tool 的權限不是越多越好

這其實不只適用在 MCP,例如我們今天做一個 Tool read_file

它只需要讀取檔案,那就不需要同時給它:

delete_file
write_file
move_file

能給的權限越少,發生問題時影響的範圍也會比較小,因此在設計 MCP Server 時,可以先問自己一個問題:

這個 Tool 為了完成工作,最少需要哪些權限?

這樣會比一開始就把所有權限都開放來得安全。


總結

今天沒有寫新的 MCP Tool,而是回頭思考昨天的 File System MCP,當我們開始讓 AI 接觸電腦上的檔案、資料庫或 API 後,權限就會變成很重要的一件事,MCP 不只是讓 AI 可以使用 Tool,我們也需要思考 Tool 可以使用到什麼程度,這也是之後實際做 MCP Server 時,很需要注意的地方。


上一篇
File System MCP:讓 MCP Server 讀取我的檔案
下一篇
SQLite MCP:讓 AI 開始查詢資料庫
系列文
30 天探索 MCP:從基礎概念到實作 共 18 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言