关于 WASM MCP Server
WASM MCP Server 是一个概念验证项目,演示如何在浏览器中通过 WebAssembly 运行 MCP 服务。项目包含计算器工具和键值存储资源,展示了 MCP 工具与资源在浏览器环境中的集成方式。
主要功能
- 01基于浏览器的 MCP 服务
- 02四则运算计算器工具
- 03键值存储功能
- 04基于模板路径的资源访问
- 05自定义浏览器传输层
适用场景
- 01学习在浏览器中运行 MCP 服务的方式
- 02验证 MCP 工具与资源在浏览器中的集成
- 03作为自定义浏览器传输层的参考实现
MCP 相关
该项目是一个 MCP 服务,通过自定义浏览器传输层向 MCP 客户端暴露计算器工具以及 storage://{key} 形式的存储资源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
WASM MCP 服务
一个概念验证实现,展示了在 Web 浏览器中以 WebAssembly(WASM)运行的 Model Context Protocol(MCP)服务。本项目演示了在浏览器环境中集成 MCP 工具和资源。
功能
计算器工具
- 执行基本算术运算(加、减、乘、除)
- 输入验证和错误处理
- 实时计算结果
存储系统
- 键值存储功能
- 使用字符串键设置和检索值
- 在浏览器会话中持久存储
- 基于模板的资源处理
技术实现
服务组件
server.ts:MCP 服务核心实现,包含工具和资源定义main.ts:客户端集成和 UI 交互处理browser-transport.ts:用于浏览器通信的自定义传输层
架构
- 使用 Model Context Protocol SDK 实现服务
- 实现自定义浏览器传输层
- 使用回调函数注册工具
- 资源使用带参数替换的模板路径
核心概念
-
工具
- 使用
server.tool()注册 - 通过回调函数执行
- 使用 Zod 进行架构验证
- 使用
-
资源
- 基于模板的路径(例如,
storage://{key}) - 通过
readCallback访问 - 参数化资源处理
- 基于模板的路径(例如,
使用方法
计算器
- 选择一项运算(加、减、乘、除)
- 输入两个数字
- 点击“Calculate”查看结果
- 对无效输入和除以零进行错误处理
存储
- 在相应字段中输入键和值
- 点击“Set Storage”存储值
- 输入键并点击“Get Storage”检索值
- 对成功操作和错误提供反馈
依赖项
- @modelcontextprotocol/sdk
- Zod(用于架构验证)
- TypeScript
- Vite(用于开发和构建)
项目结构
mcp-wasm-poc/
├── src/
│ └── web/
│ ├── server.ts # MCP server implementation
│ ├── main.ts # Client-side logic
│ └── browser-transport.ts # Browser transport layer
├── index.html # Web interface
└── package.json # Project dependencies
错误处理
- 服务初始化错误
- 工具执行错误
- 资源访问错误
- 输入验证
- 传输层错误
后续改进
- 增加计算器运算
- 支持跨会话持久存储
- 改进 UI/UX
- 增加 MCP 工具和资源
- 优化 WASM
开发
这是一个概念验证实现,旨在展示使用 WebAssembly 在 Web 浏览器中运行 MCP 服务的可行性。该实现着重演示 MCP 核心概念,同时保持简单清晰。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。