返回 MCP 目录
public公开dns本地运行

webmcp

WebMCP是一个允许网站支持客户端LLM(大型语言模型)的项目,通过本地WebSocket服务器实现网站与LLM之间的工具、资源和提示共享,无需API密钥,支持多种模型。

article

README

🚀 WebMCP - 网站客户端大型语言模型支持工具

WebMCP 是一款创新工具,它能让网站支持客户端侧的大型语言模型(LLMs)。借助 npm 包,它极大简化了前端集成与管理 LLMs 的流程。尽管项目尚处早期,但已展现出强大功能与潜力。

🚀 快速开始

📦 安装指南

安装 WebMCP 只需一行命令:

npm install webmcp

🔧 初始化配置

初始化 MCP 服务器并运行以下命令:

npx webmcp --init

若需要 Docker 支持,请添加 --docker 参数。

💻 使用示例

🌐 网站集成指南

引入 WebMCP 脚本

在您的网站中引入 WebMCP 脚本以支持 MCP 功能:

// index.html
<script src="https://cdn.jsdelivr.net/npm/webmcp/dist/webmcp.min.js"></script>

自动显示小部件

WebMCP 提供了一个易于使用的控制台小部件,方便用户与 MCP 交互。

🔧 技术细节

🌟 核心流程

  1. 初始化连接:MCP 客户端使用内部令牌连接到 MCP 服务器。
  2. 获取注册令牌:用户请求并获得用于网站注册的令牌。
  3. 网站注册:用户在网站中输入令牌,完成与 WebSocket 服务器的连接和会话令牌分配。
  4. 工具交互:MCP 客户端通过服务器与网站进行通信,执行工具请求并返回结果。

🖥️ 网络架构

sequenceDiagram
    参与者 用户
    参与者 MCP(MCP 客户端)
    参与者 服务器(MCP 服务器)
    参与者 WS(WebSocket 服务器)
    参与者 Web(网站)

    %% 初始连接
    MCP->>Server: 连接到 /mcp 使用内部令牌

    %% 网站注册令牌
    User->>MCP: 请求注册令牌
    MCP->>Server: 请求注册令牌
    Server-->>MCP: 返回注册令牌
    MCP-->>User: 显示注册令牌

    %% 网站注册
    User->>Web: 输入注册令牌
    Web->>WS: 连接到 /register 使用令牌和域名(令牌被删除)
    WS-->>Web: 分配通道和会话令牌
    Web->>WS: 连接到指定通道

    %% 工具交互
    MCP->>Server: 请求工具列表
    Server->>WS: 转发请求
    WS->>Web: 请求工具列表
    Web-->>WS: 返回工具列表
    WS-->>Server: 转发工具列表
    Server-->>MCP: 返回工具列表

    %% 工具执行
    MCP->>Server: 工具请求
    Server->>WS: 转发请求
    WS->>Web: 执行工具操作
    Web-->>WS: 返回结果
    WS-->>Server: 转发结果
    Server-->>MCP: 返回结果

    %% 断开连接
    User->>Web: 请求断开连接
    Web->>WS: 关闭连接

⚠️ 重要提示

本项目仍处于早期阶段,我们非常重视安全性。为了防止恶意扩展和提示注入攻击,请积极提供安全改进建议。

✨ 主要特性

🛠️ 内置工具

  • 令牌生成器:用于网站的注册流程。
  • MCP 工具定义器:简化工具 schema 的构建过程。

如果您需要特定工具的 JavaScript 代码,可以进一步询问。

🐳 Docker 支持

项目中提供了专门针对 Smithery 部署设计的 Dockerfile。如需使用 Docker 运行 WebSocket 服务器,请参考提供的 docker-compose.yml 示例文件。

当 MCP 客户端配置包含 --docker 参数且与 --mcp 结合时,客户端将假设 WebSocket 服务器正在 Docker 容器中运行,并通过容器连接进行通信。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端