Skip to main content
Glama

File Manager MCP Server

by cnYui

文件管理器 MCP 服务器

一个基于 Model Context Protocol (MCP) 的文件管理服务器,为 AI 助手提供安全的文件系统操作能力。

功能特性

核心工具

  1. list_directory - 列出目录内容

    • 显示文件和子目录

    • 可选显示隐藏文件

    • 显示文件大小信息

  2. read_file - 读取文件内容

    • 支持多种编码格式

    • 文件大小限制(10MB)

    • 自动检测二进制文件

  3. create_file - 创建新文件

    • 自动创建父目录

    • 防止覆盖现有文件

    • 支持自定义编码

  4. delete_file - 删除文件或目录

    • 安全删除确认

    • 支持递归删除目录

    • 权限检查

  5. search_files - 搜索文件

    • 支持通配符模式

    • 递归搜索选项

    • 显示匹配结果统计

  6. copy_files - 复制文件

    • 支持单个或多个文件复制

    • 自动创建目标文件夹

    • 可选择是否覆盖已存在文件

    • 详细的操作结果报告

安全特性

  • 参数验证: 严格的输入参数验证

  • 路径安全: 防止路径遍历攻击

  • 权限控制: 尊重文件系统权限

  • 错误处理: 详细的错误信息和日志记录

  • 文件大小限制: 防止处理过大文件

安装和设置

环境要求

  • Python 3.8+

  • pip 或 pipenv

安装步骤

  1. 克隆项目

    git clone <repository-url> cd mcpDevelop
  2. 创建虚拟环境

    python3 -m venv venv source venv/bin/activate # Linux/Mac # 或 venv\Scripts\activate # Windows
  3. 安装依赖

    pip install -r requirements.txt

使用方法

启动服务器

# 方法1: 直接运行主文件 python main.py # 方法2: 作为模块运行 python -m file_manager_mcp.server

在 AI 客户端中配置

将以下配置添加到你的 MCP 客户端配置文件中:

{ "mcpServers": { "file-manager": { "command": "python", "args": ["/path/to/mcpDevelop/main.py"] } } }

工具使用示例

1. 列出目录内容

{ "name": "list_directory", "arguments": { "path": "/home/user/documents", "show_hidden": false } }

2. 读取文件

{ "name": "read_file", "arguments": { "path": "/home/user/example.txt", "encoding": "utf-8" } }

3. 创建文件

{ "name": "create_file", "arguments": { "path": "/home/user/new_file.txt", "content": "Hello, World!", "encoding": "utf-8" } }

4. 删除文件

{ "name": "delete_file", "arguments": { "path": "/home/user/old_file.txt", "recursive": false } }

5. 搜索文件

{ "name": "search_files", "arguments": { "directory": "/home/user/projects", "pattern": "*.py", "recursive": true } }

6. 复制文件

{ "name": "copy_files", "arguments": { "source_paths": ["/home/user/file1.txt", "/home/user/file2.txt"], "destination_folder": "/home/user/backup", "overwrite": false } }

项目结构

mcpDevelop/ ├── file_manager_mcp/ │ ├── __init__.py # 包初始化 │ ├── server.py # MCP 服务器主程序 │ ├── tools.py # 工具实现 │ └── validators.py # 参数验证和错误处理 ├── main.py # 入口文件 ├── requirements.txt # Python 依赖 ├── pyproject.toml # 项目配置 └── README.md # 项目文档

开发和测试

运行测试

# 激活虚拟环境 source venv/bin/activate # 运行基本功能测试 python -c "import file_manager_mcp.tools; print('导入成功')"

调试模式

设置环境变量启用详细日志:

export PYTHONPATH=. export MCP_LOG_LEVEL=DEBUG python main.py

安全注意事项

  1. 文件系统访问: 此服务器可以访问运行用户权限范围内的所有文件

  2. 路径验证: 已实现路径遍历攻击防护

  3. 文件大小限制: 读取和创建文件有大小限制

  4. 权限检查: 尊重操作系统的文件权限设置

故障排除

常见问题

  1. 权限错误

    • 确保运行用户有足够的文件系统权限

    • 检查目标文件/目录的权限设置

  2. 编码错误

    • 确认文件编码格式

    • 尝试使用不同的编码参数

  3. 路径错误

    • 使用绝对路径

    • 确认路径存在且格式正确

日志查看

服务器会输出详细的日志信息,包括:

  • 工具调用记录

  • 错误信息

  • 参数验证结果

贡献指南

  1. Fork 项目

  2. 创建功能分支

  3. 提交更改

  4. 推送到分支

  5. 创建 Pull Request

许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

更新日志

v0.1.1

  • 新增 copy_files 工具

  • 支持单个或多个文件复制到目标文件夹

  • 增强文件操作功能覆盖范围

v0.1.0

  • 初始版本

  • 实现 5 个核心文件操作工具

  • 添加参数验证和错误处理

  • 完整的 MCP 协议支持

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cnYui/mcpDevelop'

If you have feedback or need assistance with the MCP directory API, please join our Discord server