使用说明

项目简介

Python Filesystem MCP Server 是一个基于 Python 和 FastAPI 构建的 MCP 服务器实现。它允许 LLM 客户端通过 MCP 协议访问服务器本地文件系统中的文件和目录信息。该服务器旨在作为 LLM 应用的上下文信息提供者,使其能够安全地与本地文件系统进行交互。

主要功能点

  • 文件和目录信息查询: 提供文件和目录的详细信息,包括名称、类型、大小、创建/修改时间、权限等。
  • 目录浏览: 允许客户端浏览指定目录及其子目录结构。
  • 路径安全限制: 仅允许访问预先配置的目录列表中的文件,防止未授权的文件系统访问。
  • 标准 MCP 协议: 完全遵循 Model Context Protocol (MCP) 规范,确保与 MCP 客户端的兼容性。

安装步骤

  1. 环境准备: 确保已安装 Python 3.7 或更高版本。
  2. 下载代码: 从 GitHub 仓库下载 'mcp' 仓库的 ZIP 文件或使用 'git clone https://github.com/disocodes/mcp' 克隆仓库到本地。
  3. 进入目录: 在终端中,导航到 'mcp/python-filesystem-mcp' 目录。
  4. 安装依赖: 运行以下命令安装所需的 Python 包:
    pip install fastapi uvicorn mcp pydantic

服务器配置

MCP 客户端需要配置以下信息以连接到 Python Filesystem MCP Server:

{
  "serverName": "mcp-file-server",
  "command": "python",
  "args": ["server.py"]
}

参数说明:

  • 'serverName': 服务器名称,此处为 'mcp-file-server',在代码中定义。
  • 'command': 启动服务器的命令,这里使用 'python' 解释器。
  • 'args': 传递给 'python' 命令的参数,即服务器脚本 'server.py'。

配置注意事项:

  • 默认配置下,服务器只允许访问启动 'server.py' 脚本所在的目录及其子目录。
  • 如需修改允许访问的目录,请编辑 'python-filesystem-mcp/server.py' 文件,修改 'MCPFileServer' 类初始化时的 'allowed_paths' 参数。例如,修改为 'allowed_paths=["/path/to/allowed/directory1", "/path/to/allowed/directory2"]'。

基本使用方法

  1. 启动服务器: 在终端中,导航到 'mcp/python-filesystem-mcp' 目录,并执行配置中定义的命令启动服务器:
    python server.py
    服务器默认会在 'http://127.0.0.1:8000/mcp/v1' 启动并监听请求。
  2. 客户端请求: 配置 MCP 客户端连接到 'http://127.0.0.1:8000/mcp/v1',并发送符合 MCP 协议的请求,例如 'GetContextRequest',以获取文件或目录信息。客户端需要指定文件或目录的路径作为参数。服务器会返回包含文件信息的 JSON 响应。

示例 'GetContextRequest' (假设客户端发送的 JSON-RPC 请求):

{
  "jsonrpc": "2.0",
  "method": "MCP.GetContext",
  "params": {
    "path": "."  // 请求当前工作目录的信息
  },
  "id": 1
}

服务器会返回包含当前工作目录文件和目录信息的 JSON 响应。

信息

分类

数据库与文件