MCP File Server

MCP File Server

site icon
2025.03.30 0
JavaScript文件服务文件管理Git 集成文件管理
MCP File Server 是一个基于 Model Context Protocol (MCP) 的安全文件服务器实现,为文件系统操作提供标准化接口。它是一个 Node.js 应用程序,专门用于文件操作,通过与 MCP 协议的集成,为 AI 助手(如 Claude)和开发者工具(如 Cursor)提供安全、标准化的文件系统交互方式。
View on GitHub

Overview

基本能力

产品定位

MCP File Server 是一个安全、标准化的文件操作服务,旨在为 AI 助手和开发者工具提供文件系统交互能力。

核心功能

  1. 文件操作
  2. list_files: 列出指定目录中的文件
  3. read_file: 读取文件内容
  4. write_file: 写入文件内容
  5. delete_file: 删除文件或目录
  6. set_base_directory: 直接从聊天界面设置文件操作的基础目录
  7. get_base_directory: 获取当前基础目录

  8. Git 操作

  9. git_command: 在基础目录中执行 git 命令

  10. 安全特性

  11. 强大的路径验证以防止目录遍历攻击
  12. 文件路径的仔细规范化和解析
  13. 命令验证以防止命令注入
  14. 操作记录到专用日志文件以供审计
  15. 安全处理相对路径

适用场景

  1. 与 AI 助手集成进行文件操作
  2. 开发者工具中的文件管理
  3. 需要安全文件操作的项目
  4. 需要从聊天界面直接控制文件系统的场景
  5. 需要集成 Git 操作的项目

工具列表

  1. 文件操作工具:提供基本的文件系统操作能力
  2. Git 操作工具:允许从聊天界面执行 Git 命令

常见问题解答

  1. 路径访问错误:确保 BASE_DIRECTORY 设置为进程有权访问的位置
  2. 连接被拒绝:确保在尝试连接前服务器正在运行
  3. 工具未找到:验证配置中的工具名称是否与服务器中定义的完全匹配
  4. 端口冲突:如果运行多个 MCP 服务器,确保它们使用不同的端口
  5. 无效的基础目录:从聊天设置基础目录时,确保提供绝对路径
  6. Git 命令错误:确保 Git 已安装且基础目录是有效的 Git 仓库

使用教程

使用依赖

  • Node.js >= 16.0.0
  • npm 或 yarn 包管理器
  • Git(用于 git_command 功能)

安装教程

  1. 克隆仓库: git clone <repository-url> cd mcp-file-server
  2. 安装依赖: npm install

配置

环境变量

  • BASE_DIRECTORY:(可选)文件操作的基础目录路径。如果未指定,默认为项目根目录中的 files 目录。

目录结构

  • /files: 文件操作的默认基础目录
  • /log: 包含调试日志文件

启动服务器

npm start

开发模式(自动重载):

npm run dev

调试方式

  1. 检查日志文件:log/mcp_debug.log 包含服务器操作的详细信息
  2. 常见问题排查:
  3. 确保路径权限正确
  4. 确保服务器已启动
  5. 验证工具名称匹配
  6. 检查端口冲突
  7. 确保 Git 已正确安装

许可证

None