WebAI-MCP
使用说明(Markdown 格式)
-
项目简介
- 这是一个基于 MCP 的本地服务器实现,旨在为 LLM 客户端提供对浏览器数据的上下文、可调用的工具,以及可渲染的提示模板。它通过 JSON-RPC 与 MCP 客户端通信,支持会话管理、能力声明,并实现多种传输协议的交互。
-
主要功能点
- MCP 服务器核心功能
- 注册并暴露“工具”(Tools),允许 LLM 客户端调用外部功能并获取结果。
- 提供对资源/数据的访问能力,支持浏览器数据的读取(如日志、网络数据、存储等)。
- 定义和渲染 Prompt 模板,支持可定制的 LLM 交互模式。
- 资源与工具的托管与管理
- 本地化存储日志、网络请求、截图等资源,提供读取、过滤、截断以适配 token 限制。
- Prompts 与模板
- 依据实际场景提供可渲染的提示模板,便于将浏览器上下文注入到 LLM 的对话中。
- 会话与能力声明
- 支持会话管理、能力声明(例如可用的工具集合、兼容的 MCP 客户端等)。
- 传输协议与客户端适配
- 服务器设计考虑了多种传输方式(如 Stdio、SSE、WebSocket 等),理论上支持在不同客户端和环境中工作。
- 兼容性与版本信息
- 具备版本检查与更新提示,便于维护与升级。
- MCP 服务器核心功能
-
安装步骤
- 使用 Node.js/TypeScript 版本的 MCP 服务端:
- 通过 NPM 全局安装或本地安装来获取 MCP 服务器组件,然后在代码或 IDE 配置中将 MCP 服务器命令指向该实现。
- 常用安装方式(简述,不含代码块):
- 全局运行模式:安装并全局启动 MCP 服务器与相关中间件服务器(WebAI Server/中间件),IDE/客户端通过配置调用命令启动 MCP 服务。
- 本地项目安装:将 MCP 服务器与中间件放入当前项目,使用 npx 或 npm 脚本启动。
- 传输与调试
- 启动后,打开所需的前端/IDE 面板,确保 MCP 面板能够连接到本地 MCP 服务器,确认身份与能力展示正确。
- 使用 Node.js/TypeScript 版本的 MCP 服务端:
-
服务器配置(供 MCP 客户端配置使用)
- 说明:MCP 客户端需要知道如何启动并连接 MCP 服务器。以下为符合仓库实现的示例配置(JSON),包含服务器名称、启动命令与参数等字段,帮助 MCP 客户端建立连接。
- 配置示例(请以文本形式使用,非代码块呈现): { "mcpServers": { "webai-mcp": { "name": "WebAI-MCP", "command": "npx", "args": ["@cpjet64/webai-mcp@latest"] } // 如有其他环境,请按需扩展 } } 说明:
- name 字段用于标识 MCP 服务器实例;command/args 指定启动该 MCP 服务器的命令与参数,客户端按该信息启动并连接。
- 实际部署时,请结合本仓库中提供的版本与 npm 包名填写正确的版本标识及参数(如 latest、dev 等)。
- 如果需要在特定 IDE 客户端的配置中使用,请将上述配置导出为对应客户端支持的格式(JSON/RSON/YAML 等),并确保客户端文档中的字段与此保持一致。
-
基本使用方法
- 启动与连接
- 启动 MCP 服务器进程(例如通过 npx 或等效命令),随后在 MCP 客户端中配置服务器,确保客户端能够发现并连接到本 MCP 服务器。
- 常用操作
- 调用工具(Tools)以获取浏览器日志、网络数据、截图等信息。
- 读取资源数据,获取本地存储如 cookies、localStorage、sessionStorage 等。
- 触发并获取各类审计结果(无论是性能、可访问性、SEO 等)以便后续分析。
- 测试与诊断
- 使用内置的诊断工具或日志输出,排查连接、版本、权限等方面的问题。
- 集成提示
- MCP 客户端(如 Cursor、Claude、Cline、Zed 等)可通过 MCP 协议调用本服务器暴露的工具,数据以 JSON-RPC 形式往返。
- 启动与连接
-
重要注意
- 任何对 MCP 客户端的配置与启动命令均应与实际部署环境一致,确保命令可执行且具备所需权限。
- 本实现强调本地化数据处理与安全性:日志、网络数据等在传递给 LLM 客户端前均可据需进行脱敏或截断处理。
-
使用限制与安全
- 仅在受控环境中运行,以避免将本地浏览数据暴露给未授权的服务。
- 对于生产环境,请遵循数据最小化原则,开启必要的日志截断和敏感数据保护设置。