文件系统MCP服务器

一个提供本地文件系统访问的Model Context Protocol (MCP)服务器,支持文件读写、目录操作和信息查询等功能。

  • by stepanowon
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 stepanowon/local-fs-mcp-server

使用说明

set_base_directory

设置要操作的基本目录。

  • path:设置为基本目录的路径

get_allowed_directories

查看当前允许的目录列表。

  • 无参数#文件系统MCP服务器

可以访问本地文件系统的Model Context Protocol(MCP)服务器。

项目结构

filesystem-mcp-server/
├── package.json               # 의존성 및 스크립트
├── README.md                  # 이 파일
└── src
  ├── index.js                 # 메인 서버 파일
  ├── config.js                # 설정 및 상수
  ├── pathUtils.js             # 경로 유틸리티
  ├── fileOperations.js        # 파일 작업 함수들
  ├── directoryOperations.js   # 디렉토리 작업 함수들
  ├── toolDefinitions.js       # MCP 도구 정의
  └── .env.example             # 환경변수 예제

功能

  • 使用文件

    • 读取文件(read_file)
    • 写入/创建文件(write_file)
    • 将内容添加到文件(append_file)
    • 删除文件(delete_file)
  • 使用目录

    • 创建目录(create_directory)
    • 删除目录(delete_directory)
    • 列出目录内容(list_directory)
  • 查询信息

    • 查看文件/目录信息(get_file_info)

设置

  1. 依赖性安装:
npm install
  1. 授权执行(Unix/Linux/MacOS):
chmod +x index.js

使用窗口环境中的绝对路径

在窗口中 D:\temp2\a.txt要使用绝对路径,如:

方法1:设置环境变量

# .env 파일 생성
MCP_ALLOWED_DIR=D:\temp2

方法2:设置基本目录

运行服务器后使用以下工具:

set_base_directory: D:\temp2

方法3:使用默认允许目录

默认情况下允许以下目录:

  • 当前工作目录
  • 用户主目录
  • Documents文件夹
  • 桌面文件夹
  • C: \temp、D:\temp和D:\temp2
  • /tmp、/var/tmp(Unix/Linux)

与Claude Desktop配合使用

在Claude Desktop的配置文件中添加以下内容:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "filesystem": {
      "command": "node",
      "args": ["/path/to/your/filesystem-mcp-server/index.js"]
    }
  }
}

工具列表

read_file

读取文件的内容。

  • path:要读取的文件的路径

write_file

将内容写入文件(创建新文件或覆盖现有文件)。

  • path:文件路径
  • content:写入内容

append_file

向文件添加内容。

  • path:文件路径
  • content:要添加的内容

delete_file

删除文件。

  • path:要删除的文件路径

create_directory

创建目录。

  • path:要创建的目录路径
  • recursive:是否同时创建父目录(可选,默认为false)

delete_directory

删除目录。

  • path:要删除的目录路径
  • recursive:是否同时删除子目录和文件(可选,默认为false)

list_directory

列出目录的内容。

  • path:要列出的目录路径

get_file_info

获取文件或目录的信息。

  • path:要导入信息的文件/目录路径

安全注意事项

此服务器提供对本地文件系统的完全访问权限。在生产环境中使用时,请考虑以下事项:

  1. 路径限制:添加限制访问特定目录的功能
  2. 验证权限:在使用文件之前验证适当的权限
  3. 验证输入:增强输入验证以防止路径注入攻击

要求

  • Node.js 18.0.0或更高版本
  • @模型上下文协议/sdk

许可证

麻省理工学院