项目简介

mcp_server_filesystem 是一个非官方的、用于演示 Model Context Protocol (MCP) 文件系统服务器功能的项目。它允许LLM客户端通过MCP协议安全地访问和操作服务器预先配置的目录下的文件。该项目基于Claude的文件系统MCP服务器实现,但并非Anthropic官方产品,仅供学习和概念验证目的使用。

主要功能点

  • 安全的文件访问控制:仅允许访问服务器配置中指定的目录及其子目录,防止未授权的文件系统访问。
  • 文件和目录操作:支持读取文件内容、写入文件、创建目录、列出目录内容、移动/重命名文件、搜索文件、获取文件元数据以及追加内容到文件等操作。
  • MCP协议标准支持:实现了MCP协议的服务器端,可以与支持MCP协议的LLM客户端(如Claude Desktop)进行交互。
  • Prompt模板:提供了一个简单的Prompt模板,用于演示文件系统服务器的功能。
  • 工具注册与调用:注册了一系列文件系统操作工具,供LLM客户端调用执行。

安装步骤

  1. 安装 UVX (可选但推荐):UVX 是一个快速的Python虚拟环境和包管理器,可以简化安装过程。如果已安装可跳过。

    # 如果没有安装 uv,请先安装 uv
    pip install uv
  2. 创建并激活虚拟环境

    uv venv
    .venv\Scripts\activate  # Windows
    source .venv/bin/activate # macOS 或 Linux
  3. 安装 mcp_server_filesystem

    uv pip install -e .

服务器配置

要将该文件系统MCP服务器与MCP客户端(例如 Claude Desktop)配合使用,您需要配置客户端以连接到此服务器。以下是 Claude Desktop 'claude_desktop_config.json' 文件的配置示例:

{
  "mcpServers": {
    "myFiles": {
      "command": "mcp-server-filesystem",
      "args": [
        "D:/" // 将 "D:/" 替换为您想要允许访问的根目录,可以使用绝对路径,支持多个目录
        // "C:/Users/YourUsername/Documents",
        // "~/Desktop"
      ]
    }
  }
}

配置参数说明

  • '"myFiles"': 服务器名称,可以自定义,在客户端中用于标识该服务器。
  • '"command"': 启动 MCP 服务器的命令。 'mcp-server-filesystem' 是安装后可直接执行的命令。
  • '"args"': 传递给 'mcp-server-filesystem' 命令的参数,用于指定允许访问的文件系统根目录。请务必将示例中的 '"D:/"' 替换为您实际想要授权访问的目录。可以配置多个目录,每个目录作为一个字符串参数。 请注意,只有此处指定的目录及其子目录会被允许访问,确保配置的目录是安全的。

注意: 修改 'claude_desktop_config.json' 文件后,通常需要重启 Claude Desktop 才能使配置生效。

基本使用方法

  1. 启动 MCP 服务器: 当 Claude Desktop (或其他 MCP 客户端) 尝试连接配置的 MCP 服务器时,'mcp-server-filesystem' 命令会被自动调用启动。您无需手动单独启动服务器。

  2. 在 MCP 客户端中使用

    • 打开 Claude Desktop (或其他 MCP 客户端)。
    • 客户端通常会提供一个集成的入口来访问 MCP 服务器的功能,例如 Claude Desktop 中,您可以:
      • 点击附件图标(回形针图标)。
      • 选择 MCP 集成菜单(通常图标是两个连接的插头)。
      • 您配置的文件系统服务器(例如 "myFiles")应该会出现在集成列表中。
  3. 通过 LLM 交互使用文件系统工具: 在与 LLM 的对话中,您可以指示 LLM 使用文件系统工具来完成诸如读取文件、写入文件、创建目录等任务。LLM 会根据您的指示,调用文件系统服务器提供的工具,并返回结果。

例如,您可以指示 LLM 完成以下操作:

  • "读取 D:/example.txt 文件的内容"
  • "在 D:/new_directory 目录下创建一个名为 test 的子目录"
  • "列出 D:/documents 目录下的所有文件和文件夹"

请注意,具体的交互方式取决于您使用的 MCP 客户端的功能和界面。请参考您使用的 MCP 客户端的文档以获取更详细的使用说明。

信息

分类

数据库与文件