文件系统MCP服务器

一个支持流式HTTP传输的文件系统MCP服务器,提供全面的文件系统操作功能。

  • by njbrake
  • Python
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 njbrake/filesystem-mcp-server

使用说明

文件系统mcp服务器

支持流式HTTP传输的文件系统MCP服务器。通过模型上下文协议提供全面的文件系统操作。

作为替代方案创建 官方MCP文件系统服务器 使用现代的流式HTTP传输,而不是弃用的SSE。

特性

  • 可流式HTTP传输 -现代MCP协议
  • 8文件系统操作 -读取、写入、列出、创建、删除、移动和检查文件/目录
  • 安全第一 -具有路径遍历保护的可配置根目录
  • Docker就绪 -多弓图像(amd64/arm64)发布给GHCR

快速开始

Docker(推荐)

docker pull ghcr.io/njbrake/filesystem-mcp-server:main

docker run -d \
  --name filesystem-mcp \
  -p 8123:8123 \
  -v /path/to/your/files:/data \
  ghcr.io/njbrake/filesystem-mcp-server:main

可用标签: main (最新), v* (发布), main-<sha> (承诺)

带uv的Python

cd filesystem-mcp-server
uv sync
uv run filesystem-mcp --allowed-root /path/to/files --port 8123

服务器终结点: http://localhost:8123/mcp

命令行选项

选项 默认值 描述
--port 8123 要监听的端口
--allowed-root . 文件系统操作的根目录

可用工具

服务器为文件系统操作提供了8个MCP工具:

工具 说明 参数
read_file 以文本形式读取文件内容 path
list_directory 列出包含元数据的目录内容 path (可选,默认值:“.”)
write_file 创建或覆盖文件 path, content
create_directory 创建目录(带父目录) path
delete_file 删除文件 path
delete_directory 删除目录 path, recursive (可选)
move_path 移动或重命名文件/目录 source, destination
get_file_info 获取文件/目录元数据 path

所有路径都是相对于配置的 --allowed-root.

安全

这 --allowed-root 参数将所有文件系统操作限制在指定的目录树中。路径验证可防止目录遍历攻击:

  1. 路径相对于允许的根进行解析
  2. Symlinks和 .. 组件被规范化
  3. 最终路径必须在允许的根目录内
  4. 逃跑的尝试被拒绝(例如。, ../../../etc/passwd)

重要提示: 切勿将系统关键目录作为允许的根目录运行。

Docker详细信息

自定义配置

# Different port
docker run -p 8000:8000 \
  -v /my/files:/data \
  ghcr.io/njbrake/filesystem-mcp-server:main \
  --allowed-root /data --port 8000

# Build locally
docker build -t filesystem-mcp-server .

集装箱详细信息

  • 默认端口:8123
  • 默认允许的根: /data
  • 卷装载点: /data
  • 多架构:linux/amd64、linux/arm64

测试

# List available tools
curl -X POST http://localhost:8123/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

# Read a file
curl -X POST http://localhost:8123/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc":"2.0",
    "method":"tools/call",
    "params":{
      "name":"read_file",
      "arguments":{"path":"README.md"}
    },
    "id":2
  }'

关于MCP

此服务器实现 模型上下文协议,一种用于LLM应用程序和外部工具之间无缝集成的开放协议。

用途 可流式HTTP传输 (MCP规范2025-03-26),已弃用的HTTP+SSE的现代替代品。