WebMCP客户端

WebMCP客户端是一个用于连接WebMCP兼容服务器的工具,支持动态添加和删除站点,无需重启。

  • by chgold
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 chgold/webmcp-bridge

使用说明

webmcp客户端v2.0

适用于WebMCP兼容服务器的Meta MCP客户端。配置 一次 在任何MCP客户端中,然后动态添加/删除任意数量的WebMCP站点。无需重新启动。

旧别名: webmcp-bridge 仍然适用于向后兼容性。

安装

npm install -g github:chgold/webmcp-client

这将安装 webmcp-client 从GitHub全局命令。

Claude桌面配置(设置一次,永不更改)

全局安装后:

{
  "mcpServers": {
    "webmcp": {
      "command": "webmcp-client"
    }
  }
}

或者,如果您手动克隆了仓库,请指向 index.js 直接:

{
  "mcpServers": {
    "webmcp": {
      "command": "node",
      "args": ["/path/to/webmcp-client/index.js"]
    }
  }
}

企业SSL代理的背后?

如果您使用SSL代理,网桥可能会失败 unable to get local issuer certificate.通过设置修复它 NODE_TLS_REJECT_UNAUTHORIZED:

{
  "mcpServers": {
    "webmcp": {
      "command": "webmcp-client",
      "env": {
        "NODE_TLS_REJECT_UNAUTHORIZED": "0"
      }
    }
  }
}

用法

元客户端模式(默认)

从没有参数开始——客户端通过以下方式管理站点 ~/.webmcp-client/sites.json:

node index.js

Claude Desktop中始终提供三个元工具:

工具 说明
webmcp_addSite 添加一个WebMCP站点——获取清单、加载工具、通知Claude
webmcp_listSites 列出已配置的站点及其工具数量
webmcp_removeSite 删除网站及其工具

添加网站后,其工具显示为 {site-name}/{tool-name}例如。 drupal-prod/drupal.searchNodes.

通过CLI预加载站点

node index.js --site name=drupal-prod,manifest=https://site.com/api/ai-connect/v1/manifest,token=Bearer_dpc_xxx

将网站保存到 ~/.webmcp-client/sites.json 并立即加载。

配置文件

配置存储在 ~/.webmcp-client/sites.json (新安装)或 ~/.webmcp-bridge/sites.json (现有安装--自动检测)。该文件在首次运行时自动创建:

{
  "sites": {
    "drupal-prod": {
      "manifest": "https://your-site.com/api/ai-connect/v1/manifest",
      "token": "Bearer dpc_your_token_here"
    }
  }
}

传统单站点模式

为了向后兼容,原始 --manifest 旗帜仍然有效:

node index.js \
  --manifest https://your-site.com/api/ai-connect/v1/manifest \
  --token "Bearer dpc_your_token_here" \
  [--name "My Server"]

在此模式下,工具在没有站点前缀的情况下公开(如v1.0)。

WebMCP兼容性

适用于任何符合WebMCP标准的服务器:

  • Drupal AI连接模块
  • WordPress(WebMCP插件)
  • XenForum
  • 任何自定义的WebMCP实现

运作原理

  1. 启动时,从以下位置加载所有站点 ~/.webmcp-client/sites.json
  2. 获取每个清单并填充工具注册表(不可访问的站点会被优雅地跳过)
  3. 通过MCP stdio公开3个元工具+所有站点工具
  4. 当 webmcp_addSite 或 webmcp_removeSite 被称为:
    • 更新配置文件
    • 重新加载工具注册表
    • 发送 notifications/tools/list_changed 因此,Claude Desktop会立即刷新

获取令牌(Drupal)

drush --uri=http://your-site.com php:eval "
\$t = \Drupal::service('ai_connect.oauth_service')->createAccessToken('ai-agent-default', 1, ['read','write']);
echo \$t['access_token'];
"

MCP客户端兼容性

webmcp客户端实现了MCP stdio传输,并与 任何兼容MCP的客户端:

客户端 平台 备注
克劳德桌面版 桌面应用程序 完全支持,推荐
光标 IDE 添加到MCP设置
Continue.dev VS代码/JetBrains 添加到 ~/.continue/config.json
帆板运动 IDE 添加到MCP设置
克莱恩 VS代码扩展 添加到MCP设置
泽德 编辑器 添加到settings.json
任何MCP stdio客户端 多种 适用于支持stdio传输的任何客户端

在其他客户端中配置

配置总是相同的模式。指向 webmcp-client 命令:

{
  "command": "webmcp-client"
}

有关配置文件的确切位置,请参阅客户的MCP文档。

Continue.dev(~/.continue/config.json)

{
  "mcpServers": [
    {
      "name": "webmcp",
      "command": "webmcp-client",
      "env": { "NODE_TLS_REJECT_UNAUTHORIZED": "0" }
    }
  ]
}

注: Continue.dev使用数组 mcpServers 而不是对象(与Cline、Cursor和其他客户端不同)。

需求

  • Node.js 18或更高版本
  • @modelcontextprotocol/sdk (包含在 node_modules)

许可证

麻省理工学院