MCP Apps 服务端实现模板
使用说明(Markdown 格式)
-
项目简介
- 该仓库是一个完整的 MCP Apps 服务端实现模板,包含服务端核心逻辑、Widget/Resource/Tool 注册、MCP 协议处理、沙箱代理、资源加载与 CSP 配置,以及丰富的测试用例,旨在让开发者能够以模板方式快速搭建可运行的 MCP 服务器。
-
主要功能点
- MCP 协议核心处理:实现工具读取、资源读取、工具调用等 MCP 请求的注册与分发。
- 资源与工具托管:通过 Widgets/注册机制提供资源、工具及其元数据,确保与主机的 UI 资源链接、CSP 配置等一致性。
- 安全沙箱与 CSP:提供沙箱代理端口与 CSP 配置,确保外部资源在受控环境中加载。
- 多主机兼容性:设计包含对 Claude、ChatGPT、Goose 等 MCP Hosts 的通用接口与数据结构支持。
- 测试与质量保障:包含广泛的单元测试、浏览器端测试、合规性检查和自动化 UI 测试框架。
- Widget 案例库:内置多种示例 Widget(如 boilerplate、carousel、dashboard、map、qr 等),演示数据结构和渲染用法。
-
安装步骤
- 克隆并安装依赖
- 构建 Widget、安装依赖并运行测试
- 启动服务端
- 在 MCP Host 中配置服务器地址并开始对接
-
服务器配置(MCP 客户端使用,JSON 格式配置示例)
- 服务器名称(server_name):mcp-app-server
- 启动命令(command):pnpm run server
- 启动参数(args):空对象
- 说明:该配置用于 MCP 客户端在对接时读取要连接的服务器信息与启动方式。实际部署中可将 BASE_URL、端口、域名等环境变量按需配置。具体字段说明见下方注释。
- JSON 配置示例(文本形式展示,非代码块): { "server_name": "mcp-app-server", "command": "pnpm run server", "args": {} }
-
基本使用方法
- 构建与启动
- 构建 Widgets 与资源:安装依赖后运行构建脚本,生成静态资源与 HTML。
- 启动服务端:执行启动命令,监听 8000 端口,提供 /mcp、/assets 等接口。
- 连接 MCP Hosts
- 在 MCP Host(如 Claude、ChatGPT、 Goose 等)中配置连接信息,指向服务器的暴露地址与 /mcp 端点。
- 运行与验证
- 使用的测试用例与本地 APP 测试 UI,确保资源、工具、以及 CSP 设置与 MCP Apps 规范一致。
- 运行测试
- 项目内含完整测试集合,运行前需构建并确保依赖已就绪,测试覆盖从协议合规到 UI 兼容性等多个维度。
- 构建与启动