iT邦幫忙

2026 iThome 鐵人賽

DAY 8
0
AI Engineering

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

File System MCP:讓 MCP Server 讀取我的檔案

  • 分享至 

  • xImage
  •  

上一篇我們做了 Calculator MCP,讓 MCP Server 可以幫我們進行簡單的數學運算,這次來做一個更實際的例子,讓 MCP Server 讀取我們的檔案。

今天我們會做三個 Tool:

  • list_files:查看有哪些檔案
  • search_files:搜尋檔案內容
  • read_file:讀取指定檔案

建立測試資料夾

首先在 mcp-learning 裡建立一個 sandbox 資料夾:

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

接著在檔案裡放一些測試內容,以下是我的測試資料。

test.txt:

這是我的測試資料,呱呱

notes.txt:

你好呀,這裡是放筆記的地方

project/info.txt:

這是我的 MCP Learning Project。

建立 File System Tool

接著在 server.py 裡加入 File System 相關的 Tool,因為程式碼比較長,這裡只放部分程式碼:

https://ithelp.ithome.com.tw/upload/images/20260921/201787694SV0JFEKtx.png

之後使用 mcp dev server.py 執行打開 MCP Inspector,跟之前一樣的方法找到 Tool,我們這次主要會處理三件事情:

1. 列出檔案

首先是 list_files ,它可以查看 sandbox 裡有哪些檔案與資料夾,所以可以先執行它確認目前的內容。
https://ithelp.ithome.com.tw/upload/images/20260921/20178769i3e4GXLob6.png


2. 搜尋檔案

接著做一個 search_files,讓我們可以搜尋檔案裡的文字,這樣就不用自己一個一個打開檔案找,只需要稍微打入一些關鍵字就能找到包含那個關鍵字的檔案有哪些。

https://ithelp.ithome.com.tw/upload/images/20260921/20178769bffdWwxXtJ.png

這裡我打的關鍵詞是呱呱,所以執行後就只有 test.txt 符合這個條件


3. 讀取檔案

最後是 read_file,它可以讀取指定檔案裡的內容,所以可以先透過 search_files 找到需要的檔案和資料夾,再透過 read_file 獲得檔案內更詳細的資料。

https://ithelp.ithome.com.tw/upload/images/20260921/20178769VwmOaDJWs3.png

這裡我輸入 test.txt,就可以看到剛剛放進去的測試資料,而且內容也確實包含呱呱,代表 read_file 可以正常讀取檔案。


從 Calculator 到 File System

前面的 Calculator MCP 是:

AI
 ↓
Calculator Tool
 ↓
計算結果

現在變成:

AI
 ↓
File System Tool
 ↓
檔案
 ↓
取得內容

而且三個 Tool 還可以搭配使用:

list_files
    ↓
找到檔案

search_files
    ↓
找到相關內容

read_file
    ↓
讀取完整內容

這樣 MCP Server 就開始有一點像真正可以使用的工具了。


總結

今天我們做了一個簡單的 File System MCP,讓 MCP Server 可以查看、搜尋以及讀取 sandbox 裡的檔案,到這裡可以發現,MCP Tool 不一定只能拿來做計算,也可以透過 Tool 取得原本 AI 看不到的外部資料。


上一篇
Calculator MCP:讓 MCP Server 幫我們算數學
下一篇
AI 可以讀我的所有檔案嗎?聊聊 MCP 權限問題
系列文
30 天探索 MCP:從基礎概念到實作 共 18 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言