X

mcp_server_filesystem

Information

MCP 文件系统服务器 一个简单的模型上下文协议 (MCP) 服务器,提供文件系统操作。该服务器遵循 MCP 协议设计,在指定的项目目录中提供干净的 API 来执行文件系统操作。 概述 此 MCP 服务器使像 Claude(通过 Claude Desktop)或其他兼容 MCP 的系统这样的 AI 助手能够与您的本地文件系统进行交互。借助这些功能,AI 助手可以: 读取您现有的代码和项目文件 用生成的内容写入新文件 使用模式匹配精确更新和修改现有文件 在不重写整个文件的情况下选择性地编辑代码 根据需要删除文件 审查存储库以提供分析和建议 调试并修复代码库中的问题 根据您的规范生成完整的实现 所有操作都安全地包含在您指定的项目目录内,让您在控制的同时能够对本地文件进行强大的 AI 协作。 通过将 AI 助手连接到您的文件系统,您可以将工作流程从手动编码转变为更直观的提示方法——用自然语言描述您的需求,让 AI 直接在您的项目文件中生成、修改和组织代码。 功能 list_directory:列出项目目录中的所有文件和目录 read_file:读取文件内容 save_file:原子性地将内容写入文件 append_file:将内容追加到文件末尾 delete_this_file:从文件系统中删除指定文件 edit_file:使用高级模式匹配进行选择性编辑 结构化日志:具有人类可读和 JSON 格式的综合日志系统 安装 # Clone the repository git clone https://github.com/MarcusJellinghaus/mcp_server_filesystem.git cd mcp-server-filesystem # Create and activate a virtual environment (optional but recommended) python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate # Install dependencies using pip with pyproject.toml pip install -e . 运行服务器 python -m src.main --project-dir /path/to/project [--log-level LEVEL] [--log-file PATH] 或者,您可以将当前目录添加到 PYTHONPATH 并直接运行脚本: set PYTHONPATH=%PYTHONPATH%;. python .\src\main.py --project-dir /path/to/project [--log-level LEVEL] [--log-file PATH] 命令行参数: --project-dir:(必需)要从中提供文件的目录 --log-level:(可选)设置日志级别(DEBUG, INFO, WARNING, ERROR, CRITICAL) --log-file:(可选)用于结构化 JSON 日志的路径。如果不指定,则仅使用控制台日志记录。 服务器使用 FastMCP 进行操作。出于安全原因,项目目录参数 (--project-dir) 是必需的。所有文件操作将被限制在这个目录内。尝试访问该目录外的文件将导致错误。 结构化日志 服务器提供了灵活的日志选项: 标准的人类可读日志到控制台 可选的结构化 JSON 日志到文件,使用 --log-file 函数调用跟踪,包括参数、时间戳和结果 自动捕获错误上下文 可配置的日志级别(DEBUG, INFO, WARNING, ERROR, CRITICAL) 集成选项 此服务器可以与不同的 Claude 接口集成。每个接口都需要特定的配置。 VSCode & Cline 扩展集成 Cline 扩展程序允许您直接在 VSCode 代码编辑器中使用 Claude。有关使用 Cline 配置 MCP 服务器的更多信息,请参阅 Cline MCP 服务器文档。 VSCode/Cline 配置步骤 找到 Cline MCP 配置文件: Windows: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json 添加 MCP 服务器配置(如果文件不存在则创建): \{ "mcpServers": \{ "filesystem": \{ "command": "C:\\path\\to\\mcp_server_filesystem\\.venv\\Scripts\\python.exe", "args": [ "C:\\path\\to\\mcp_server_filesystem\\src\\main.py", "--project-dir", "C:\\Users\\YourUsername\\Documents\\Projects\\MyProject", "--log-level", "INFO" ], "env": \{ "PYTHONPATH": "C:\\path\\to\\mcp_server_filesystem\\" \}, "disabled": false, "autoApprove": [ "list_directory", "read_file" ] \} \} \} 重要的 VSCode/Cline 特定注意事项: 将 $\{workspaceFolder\} 替换为您的项目目录的实际完整路径 例如:"C:\\Users\\YourUsername\\Documents\\Projects\\MyProject" 将所有 C:\\path\\to\\ 实例替换为您的实际路径 在 Windows 上使用双反斜杠 (\\),在 macOS/Linux 上使用正斜杠 (/) 项目目录应该是您希望 Claude 访问的文件夹 只有将您希望每次执行时无需批准的操作添加到 autoApprove 数组中 为了更好的安全性,考虑仅自动批准只读操作,如 list_directory 和 read_file 重启 VSCode 并通过让 Claude “列出当前项目目录中的文件”来测试 VSCode/Cline 集成故障排除 查看日志位置:%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\logs (Windows) 或 ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/logs (macOS) 确认 Python 可执行文件路径指向您的虚拟环境 确保配置中的所有路径正确无误 Claude 桌面应用程序集成 Claude 桌面应用程序也可以使用此文件系统服务器。 Claude 桌面应用配置步骤 找到 Claude 桌面应用程序配置文件: Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 添加 MCP 服务器配置(如果文件不存在则创建): \{ "mcpServers": \{ "filesystem": \{ "command": "C:\\path\\to\\mcp_server_filesystem\\.venv\\Scripts\\python.exe", "args": [ "C:\\path\\to\\mcp_server_filesystem\\src\\main.py", "--project-dir", "C:\\path\\to\\your\\specific\\project", "--log-level", "INFO" ], "env": \{ "PYTHONPATH": "C:\\path\\to\\mcp_server_filesystem\\" \}, "disabled": false, "autoApprove": [ "list_directory", "read_file" ] \} \} \} 重要的 Claude 桌面应用程序特定注意事项: 您必须在 --project-dir 中指定一个明确的项目目录路径 将所有 C:\\path\\to\\ 实例替换为您的实际路径 项目目录应该是您希望 Claude 访问的文件夹 只有将您希望每次执行时无需批准的操作添加到 autoApprove 数组中 为了更好的安全性,考虑仅自动批准只读操作,如 list_directory 和 read_file 重启 Claude 桌面应用程序 以应用更改 Claude 桌面应用程序集成故障排除 检查日志位置:%APPDATA%\Claude\logs (Windows) 或 ~/Library/Application Support/Claude/logs (macOS) 确保指定的项目目录存在且可访问 验证配置中的所有路径是否正确 使用 MCP Inspector MCP Inspector 允许您调试和测试您的 MCP 服务器: 通过运行以下命令启动 MCP Inspector: npx @modelcontextprotocol/inspector \ uv \ --directory C:\path\to\mcp_server_filesystem \ run \ src\main.py 在 MCP Inspector 的 Web UI 中,使用以下配置: Python 解释器: C:\path\to\mcp_server_filesystem\.venv\Scripts\python.exe 参数: C:\path\to\mcp_server_filesystem\src\main.py --project-dir C:\path\to\your\project --log-level DEBUG 环境变量: 名称: PYTHONPATH 值: C:\path\to\mcp_server_filesystem\ 这将启动服务器并提供一个用于测试可用工具的调试界面。 可用工具 服务器提供了以下 MCP 工具: 操作描述示例提示list_directory列出项目目录中的文件和子目录"列出 src 目录下的所有文件"read_file读取文件内容"显示 main.js 的内容"save_file创建或覆盖文件(原子操作)"创建一个新的 app.js 文件"append_file向现有文件中添加内容"向 utils.js 添加一个函数"delete_this_file从文件系统中删除文件"删除 temporary.txt 文件"edit_file使用模式匹配进行选择性编辑"修复 fetch 函数中的错误" 工具详情 列出目录 返回文件和目录名称列表 默认情况下,结果基于 .gitignore 模式过滤,并排除 .git 文件夹 读取文件 参数: file_path (字符串): 要读取的文件路径(相对于项目目录) 返回文件的内容作为字符串 保存文件 参数: file_path (字符串): 要写入的文件路径 content (字符串): 要写入文件的内容 返回布尔值表示是否成功 追加到文件 参数: file_path (字符串): 要追加内容的文件路径 content (字符串): 要追加到文件的内容 返回布尔值表示是否成功 注意: 文件必须已经存在;使用 save_file 来创建新文件 删除此文件 参数: file_path (字符串): 要删除的文件路径 返回布尔值表示是否成功 注意: 此操作不可逆,将永久删除文件 编辑文件 参数: file_path (字符串): 要编辑的文件 edits (数组): 编辑操作列表,每个包含: old_text (字符串): 要被替换的文本 new_text (字符串): 替换后的文本 dry_run (布尔值, 可选): 预览更改而不应用 options (对象, 可选): 格式设置 功能: 基于行和多行内容匹配 保留缩进的同时进行空白字符规范化 多个同时编辑且保持正确位置 具有上下文的 Git 风格差异输出 安全特性 所有路径都被规范化并验证,以确保它们保持在项目目录内 防止路径遍历攻击 文件以原子方式写入以防止数据损坏 删除操作限制在项目目录内以保证安全 开发 在 Windows 上设置开发环境 REM Clone the repository git clone https://github.com/MarcusJellinghaus/mcp_server_filesystem.git cd mcp-server-filesystem REM Create and activate a virtual environment python -m venv .venv .venv\Scripts\activate REM Install dependencies pip install -e . REM Install development dependencies pip install -e ".[dev]" 测试 项目在 tests/ 目录中包含了基于 pytest 的单元测试。有关测试结构和执行的详细信息,请参见 tests/README.md。 对于基于 LLM 的测试,请参阅 tests/LLM_Test.md。该文件包含可以直接粘贴到 LLM 中以验证 MCP 服务器功能的测试指令。 使用 MCP 开发工具运行 # Set the PYTHONPATH and run the server module using mcp dev set PYTHONPATH=. && mcp dev src/server.py 许可证 本项目采用 MIT 许可证 - 详情请参见 LICENSE 文件。 MIT 许可证是一种宽松的许可证,允许在最小限制下重用。它允许使用、复制、修改和分发,并需适当归属。 链接 MCP Python SDK MCP Python 代码检查器 Cline MCP 服务器文档 Cline VSCode 扩展 模型上下文协议文档

Prompts

Reviews

Tags

Write Your Review

Detailed Ratings

ALL
Correctness
Helpfulness
Interesting
Upload Pictures and Videos

Name
Size
Type
Download
Last Modified
  • Community

Add Discussion

Upload Pictures and Videos