MCPB 本地服务器打包指南
将本地 MCP 服务器及其运行时打包成可直接安装的单文件。
文档明确披露MCPB无沙箱、进程拥有用户完整权限,并要求路径校验、禁止shell注入、读写分离、敏感信息保护和破坏性操作确认;因此主要数据流和高风险点可见。但这些控制只是实现者指南,未被清单或运行时强制执行,缺少回滚机制、依赖供应链校验和完整的用户确认流程,且示例的路径检查未处理真实符号链接逃逸,故扣分。
提供Node/Python构建命令、manifest示例、验证、打包、签名和无开发工具链测试建议,主流程较清晰。静态材料没有提交测试套件、实际测试结果或覆盖异常输入的可复现证据;依赖版本未锁定,且部分安全示例存在实现边界,因此只能给出符合静态上限的中低分。
front matter明确列出“package an MCP server”、MCPB、运行时打包、本地文件、桌面应用和OS API等触发场景,并明确云API通常应使用远程HTTP服务器,能力边界较清楚。未说明中文交互、非Claude Desktop宿主或更多平台的适配;核心工具链依赖npm、GitHub和Anthropic生态,国内网络可达性未验证,故扣分。
文档包含版本号、分层章节、manifest字段表、最小示例、安全参考、构建和安装说明;仓库README提供Apache-2.0许可证、Anthropic维护归属和仓库级更新背景。技能自身没有变更日志、维护承诺、兼容性变更策略、FAQ或依赖锁定说明,故未满分。
该技能直接覆盖MCPB manifest、Node/Python打包、安全边界和发布检查,示例与命令可作为实现起点,核心任务价值明确。静态审查无法验证命令、生成包或目标宿主的实际可安装性,且安全控制仍需用户自行实现;按静态校准取上限7分。
证据主要是版本化仓库中的技能文档、参考文档、许可证和相关CI文件,关键主张具有一定可审计性。CI并未提供针对该技能关键构建路径的提交测试套件或执行结果,也没有交叉来源或独立复现材料;按静态上限低于5分。
- MCPB进程默认拥有用户完整文件、进程和网络权限;不要把manifest示例或readOnlyHint当作实际沙箱或强制权限控制。
- 必须自行实现并测试路径、符号链接、命令参数、资源大小和敏感信息边界;当前文档示例不能替代安全审计。
- 发布前应锁定并审查npm/pip依赖,在无Node/Python开发环境的目标平台上实际验证安装、启动、失败提示和升级回滚。
- 文档依赖npm、GitHub及Anthropic相关服务;未提供中文材料或中国大陆网络可达性证据。
它能做什么 & 适用场景
该技能指导用户把 MCP 服务器制作成 MCPB 文件,并将 Node、Python 或二进制运行时与服务器一起分发。它适用于必须运行在用户机器上的场景,例如读取本地文件、控制桌面应用、访问 localhost 服务或调用操作系统 API。技能涵盖 manifest.json、stdio 启动配置、依赖打包、验证、测试和签名。MCPB 不提供沙箱,服务器会以用户权限运行,因此安全校验必须由开发者自行实现。
指导创建包含 manifest.json、服务器代码、依赖和图标的 .mcpb ZIP 归档;配置 Node、Python 或 binary 服务器及其 stdio 启动命令;使用 ${__dirname} 和 ${user_config.<key>} 设置路径与安装时配置;通过 npm、pip、esbuild 和 @anthropic-ai/mcpb 打包、验证和签名;使用 MCP Inspector 直接测试服务器;说明本地文件、桌面应用、localhost 服务和 OS API 场景中的路径校验、进程白名单及权限风险。
- 需要让没有预装 Node 或 Python 的用户安装本地文件 MCP 服务器的开发者。
- 需要在用户机器上读取或搜索文件、浏览目录的 MCP 开发者。
- 需要驱动桌面应用或调用本地操作系统 API 的工程师。
- 需要连接 localhost 服务且希望以单个 .mcpb 文件交付的团队。
- 需要把 Python 依赖 vendoring 到服务器目录并面向多平台分发的开发者。
优缺点一览
- 支持将运行时和依赖一起打包,用户无需预装 Node、Python 或工具链。
- 覆盖 manifest 配置、依赖处理、验证、测试和签名等完整交付流程。
- 明确区分本地 MCPB 与远程 HTTP MCP 服务器的适用场景。
- 强调路径遍历、进程启动白名单和最小权限等本地安全措施。
- MCPB 没有 manifest 级沙箱或 permissions 区块,服务器以完整用户权限运行。
- 原生 Python 扩展需要按目标平台构建,跨平台分发可能增加工作量。
- 资料未提供自动化测试套件,也未证明所有目标平台均已实际测试。
- 仅访问云 API 的服务器不适合采用 MCPB;远程服务器通常更合适。
如何安装
该技能位于 Anthropic 官方 Claude Code Plugins Directory 仓库的 plugins/mcp-server-dev/skills/build-mcpb/SKILL.md。可在 Claude Code 中运行 /plugin install {plugin-name}@claude-plugins-official,或通过 /plugin > Discover 浏览安装;具体插件名在所给资料中未注明。
如何使用
在 Claude Code 中提出“package an MCP server”“bundle an MCP”“make an MCPB”或“ship a local MCP server”等请求即可触发。按技能提供的流程创建 manifest.json 和 server 目录;Node 项目可运行 npm install、npx esbuild src/index.ts --bundle --platform=node --outfile=server/index.js,随后运行 npx @anthropic-ai/mcpb validate 和 npx @anthropic-ai/mcpb pack。可先用 npx @anthropic-ai/mcpb init 初始化,并用 npx @modelcontextprotocol/inspector node server/index.js 测试。
对比同类
与资料中提到的 build-mcp-server 远程 HTTP 服务器路径相比,MCPB 适合必须访问用户本机资源的服务器;只调用云 API 时应优先考虑远程服务器,以避免本地打包和安全负担。