← Back to MCP directory
publicPublicdnsLocal runtime

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 容器通信。

READY-TO-PASTE CONFIG

MCP client config generator

Choose your client, fill the required environment variables, then copy a config generated from this server's published metadata

terminal
data_object

This entry does not contain a standard command or remote URL, so a safe client config cannot be generated automatically

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client