Filesys

Filesys

🚀 文件系统 MCP 服务器

文件系统 MCP 服务器是一个安全的模型上下文协议(MCP)服务器,它能够提供受控访问指定目录的文件系统操作,保障文件操作的安全性与可控性。

🚀 快速开始

本服务器可通过环境变量控制目录访问,且所有文件操作都受限于允许的目录内。以下是快速使用的步骤:

  1. 安装项目
  2. 配置允许访问的目录
  3. 构建项目
  4. 集成到 Claude Desktop(可选)

✨ 主要特性

  • 环境变量控制访问:通过环境变量控制目录访问,灵活且安全。
  • 操作范围受限:所有文件操作都被限制在允许的目录内,防止越权操作。
  • 线程安全缓存:线程安全的缓存允许目录功能,提升性能。
  • 空格路径处理:能够正确处理包含空格的路径,避免路径解析错误。

📦 安装指南

使用以下命令安装项目:

go get github.com/gomcpgo/filesys

📚 详细文档

配置

使用环境变量设置允许目录:

export MCP_ALLOWED_DIRS="/path1,/path2,/path with spaces/dir3"

工具集

文件读取

  • read_file:读取单个文件内容
  • read_multiple_files:同时读取多个文件

文件写入

  • write_file:创建或覆盖文件

目录操作

  • create_directory:创建新目录
  • list_directory:列出目录内容
  • list_allowed_directories:显示可访问的目录

文件管理

  • move_file:移动或重命名文件和目录
  • get_file_info:获取文件元数据
  • search_files:递归搜索带有模式匹配的文件

与 Claude Desktop 集成

将以下内容添加到 claude_desktop_config.json

{
"mcpServers": {
"filesystem": {
"command": "/path/to/filesys",
"env": {
"MCP_ALLOWED_DIRS": "/path1,/path2,/path with spaces/dir3"
}
}
}
}

💻 使用示例

基础用法

读取文件

{
"name": "read_file",
"arguments": {
"path": "/allowed/path/file.txt"
}
}

列出目录内容

{
"name": "list_directory",
"arguments": {
"path": "/allowed/path"
}
}

🔧 技术细节

安全性

  • 操作受限:所有操作受限于允许的目录,防止越权访问。
  • 攻击防范:防止路径遍历攻击,保障系统安全。
  • 权限验证:操作前进行权限验证,确保操作合法。
  • 错误处理:正确处理错误和日志记录,方便问题排查。

构建

go build -o bin/filesys cmd/main.go

📄 许可证

本项目采用 MIT License 许可协议。

项目贡献

欢迎提交拉取请求。请确保:

  • 测试通过
  • 新功能包含文档
  • 代码遵循项目风格
  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-29 10:06

相似服务问题