system-file-handler

MCP Tools

通过 MCP stdio 提供文件系统操作(列出目录、读写文件、创建目录、删除与移动),由独立 go-fs-mcp-server 执行实际 IO。

Install

openclaw skills install system-file-handler

文件系统 MCP 技能(Go 版)

当用户需要列出目录、读取/写入文件、创建文件夹、删除或移动文件时使用本 Skill。

本 Skill 不直接操作文件,仅做参数校验与 MCP 转发;实际 IO 由 go-fs-mcp-server 完成。

架构

OpenClaw 对话
    → go-fs-mcp-skill(参数校验 + JSON 封装)
        → go-fs-mcp-server(MCP stdio,6 个文件 Tool)
            → 文件系统

触发词

  • 列出目录
  • 读取文件
  • 写入文件
  • 创建文件夹
  • 删除文件
  • 移动文件

在对话中使用自然语言并带上路径即可,例如:

列出 /mnt/e/github/go-fs-mcp 目录内容
读取 /mnt/e/github/go-fs-mcp/README.md

MCP 工具映射

toolName必填 params说明
list_directorypath列出目录
read_filepath读取 UTF-8 文本
write_filepath, content写入/覆盖文件
create_directorypath创建多级目录
delete_filepath删除文件或目录
move_filesource, destination移动/重命名

安装依赖(二进制)

go-fs-mcp 源码构建两个二进制,并放入本 Skill 目录或加入 PATH:

git clone https://github.com/go-fs-mcp/go-fs-mcp.git
cd go-fs-mcp
go build -o go-fs-mcp-server/go-fs-mcp-server ./go-fs-mcp-server/cmd/server
go build -o go-fs-mcp-skill/go-fs-mcp-skill ./go-fs-mcp-skill/cmd/skill

也可使用本目录下的 scripts/build.shscripts/build.ps1(需已 clone 完整仓库)。

详细步骤见 INSTALL.md

配置 skill.json

安装后编辑本目录下的 skill.json,将 config.mcp_command 改为 go-fs-mcp-server 的绝对路径

WSL 示例:

"config": {
  "mcp_command": "/home/user/.openclaw/skills/go-fs-mcp-skill/go-fs-mcp-server",
  "mcp_args": [],
  "timeout": 10
}

Windows 示例:

"config": {
  "mcp_command": "e:\\github\\go-fs-mcp\\go-fs-mcp-server\\go-fs-mcp-server.exe",
  "mcp_args": [],
  "timeout": 10
}

也可复制环境模板:skill.wsl.jsonskill.windows.json

CLI 调用格式

go-fs-mcp-skill '{"toolName":"list_directory","params":{"path":"/path/to/dir"}}'

成功返回:

{"success":true,"message":"MCP 工具 list_directory 执行成功","data":{"toolName":"list_directory","result":"..."}}

OpenClaw 启用

~/.openclaw/openclaw.json 顶层添加:

{
  "skills": {
    "entries": {
      "go-fs-mcp-skill": { "enabled": true }
    }
  }
}

安装后执行 openclaw gateway restart

完整操作流程见仓库 docs/OPERATIONS.md