SuperAPI AI 工具集

build-mcpb

智能体与模型

查看项目

更新于 10-15 16:50

技能介绍

用途:把本地 MCP 服务器打包为 MCPB(Bundled Local MCP Server),即附带运行时的本地 MCP 服务器,用户安装一个文件即可运行,无需本机安装 Node、Python 或任何工具链。这是分发本地 MCP 服务器的官方认可方式,属于次要分发路径;官方推荐目录收录使用远程 MCP 服务器。

何时使用:仅当服务器必须在用户机器上运行,例如读取本地文件、驱动桌面应用、连接 localhost 服务或操作系统级 API。若只访问云端 API,应改用远程 HTTP 服务器(见 build-mcp-server),不要为可做成 URL 的服务承担打包成本。

包结构:.mcpb 是 zip 归档,含 manifest.json(标识、入口、配置 schema、兼容性)、server/ 目录(服务器代码与打包依赖)和 icon.png。宿主读取 manifest.json,以 stdio MCP 服务器方式启动 server.mcp_config.command 并传输消息;从代码角度与本地 stdio 服务器一致,只是打包方式不同。

Manifest 要点:manifest_version、name、version、author;server.type 可为 node、python 或 binary(仅信息性,实际启动由 mcp_config 决定);server.mcp_config 指定启动命令、args、env,可用 ${__dirname} 表示包内相对路径、${user_config.<key>} 替换安装时配置,env 变量名不自动加前缀;user_config 是安装期设置,type 为 directory 时渲染原生文件夹选择器,sensitive: true 存入系统钥匙串;compatibility 声明 claude_desktop 版本与平台。

服务器代码:标准 stdio MCP 服务器,工具逻辑无 MCPB 特有内容。可用 @modelcontextprotocol/sdk 的 McpServer 与 StdioServerTransport 注册工具。读取配置的 ROOT_DIR 来自 manifest 的 env,无自动前缀。若宿主支持 roots/list,可优先用该规范原生方式获取用户批准的目录。

安全:MCPB 没有 manifest 级沙箱,也没有 permissions 块,进程以完整用户权限运行。必须自行校验路径、禁止逃逸 ROOT、对 spawn 做白名单,local-security.md 为必读。

构建与测试:Node 可用 esbuild 打包后运行 npx @anthropic-ai/mcpb pack;Python 可将依赖 vendor 到子目录并加入 sys.path。常用命令包括 npx @anthropic-ai/mcpb init、npx @modelcontextprotocol/inspector node server/index.js、npx @anthropic-ai/mcpb validate、npx @anthropic-ai/mcpb pack、npx @anthropic-ai/mcpb sign dist/local-files.mcpb,安装时把 .mcpb 拖到 Claude Desktop。发布前应在没有开发工具链的机器上测试,常见失败原因是依赖未真正打包。

UI 组件:MCPB 服务器可像远程 MCP 应用一样提供 UI 资源,机制与传输无关;组件编写见 build-mcp-app。

限制:官方未提及收费、价格信息;不含 manifest 级权限或沙箱;native 依赖需按目标平台编译,建议尽量避免;具体字段清单参见 references/manifest-schema.md,本地安全参见 references/local-security.md。