使用说明
项目简介
Python Filesystem MCP Server 是一个基于 Python 和 FastAPI 构建的 MCP 服务器实现。它允许 LLM 客户端通过 MCP 协议访问服务器本地文件系统中的文件和目录信息。该服务器旨在作为 LLM 应用的上下文信息提供者,使其能够安全地与本地文件系统进行交互。
主要功能点
- 文件和目录信息查询: 提供文件和目录的详细信息,包括名称、类型、大小、创建/修改时间、权限等。
- 目录浏览: 允许客户端浏览指定目录及其子目录结构。
- 路径安全限制: 仅允许访问预先配置的目录列表中的文件,防止未授权的文件系统访问。
- 标准 MCP 协议: 完全遵循 Model Context Protocol (MCP) 规范,确保与 MCP 客户端的兼容性。
安装步骤
- 环境准备: 确保已安装 Python 3.7 或更高版本。
- 下载代码: 从 GitHub 仓库下载 'mcp' 仓库的 ZIP 文件或使用 'git clone https://github.com/disocodes/mcp' 克隆仓库到本地。
- 进入目录: 在终端中,导航到 'mcp/python-filesystem-mcp' 目录。
- 安装依赖: 运行以下命令安装所需的 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"]'。
基本使用方法
- 启动服务器: 在终端中,导航到 'mcp/python-filesystem-mcp' 目录,并执行配置中定义的命令启动服务器:
服务器默认会在 'http://127.0.0.1:8000/mcp/v1' 启动并监听请求。python server.py - 客户端请求: 配置 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 响应。
信息
分类
数据库与文件