OpenLoL 本地 MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- OpenLoL 是一个本地 MCP 服务器实现,部署后可为 MCP 客户端提供对指定文件夹的受控访问、运行系统命令、读取/写入文件等能力,并通过 MCP 的工具与提示模板机制与 AI 客户端交互。
-
主要功能点
- 提供两种传输方式:Streamable HTTP(用于现代 MCP 客户端,如 Claude Desktop、Cursor)和 SSE(向后兼容的客户端)。
- 支持会话管理:为每个 MCP 客户端会话创建独立的传输与 MCP 服务器实例,保证隔离。
- 资源与工具管理:暴露一组经过沙箱限制的工具,如执行命令、读写/删除文件、目录操作、获取系统信息、磁盘使用与环境变量等。
- 安全与边界控制:把操作限定在指定的根文件夹内,禁止跨目录访问;需要会话令牌进行认证。
- 灵活的服务器配置:通过 CLI 指定要暴露的根文件夹路径,服务器启动后会输出连接所需的 URL 与令牌。
-
安装步骤
- 克隆仓库并安装依赖
- 构建并本地链接命令行工具
- 通过命令启动服务器,例如:
- openlol -f /path/to/your/folder
- 服务器启动后,会显示用于连接的主 URL、令牌和健康检查地址等信息。
-
服务器配置(MCP 客户端所需配置信息示例) 说明:MCP 客户端需要一个用于启动服务器的命令及参数,以及服务器的名称。以下为示例配置,实际运行时请根据本地环境替换路径与端口。
{ "serverName": "openlol", "command": "openlol", "args": ["-f", "/path/to/your/folder", "-p", "3333"] }
注释说明:
- serverName: MCP 客户端在本地进行集合管理时使用的名称,与服务器的实际名称一致。
- command: 启动本 MCP 服务器的命令,仓库提供的默认命令为 openlol(需已全局可执行,通常通过 npm link 获得)。
- args: 启动命令的参数,示例中包含指定暴露的根文件夹和监听端口。仅用于客户端示例,实际部署时请传入你要暴露的文件夹以及期望端口等参数。
- 备注:MCP 客户端从服务器启动后获得连接的 URL(如 http://localhost:3333/mcp?token=xxxx),后续通过该 URL 与服务器进行交互。
-
基本使用方法
- 启动后,按照控制台输出的信息在你的 MCP 客户端中配置服务器连接。
- 使用工具执行你需要的操作(如执行命令、读取文件、写入文件等),工具调用会在指定的本地文件夹范围内执行,确保安全边界。
- 客户端通过 JSON-RPC 形式的请求与服务器交流,服务器返回对应的 JSON-RPC 响应或推送通知。支持的请求包括获取工具列表、执行工具等。