文章摘要
WebMCP是一个让网站支持客户端大语言模型(LLM)的方案和代码库,允许网站共享工具、资源和提示等给LLM使用,无需分享API密钥。网站所有者可通过添加小部件向客户端LLM提供所需内容,用户可同时连接多个支持WebMCP的网站。该项目采用MIT许可,欢迎贡献和改进建议。
文章总结
WebMCP项目介绍:让网站支持客户端大语言模型的解决方案
项目概述 WebMCP是一个创新提案及代码实现,旨在帮助网站向客户端大语言模型(LLMs)提供工具、资源和提示等内容。该项目使网站能够成为MCP服务器,无需共享API密钥,且支持使用任意模型。
核心功能 - 提供可嵌入网站的widget组件 - 支持多网站同时连接,工具按域名进行作用域划分 - 包含本地WebSocket服务器作为桥梁(仅限localhost访问) - 采用令牌认证机制保障安全性
使用方式
【用户端】
1. 安装:通过npx命令指定MCP客户端(如Claude、Cursor等)
bash
npx -y @jason.today/webmcp@latest --config claude
2. 连接网站:生成MCP令牌并粘贴至目标网站
3. 断开连接:关闭浏览器标签或执行终止命令
【网站端】 只需在页面中引入webmcp.js脚本: ```html
```
技术原理 1. MCP客户端通过服务器令牌连接 2. 网站使用一次性注册令牌进行验证 3. 工具请求流程: MCP客户端 → MCP服务器 → WebSocket服务器 → 网页工具 4. 支持多网页并行连接,工具列表自动统一整合
安全说明 项目处于早期阶段,作者欢迎安全加固建议,特别是防范恶意扩展程序进行提示注入攻击等风险。
内置工具 - 令牌生成器 - MCP工具定义器(可生成配套JavaScript代码)
Docker支持 提供Dockerfile和docker-compose.yml文件,支持容器化部署WebSocket服务器。
(注:原文中的演示视频链接、序列图等非核心内容已省略,完整信息可查看项目GitHub页面)
评论总结
以下是评论内容的总结:
支持WebMCP的观点
标准化与未来发展
- WebMCP正在W3C/webmachinelearning孵化,未来可能成为浏览器标准。
- 引用:"WebMCP is being incubated in W3C... what will turn into WebMCP being in your browser." (jasonjmcghee)
- 引用:"We're working to standardize all of these APIs for cross-browser compatibility." (westurner)
功能与灵活性
- WebMCP允许构建自定义客户端,提供更多灵活性。
- 引用:"Didn’t expect WebMCP to let you build custom MCP clients too. That’s actually way more flexible!" (mrasong)
- 引用:"Agents can access your Google Calendar and Notion, acting as a more personalized AI assistant." (sublinear)
质疑与担忧的观点
安全风险
- 可能成为安全漏洞,允许不安全内容注入并自动执行高权限操作。
- 引用:"This seems like a security nightmare... automate actions executed with full user/admin privileges?" (saberience)
- 引用:"Trusting WebMCP npm package to run on your users' computers." (socketcluster)
实用性质疑
- 部分功能(如根据Figma设计生成完整应用)被认为不切实际。
- 引用:"even really smart humans have a very hard time dealing with that task based on a figma doc." (sublinear)
- 引用:"Why would I use that in place of asking the model to use an API?" (brazukadev)
中立与技术讨论
技术实现
- 当前需要本地运行MCP服务器作为代理,未来可能由LLM客户端原生支持。
- 引用:"I still need to run an MCP server locally... the goal would be for LLM clients to adopt the standard natively." (tobyjsullivan)
- 引用:"Consistent authentication mechanism for all tools... Tool discovery." (socketcluster)
替代方案
- 存在其他类似项目(如BMCP),提供不同实现方式。
- 引用:"Also an other take here https://gitlab.com/sctlib/bmcp" (ngc6677)
总结:评论中对WebMCP的支持主要集中在标准化和功能潜力,而质疑则围绕安全风险和实际可行性。技术讨论则关注实现细节和替代方案。