文件系统MCP服务器

一个轻量级的FastMCP服务器,通过模型上下文协议(MCP)将本地目录暴露给AI代理,提供安全的沙盒文件操作(列出、读取、写入和删除文件)。

  • by Prajwo0l
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Prajwo0l/File-System-MCP-Server

使用说明

文件系统MCP服务器

轻量级 FastMCP 该服务器通过模型上下文协议(MCP)向AI代理公开本地目录。它提供安全的沙盒文件操作——列出、读取、写入和删除文件——所有这些操作都集中在一个基目录中。


特性

  • 📁 列表 基本目录或任何子目录中的文件和文件夹
  • 📖 阅读 文本文件内容
  • ✏️ 写 (创建或覆盖)文件,自动创建父目录
  • 🗑️ 删除 文件安全
  • 🔒 路径遍历保护 --所有操作都被沙盒化到基目录

需求

安装依赖关系:

pip install fastmcp

配置

基本目录在顶部附近定义 main.py:

BASE_DIR = Path(r'C:\Users\lamic\Downloads').resolve()

在运行之前,将此路径更改为您希望服务器在其中运行的任何目录。


用法

启动MCP服务器:

python main.py

服务器将启动并监听MCP兼容客户端(例如Claude Desktop、Cursor或任何启用MCP的代理)。


可用工具

list_files(subdir="")

列出基本目录或可选子目录中的所有文件和文件夹。

参数 类型 说明
subdir str 子目录的相对路径。将基本目录留空。

退货: 前缀为的字符串列表 [DIR] 或 [FILE].


read_file(path)

读取并返回文件的文本内容。

参数 类型 说明
path str 相对于基本目录的文件路径(例如。 notes.txt).

write_file(path, content)

将文本内容写入文件,如果不存在,则创建它(以及任何缺失的父目录),如果存在,则覆盖它。

参数 类型 说明
path str 相对于基本目录的文件路径。
content str 要写的文本内容。

delete_file(path)

从基目录中删除文件。只能删除文件,目录不受影响。

参数 类型 说明
path str 相对于基本目录的文件路径。

安全

所有路径均已解析并验证 BASE_DIR 在执行任何操作之前。在基目录之外解析的任何路径(例如通过 ../ 遍历)被拒绝 Access denied 错误。这确保了服务器不能用于访问或修改预期目录之外的文件。


项目结构

.
└── main.py   # MCP server definition and all tool implementations