Filesystem MCP Server SSE

Filesystem MCP Server SSE

🚀 文件系统 MCP 服务端 SSE

这是一个基于 Node.js 的文件系统 SSE 服务端,实现了模型上下文协议(MCP),可用于文件系统操作,如文件的读写、目录的管理等。

✨ 主要特性

  • 支持读取和写入文件。
  • 能够创建、列出和删除目录。
  • 可移动文件和目录。
  • 支持文件搜索功能。
  • 能获取文件的元数据。

⚠️ 重要提示

服务器仅允许在通过 args 参数指定的目录内执行操作。

📄 API 文档

资源路径

  • file://system:文件系统操作接口

工具方法

read_file

  • 功能:读取文件的完整内容。
  • 输入参数:path(字符串)
  • 说明:使用 UTF-8 编码读取整个文件内容。

read_multiple_files

  • 功能:同时读取多个文件。
  • 输入参数:paths(字符串数组)
  • 说明:读取失败不会终止整个操作。

write_file

  • 功能:创建新文件或覆盖现有文件(使用时需谨慎)。
  • 输入参数:
    • path(字符串):文件路径
    • content(字符串):文件内容

edit_file

  • 功能:使用高级模式匹配和格式化进行选择性编辑。
  • 特性:
    • 支持行级及多行内容匹配。
    • 自动检测缩进并保留缩进样式。
    • 支持同时执行多个编辑操作并正确定位。
    • 自动生成带有上下文的 Git 风格 diff 输出。
    • 干运行模式下可以预览更改(默认:false)。
  • 输入参数:
    • path(字符串):要编辑的文件路径
    • edits(数组):编辑操作列表
      • oldText(字符串):搜索匹配的文本(可以是子字符串)
      • newText(字符串):替换的文本
    • dryRun(布尔值):预览更改而不实际应用(默认:false)
  • 说明:返回详细 diff 和匹配信息( dryRun 模式),否则应用更改。最佳实践是始终使用干运行模式预览更改,确认无误后再执行。

create_directory

  • 功能:创建新目录或确保目录存在。
  • 输入参数:path(字符串)
  • 说明:如果需要自动创建父级目录,此方法会成功创建;如果目录已存在,则静默成功。

list_directory

  • 功能:列出目录内容,文件前缀为 [FILE],目录前缀为 [DIR]。
  • 输入参数:path(字符串)

move_file

  • 功能:移动或重命名文件和目录。
  • 输入参数:
    • source(字符串):源路径
    • destination(字符串):目标路径
  • 说明:如果目标已存在,则操作失败。

search_files

  • 功能:递归搜索文件/目录。
  • 输入参数:
    • path(字符串):起始目录
    • pattern(字符串):搜索模式
    • excludePatterns(字符串数组):排除的模式列表,支持 glob 格式
  • 说明:不区分大小写匹配,返回完整的匹配文件路径。

get_file_info

  • 功能:获取文件/目录的详细元数据。
  • 输入参数:path(字符串)
  • 返回结果:
    • name(字符串):名称
    • type(字符串):"file" 或 "directory"
    • size(数字):大小(字节)
    • mtime(时间戳):最后修改时间
    • ctime(时间戳):创建时间

get_file_list

  • 功能:获取指定目录下的所有文件和子目录。
  • 输入参数:
    • path(字符串):要列出的目录路径
    • recursive(布尔值,默认:false):是否递归遍历子目录
  • 返回结果:包含文件和目录信息的数组

💻 使用示例

[基础用法]

本地运行示例

  1. 安装依赖:
npm install
  1. 启动服务:
node index.js
  1. 使用 curl 测试接口:
curl -X POST http://localhost:3000/file-system/read-file \
-H "Content-Type: application/json" \
-d '{"path": "/test.txt"}'

[高级用法]

Docker 运行示例

  1. 打包镜像:
docker build -t file-system-mcp .
  1. 启动容器:
docker run -p 3000:3000 --name file-system-service file-system-mcp

📚 详细文档

注意事项

  • 所有文件操作均需处理可能的异常情况,例如权限不足、文件不存在等。
  • 默认情况下,服务器会对所有请求进行基本的身份验证和授权检查。
  • 支持设置最大上传文件大小限制和并发连接数限制。

📄 许可证

本项目遵循 MIT 许可证协议。更多信息请查看项目仓库中的 LICENSE 文件。

  • 0 关注
  • 0 收藏,9 浏览
  • system 提出于 2025-09-29 16:09

相似服务问题