面向生产环境的 TypeScript MCP Server 构建框架,引入 MVA(Model-View-Agent)架构模式,内置 8 大反幻觉机制与 Presenter 出站防火墙。
Vurb.ts 定位为 "The Express.js for MCP Servers",是专为构建生产级 MCP(Model Context Protocol)服务器设计的 TypeScript 框架,当前版本 3.17.1,采用 npm workspaces monorepo 结构。
MVA 三层架构#
框架核心创新在于 MVA(Model-View-Agent)三层架构:
- Model 层:提供 Eloquent/Laravel 风格的领域模型工厂(
defineModel()),支持m.casts()、m.hidden()、m.guarded()、m.fillable()、m.timestamps(),自动生成 Zod schema。 - View 层(Presenter):作为出站防火墙控制 LLM 可见的数据、规则与操作,支持基于 fast-redact 的 PII 脱敏(GDPR/LGPD/HIPAA)、Zod schema 白名单内存级过滤、Late Guillotine 模式(UI 用真实值计算但 LLM 仅见
[REDACTED])、认知防护栏截断、HATEOAS 式下一步提示(.suggestActions())、关系组合(.embed())及服务端 UI 渲染(ECharts/Mermaid)。 - Agent 层(Fluent API):通过语义动词
f.query()/f.mutation()/f.action()构建类型安全工具定义,支持 12 个.with*()链式方法、零样板.proxy()API 代理(自动推断 HTTP 方法、路径参数替换、响应解包)、.fromModel()参数导入及 tRPC 风格.use()中间件。
反幻觉体系#
涵盖 8 大机制:Action Consolidation(合并操作减少工具数量)、TOON Encoding(管道分隔紧凑描述)、Zod .strict() 构建时校验、Self-Healing Errors(定向纠正提示)、Cognitive Guardrails(.limit() 截断大结果集)、Agentic Affordances(HATEOAS 下一步提示)、JIT Context Rules(规则随数据传播)、State Sync(RFC 7234 风格缓存控制信号)。
FSM State Gate 基于 XState 有限状态机实现时序反幻觉,根据当前状态物理移除不可用工具(tools/list 中不可见),通过 .bindState(states, event) 声明式绑定,仅在成功时转换状态。
运行时防护#
.concurrency()— 信号量 + 队列并发控制.egress()— 最大载荷大小限制- Intent Mutex — 破坏性工具自动序列化并发调用
- 负载卸载 — 返回自愈错误
SERVER_BUSY
治理栈与 Prompt Engine#
治理栈提供 ToolContract 物化、BehaviorDigest(SHA-256)、CapabilityLockfile(vurb.lock)与 CryptoAttestation(HMAC-SHA-256),支持 vurb lock --check CI 门禁验证。Prompt Engine 通过 definePrompt() 实现服务端模板(支持 Zod 和 JSON 描述符),PromptMessage.fromView() 让工具与 prompt 共用同一 Presenter 源。SKILL.md 提供机器可读架构合约,兼容 Cursor、Claude Code、GitHub Copilot、Windsurf、Cline 等 AI 编码工具。
脚手架与部署#
vurb create 提供 5 种向量:vanilla(零依赖文件路由)、prisma(字段级安全 CRUD)、n8n(工作流桥接)、openapi(OpenAPI 3.x/Swagger 2.0 → MCP 自动生成)、oauth(RFC 8628 Device Flow 认证)。部署支持 Vinkius Edge、Vercel Functions、Cloudflare Workers、AWS。
开发体验#
- HMR 热重载开发服务器(
vurb dev) - 实时 TUI Inspector 仪表盘(
vurb inspect)查看工具调用、延迟、错误 - 文件路由(
src/tools/目录结构自动映射为工具命名空间) - Tree-shakeable 子路径导出:
@vurb/core/client、/ui、/presenter、/schema、/dev、/prompt
关键设计模式#
- Late Guillotine Pattern:PII 脱敏在 UI/规则计算之后执行,保证 UI 完整性同时保护数据
- Standard Schema v1:除 Zod 外支持 Valibot、ArkType、TypeBox
- Tool Exposition:编译时拓扑编译器,支持 flat 或 grouped 两种策略
- Select Reflection:
_select参数实现上下文窗口优化,受 Late Guillotine 保护
Monorepo 包结构#
| 包名 | 职责 |
|---|---|
@vurb/core | 核心框架(Fluent API、Presenter、Model、Router、Middleware) |
@vurb/api-key | API Key 认证 |
@vurb/aws | AWS 适配器 |
@vurb/cloudflare | Cloudflare Workers 适配器 |
@vurb/vercel | Vercel Functions 适配器 |
@vurb/inspector | 实时 TUI 仪表盘 |
@vurb/jwt | JWT 认证 |
@vurb/n8n | n8n 工作流桥接 |
@vurb/oauth | OAuth / RFC 8628 Device Flow |
@vurb/openapi | OpenAPI → MCP 生成器 |
@vurb/prisma-gen | Prisma → MCP 生成器(字段级安全) |
@vurb/skills | Agent Skills — 渐进式指令分发 |
@vurb/swarm | Federated Handoff Protocol — 多 Agent 零信任 B2BUA 协作 |
@vurb/testing | 全管道内存测试工具 |
@vurb/yaml | YAML 配置支持 |
多 Agent 协作与生态集成#
@vurb/swarm 通过 Federated Handoff Protocol 实现零信任 B2BUA 多 Agent 协作。现有系统桥接支持 OpenAPI → MCP、n8n 工作流 → MCP 工具、Prisma → MCP(字段级安全)。AI 客户端预配置覆盖 Cursor、Claude Desktop、Claude Code、Windsurf、Cline、VS Code + Copilot。框架要求 Node.js >= 18.0.0,使用 Vitest 测试、TypeDoc + VitePress 文档生成,采用 Apache-2.0 许可证,作者为 Renato Marinho(Vinkius Labs)。
待确认信息#
- https://vurb.dev 未返回可读内容(可能为 SPA/需 JS 渲染),无法确认官网是否提供额外文档
- npm 包发布名未直接验证(推测为
@vurb/core等) - Vinkius Edge 部署平台详情未在仓库中详述
- 实际生产使用案例未列出