关于 wasm-mcp
wasm-mcp 是只读 MCP 服务,提供 WebAssembly 核心规范及相关 API 规范的结构化查询。它面向需要查找指令、类型、条款和提案的客户端;数据固定到指定提交,查询时不执行代码也不访问网络。
主要功能
- 01按助记符或操作码查询指令
- 02筛选、枚举和搜索指令
- 03查询值类型与类型形式
- 04读取并导航规范条款
- 05搜索规范内容和 WebAssembly 提案
- 06基于固定提交提供确定性只读结果
适用场景
- 01查找指令的操作码与栈类型签名
- 02核对规范条款中的验证和执行规则
- 03浏览 JavaScript 或 Web 平台 API 规范
- 04查询 WebAssembly 提案及其阶段
MCP 相关
通过 MCP 提供指令、类型、规范条款、全文搜索和提案查询工具,涵盖 core、js-api 和 web-api 规范;指令与类型查询仅支持 core。可通过本地 stdio 或托管的 Streamable HTTP 端点接入。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.xyzzylabs.ai/wasm/mcpclaude mcp add --transport http xyzzylabs-wasm https://mcp.xyzzylabs.ai/wasm/mcp{"mcpServers":{"xyzzylabs-wasm":{"type":"http","url":"https://mcp.xyzzylabs.ai/wasm/mcp"}}}在 Cursor 中打开{"servers":{"xyzzylabs-wasm":{"type":"http","url":"https://mcp.xyzzylabs.ai/wasm/mcp"}}}在 VS Code 中打开{"mcpServers":{"xyzzylabs-wasm":{"type":"http","url":"https://mcp.xyzzylabs.ai/wasm/mcp"}}}{"mcpServers":{"xyzzylabs-wasm":{"serverUrl":"https://mcp.xyzzylabs.ai/wasm/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
9此工具无需参数。
详细介绍
wasm-mcp
面向 WebAssembly 核心规范 的模型上下文协议服务。 SHA 固定、只读且确定性强——可安全地作为公开的免认证端点托管。
与 W3C WebAssembly 社区组或工作组无关联,也未获其认可或赞助。
它能为你提供什么
spec_version— 固定的上游提交和软件包版本。instruction_get— 按助记符(i32.add)或二进制操作码(0x6a)查询操作码字节、类别、引入版本、栈类型签名、验证与执行说明的锚点/URL,以及陷阱条件(traps+can_trap)。instruction_list— 枚举指令;可按类别(numeric、vector、reference、parametric、variable、table、memory、control、ref、i31、struct、array、extern)、引入版本或前缀筛选。instruction_search— 跨助记符、类别和操作码进行自由文本搜索,并按相关度排序。type_get— 查询值类型(number/vector/reference)和类型形式(functype、limits、memtype等),以及定义说明。section_get— 按 id/锚点获取一条规范条款(structure、validation、execution、binary、text),包括说明、交叉引用、SpecTec 形式规则引用和渲染后的 URL。section_list— 按领域或锚点前缀浏览条款树。spec_search— 跨锚点、标题和说明进行全文搜索。proposal_list— 查询 WebAssembly 提案及其阶段(来自固定版本的WebAssembly/proposals仓库);可按状态、阶段、champion 或受影响的规范筛选。
section_get、section_list 和 spec_search 接受 spec 参数,涵盖 WebAssembly/spec 仓库中的全部三项规范:core(默认)、js-api(JavaScript 嵌入 API)和 web-api(Web 平台集成)。指令和类型工具仅适用于 core。
使用约定
每个工具都具有以下特性:
- 只读。 不会更改状态,也不会写入可选本地缓存以外的任何位置。
- 确定性。 对固定的规范提交,相同输入 → 相同输出;该提交记录在
vendor/PINNED.txt中。 - 不执行代码。 绝不会编译、通过运行来验证、实例化或运行任何 WebAssembly 或任意代码。验证和归约规则以数据形式返回。
- 无需认证、无需密钥、不处理 PII。 可匿名使用。
- 请求时不联网。 所有规范数据都在构建时获取并编入软件包。
安装(stdio,本地)
npx wasm-mcp
将服务添加到客户端的配置中,即可接入任何 MCP 客户端(启动命令在所有客户端中相同;只有配置文件不同):
{
"mcpServers": {
"wasm": {
"type": "stdio",
"command": "npx",
"args": ["wasm-mcp"]
}
}
}
托管 Worker
worker/ 中的 Cloudflare Worker 通过单个免认证端点,以可流式传输的 HTTP 提供与 stdio 软件包相同的工具集,并按来源 IP 限速(30 次请求/60 秒):
https://mcp.xyzzylabs.ai/wasm/mcp
GET /wasm/health 会报告状态和固定的 SHA;GET /wasm/privacy 会说明匿名且不存储数据的策略。所有规范数据都打包在 Worker 中,因此它只执行纯内存查询——请求时不使用存储,也不联网。
发布与数据刷新
固定的提交位于 vendor/PINNED.txt
中,并通过 spec_version 报告。定时 GitHub Actions
工作流(refresh.yml)每天对上游仓库进行
SHA 差异比较;当固定版本发生变化时,它会更新固定版本、提升补丁
版本并创建发布标签,随后发布 npm 包
(release.yml)并重新部署
Worker(deploy-worker.yml)。
维护者:
- npm 发布使用 Trusted Publishing
(OIDC),无需
NPM_TOKEN。在 npmjs.com 上配置一次即可(wasm-mcp → Settings → Trusted Publisher → GitHub Actions:orgxyzzylabs,repowasm-mcp,workflowrelease.yml)。 - Worker 部署需要
CLOUDFLARE_API_TOKEN+CLOUDFLARE_ACCOUNT_ID, 将它们存储为cloudflareGitHub Environment 中的环境密钥(而非仓库级密钥),并设置main+v*部署规则 — 请参阅保护部署凭据。 - 若要让刷新工作流推送的标签触发发布和部署,
请添加
WORKFLOW_PATPAT(权限为contents: write+workflows) — 若未配置,刷新仍会更新固定版本并创建标签,但你需要手动运行发布 / 部署。(tc39-mcp 使用相同的密钥名称,因此一个 PAT — 或一个xyzzylabs组织级密钥 — 即可供两个仓库使用。)
许可证
MIT — 请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。