文件管理器MCP服务器
用于文件管理操作的综合MCP(模型上下文协议)服务器。此服务器通过干净、安全的接口为代理和工具提供完整的文件系统访问功能。
特性
- 完成文件操作:读取、写入、追加、删除、复制、移动文件
- 目录管理:使用递归选项创建、删除、列出目录
- JSON支持:具有自动序列化功能的原生JSON文件读/写
- 搜索功能:按模式查找文件并在文件内容中搜索
- 文件信息:获取详细的元数据,包括大小、日期和类型
- 交叉平台的:适用于Windows、macOS和Linux
- 安全操作:内置错误处理和验证
安装
- 克隆存储库:
git clone https://github.com/mlnima/fileManagerMcpServer
cd fileManagerMcpServer- 安装依赖项:
uv sync- 服务器已准备好使用!
用法
将此配置添加到MCP客户端:
{
"FileManager": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"server.py"
]
}
}完整路径的替代方案:
{
"FileManager": {
"command": "C:\\Users\\user\\.local\\bin\\uv.EXE",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"C:\\path\\to\\file-manager-mcp\\server.py"
]
}
}可用工具
文件操作
- read_file(文件路径) -通过自动编码检测从任何文件读取内容
- write_file(文件路径、内容、覆盖=True) -将文本内容写入任何文件
- append_file(文件路径、内容) -将内容附加到现有文件
- delete_file(文件路径) -安全删除文件
- copy_file(源路径、目标路径) -通过自动目录创建复制文件
- move_file(源路径、目标路径) -移动/重命名文件
JSON操作
- read_json_file(文件路径) -读取和解析JSON文件
- write_json_file(文件路径、数据、覆盖=True) -以JSON格式编写字典
目录操作
- list_directory(路径) -列出包含详细信息的文件和文件夹
- create_folder(文件夹路径) -使用父级创建创建目录
- delete_folder(folder_path,递归=False) -安全删除目录
搜索操作
- find_files(模式、路径) -查找与模式匹配的文件(\*.txt, *配置*等等)
- search_in_files(搜索项、文件模式、路径) -在文件中搜索文本
信息
- get_file_info(文件路径) -获取全面的文件元数据
项目结构
fileManagerMcpServer/
├── server.py
├── models/
│ └── file_model.py
├── controllers/
│ └── file_controller.py
├── requirements.txt
└── README.md 建筑
此项目遵循MVC(模型-视图-控制器)模式:
- 模型 (
file_model.py):具有错误处理功能的核心文件系统操作 - 控制器 (
file_controller.py):MCP工具注册和响应格式 - 服务器 (
server.py):FastMCP服务器初始化和启动
安全功能
- 自动创建父目录以实现安全的文件操作
- 全面的错误处理和验证
- 文本文件读取的多种编码支持
- 安全路径解析,防止目录遍历
依赖项
fastmcp-MCP服务器框架pathlib-现代路径处理json-JSON序列化支持shutil-文件操作asyncio-Windows异步支持
例子
读取文件:
# Agent can call: read_file("/path/to/document.txt")
# Returns: file content as string写入JSON数据:
# Agent can call: write_json_file("/path/to/config.json", {"key": "value"})
# Returns: confirmation with bytes written查找文件:
# Agent can call: find_files("*.py", "/project/src")
# Returns: list of all Python files in the directory在文件中搜索:
# Agent can call: search_in_files("TODO", "*.py", "/project")
# Returns: list of Python files containing "TODO"错误处理
所有操作都返回具有成功/错误状态的结构化响应。服务器处理:
- 找不到文件错误
- 权限被拒绝错误
- 路径错误无效
- 编码问题
- JSON解析错误
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件
