首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页
学习
活动
专区
圈层
工具
MCP广场
MCP广场 >详情页
mcp-wasm2025-05-210分享
github
该服务器支持在网页浏览器中运行模型上下文协议,其功能包括算术运算和基于会话的键值存储。
By beekmarks
2025-05-210
github
详情内容

WASM MCP 服务器

这是一个在浏览器中运行的 WebAssembly (WASM) 实现的概念验证项目,展示了 Model Context Protocol (MCP) 工具和资源在浏览器环境中的集成。

功能

计算器工具

  • 执行基本的算术运算(加法、减法、乘法、除法)
  • 输入验证和错误处理
  • 实时计算结果

存储系统

  • 键值存储功能
  • 使用字符串键设置和检索值
  • 浏览器会话内的持久化存储
  • 基于模板的资源处理

技术实现

服务器组件

  • server.ts:包含工具和资源定义的核心 MCP 服务器实现
  • main.ts:客户端集成和 UI 交互处理
  • browser-transport.ts:用于浏览器通信的自定义传输层

架构

  • 使用 Model Context Protocol SDK 进行服务器实现
  • 实现了一个自定义的浏览器传输层
  • 通过回调函数注册工具
  • 资源使用带有参数替换的模板路径

关键概念

  1. 工具

    • 使用 server.tool() 注册
    • 通过回调函数执行
    • 使用 Zod 进行模式验证
  2. 资源

    • 基于模板的路径(例如,storage://{key}
    • 通过 readCallback 访问
    • 参数化的资源处理

使用方法

计算器

  1. 选择一个操作(加法、减法、乘法、除法)
  2. 输入两个数字
  3. 点击“计算”以查看结果
  4. 对无效输入和除以零进行错误处理

存储

  1. 在相应字段中输入键和值
  2. 点击“设置存储”以存储值
  3. 输入键并点击“获取存储”以检索值
  4. 成功操作和错误时提供反馈

依赖项

  • @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 在浏览器中运行 MCP 服务器的可行性。该实现专注于展示核心的 MCP 概念,同时保持简单性和清晰性。

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档