项目简介

本项目 'WSL文件系统MCP服务器' 是一个基于 Model Context Protocol (MCP) 构建的应用后端,专为 Windows Subsystem for Linux (WSL) 环境设计。它允许LLM客户端通过标准化的MCP协议,安全、便捷地访问和操作WSL文件系统中的文件和目录。此服务器是原始 Filesystem MCP Server 的一个分支,针对WSL环境进行了深度优化和定制。

主要功能点

  • 跨系统访问: 从Windows主机直接访问任何已安装的WSL发行版。
  • 文件读写: 在Windows环境下读写WSL中的文件。
  • 目录管理: 在WSL中创建、列出和删除目录。
  • 文件移动: 在WSL文件系统内移动文件和目录。
  • 文件搜索: 在WSL文件系统中搜索文件。
  • 元数据获取: 获取WSL文件系统中文件和目录的详细元数据。
  • 多发行版支持: 支持同时管理多个WSL发行版。
  • 权限控制: 服务器仅允许操作通过启动参数指定的目录及其子目录,保障安全性。

安装步骤

  1. 安装Node.js: 确保您的Windows系统已安装Node.js (v14.0.0 或更高版本)。您可以从 Node.js官网 下载安装程序。
  2. 安装项目依赖并构建: 打开命令提示符或PowerShell,导航到您克隆的仓库目录,并执行以下命令:
    npm install
    npm run build
    这两个命令会安装项目所需的依赖包,并编译TypeScript代码生成可执行的JavaScript文件。

服务器配置

MCP服务器需要配置在MCP客户端中才能使用,例如 Claude Desktop。以下是配置 'WSL文件系统MCP服务器' 的JSON格式配置信息,您需要将其添加到您的MCP客户端配置文件中(例如 'claude_desktop_config.json'):

选项 1:使用特定的WSL发行版

{
  "mcpServers": {
    "wsl-filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-wsl-filesystem",
        "--distro=Ubuntu-20.04",  // 指定要使用的WSL发行版名称,例如 Ubuntu-20.04
        "/home/user/documents"   // 指定允许访问的WSL目录,可以添加多个目录
      ]
    }
  }
}

选项 2:使用默认的WSL发行版

{
  "mcpServers": {
    "wsl-filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-wsl-filesystem",
        "/home/user/documents"   // 指定允许访问的WSL目录,可以添加多个目录
      ]
    }
  }
}
  • 'server name': 'wsl-filesystem' (服务器名称,客户端配置中用于标识和调用)
  • 'command': 'npx' (用于执行Node.js包的命令)
  • 'args': 启动服务器的参数列表
    • '-y': 'npx' 参数,自动确认执行包安装(如果需要)。
    • 'mcp-server-wsl-filesystem': 要执行的npm包名称,'npx' 会自动查找并执行本地或全局安装的此包。
    • '--distro=Ubuntu-20.04' (可选): 指定要连接的WSL发行版。如果省略,则使用默认WSL发行版。
    • '/home/user/documents' (必选): 指定允许MCP客户端访问的WSL目录。可以添加多个目录,空格分隔。请务必根据您的实际WSL目录路径进行修改。

注意

  • 'command' 和 'args' 定义了MCP客户端启动和连接MCP服务器的方式。
  • 请确保根据您的实际WSL环境和需要访问的目录,正确配置 'args' 中的参数。
  • MCP客户端会读取以上配置信息,并根据 'command' 和 'args' 启动 'WSL文件系统MCP服务器',建立连接后即可通过MCP协议调用服务器提供的文件系统工具。

基本使用方法

  1. 启动服务器: 在完成安装和配置后,MCP客户端(如 Claude Desktop)会自动根据您提供的配置信息启动 'WSL文件系统MCP服务器'。您也可以在命令行手动启动服务器进行测试:

    node dist/index.js [--distro=发行版名称] <允许访问的目录> [更多允许访问的目录...]

    例如:

    node dist/index.js --distro=Ubuntu-20.04 /home/user/documents /mnt/c/data
  2. 在MCP客户端中使用: 一旦服务器成功启动并与MCP客户端建立连接,您就可以在MCP客户端中,通过调用服务器提供的工具(例如 'read_file', 'write_file' 等)来操作WSL文件系统。具体的调用方式和工具使用方法请参考您的MCP客户端文档。

信息

分类

桌面与硬件