一个简单的模型上下文协议(MCP)服务器,提供文件系统操作。此服务器提供了一个干净的API,在指定的项目目录内执行文件系统操作,遵循MCP协议设计。
这个MCP服务器使像Claude(通过Claude Desktop)或其他兼容MCP的系统这样的AI助手能够与你的本地文件系统进行交互。这些能力使得AI助手可以:
所有操作都被安全地限制在你指定的项目目录内,这给你提供了控制权,同时允许强大的AI协作在你的本地文件上。
通过将你的AI助手连接到你的文件系统,你可以将你的工作流程从手动编码转变为更直观的提示方法——用自然语言描述你需要什么,并让AI生成、修改和组织代码直接在你的项目文件中。
list_directory: 列出项目目录中的所有文件和目录read_file: 读取文件的内容save_file: 原子地写入文件内容append_file: 将内容追加到文件末尾delete_this_file: 从文件系统中删除指定的文件edit_file: 使用精确字符串匹配进行选择性编辑move_file: 在项目内移动或重命名文件和目录get_reference_projects: 发现可用的参考项目list_reference_directory: 列出参考项目中的文件read_reference_file: 读取参考项目中的文件Structured Logging: 全面的日志系统,包括人类可读和JSON格式# 克隆仓库
git clone https://github.com/MarcusJellinghaus/mcp_server_filesystem.git
cd mcp_server_filesystem
# 创建并激活虚拟环境(可选但推荐)
python -m venv venv
source venv/bin/activate # 在Windows上:venv\Scripts\activate
# 使用pyproject.toml安装依赖项
pip install -e .
安装完成后,你可以直接使用mcp-server-filesystem命令:
mcp-server-filesystem --project-dir /path/to/project [--reference-project NAME=/path/to/reference]... [--log-level LEVEL] [--log-file PATH]
--project-dir: (必需)要服务文件的目录--reference-project: (可选)添加参考项目的格式为name=/path/to/dir(可重复,自动重命名重复项)--log-level: (可选)设置日志级别(DEBUG, INFO, WARNING, ERROR, CRITICAL)--log-file: (可选)结构化JSON日志的路径。如果没有指定,默认为project_dir/logs/mcp_filesystem_server_{timestamp}.log。该服务器使用FastMCP进行操作。项目目录参数(--project-dir)出于安全原因是必需的。所有文件操作都将被限制在这个目录内。尝试访问该目录之外的文件将导致错误。
服务器提供了灵活的日志选项:
project_dir/logs/mcp_filesystem_server_{timestamp}.log 或自定义路径使用 --log-file)--console-only 禁用文件日志参考项目允许你向AI助手提供附加代码库或目录的只读访问权限,以便于上下文和参考。此功能使LLM能够在浏览和阅读多个项目的文件的同时,仅维护对主项目目录的写入访问权限。
使用 --reference-project 参数添加参考项目:
# 单个参考项目
mcp-server-filesystem --project-dir ./my-project --reference-project docs=./documentation
# 多个参考项目
m[...]