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

WebMCP

WebMCP是一个让网站支持客户端LLM交互的项目,通过本地WebSocket服务器实现安全通信。

article

README

🚀 WebMCP 项目介绍

WebMCP 是一个开源项目,致力于连接大语言模型 (LLM) 和网站。借助 WebMCP,网站能将自身功能注册为工具,通过 WebSocket 协议与 MCP 客户端交互。MCP 客户端可统一管理和调用这些工具,用户能通过终端或其他界面使用。

🚀 快速开始

📦 安装指南

对于用户而言,可按如下步骤进行安装:

# 安装 webmcp 工具
npm install -g @webmcp/cli

# 启动 MCP 服务端
webmcp server

# 或者指定 Docker 部署
webmcp server --docker

🔗 示例链接

🌐 网站所有者集成步骤

若您是网站所有者,要将网站集成到 WebMCP 生态,仅需两步:

  1. 在控制台中输入以下命令以获取注册令牌:
    webmcp token
    
  2. 将生成的令牌粘贴到您的网站,并按照 文档 中的说明完成配置。

✨ 主要特性

🔧 核心组件

  • MCP 客户端:负责连接 WebSocket 服务器并管理工具。
  • WebSocket 服务器:作为 MCP 客户端与网站之间的通信桥梁。
  • 网站:提供具体的工具功能,并通过 WebSocket 协议与服务器交互。

🔄 请求流程

sequenceDiagram
    participant 用户
    participant MCP 作为 MCP 客户端
    participant Server 作为 MCP 服务器
    participant WS 作为 WebSocket 服务器
    participant Web 作为 网站
    
    %% 初始连接
    MCP->>Server: 连接到 /mcp 使用内部服务器令牌
    
    %% 网站注册令牌
    用户->>MCP: 请求注册令牌
    MCP->>Server: 请求注册令牌
    Server-->>MCP: 返回注册令牌
    MCP-->>用户: 显示注册令牌
    
    %% 网站注册
    用户->>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: 返回结果
    
    %% 断开连接
    用户->>Web: 断开连接
    Web->>WS: 关闭连接

⚠️ 安全考量

本项目尚处于非常早期的阶段。开发者十分重视加强安全性,以防止恶意扩展执行提示注入攻击等行为。若您有任何建设性的意见,请通过提交问题或打开一个议题与开发者联系。

🛠️ 内置工具

  • 令牌生成器:用于连接到 WebMCP 网站。
  • MCP 工具定义器:简化构建 MCP 使用的工具 schema 的过程。
    • 若有需要,开发者可提供针对 WebMCP 使用的 JavaScript 示例,您可在后续信息中告知。

🐳 Docker 部署

项目中提供了专门用于 Smithery 部署的 Dockerfile。若您希望使用 Docker 运行 WebSocket 服务器,项目中添加了一个示范用的 docker-compose.yml 文件。

若 MCP 客户端配置时提供 --docker 参数,并与 --mcp 一起使用,它将假设服务器正在运行。这样您可以 Docker 化主进程(WebSocket 服务器),并且您的 MCP 客户端将通过 WebSocket 连接到您的 Docker 容器。类似地,网站将与您的 Docker 容器通信。

help

运行方式说明

cloud

托管运行

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

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

本地运行 / 其它方式

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

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