业务网关服务器

一个轻量级的Node.js + TypeScript服务器,通过可插拔适配器将Braid风格的操作信封路由到一个或多个业务系统(CRM、ERP、计费等),为AI助手提供统一的业务操作接口。

  • by andreibyf
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 andreibyf/braid-mcp-server

使用说明

Braid MCP服务器(通用业务网关)

一个轻量级的Node.js+TypeScript服务器,它公开了一个 编织风格动作信封 通过HTTP MCP友好 方法,并将这些操作路由到一个或多个 业务系统 (CRM、ERP、计费等)通过可插拔适配器。


问题

现代人工智能助手需要对现有的业务系统执行结构化操作:

  • 读取单个实体(客户、订单、发票、账户)。
  • 搜索和筛选记录列表。
  • 创建、更新或删除实体。
  • 跨多个系统(CRM、ERP、计费、自定义)安全地执行此操作。

典型问题:

  • 每个AI用例都直接与具有特殊JSON形状的不同REST API进行交互。
  • “人工智能触发的商业行为”没有单一、稳定的合同。
  • 添加或更改后端系统会破坏提示、工具和粘合代码。
  • 安全和策略执行分散在许多端点上。

结果: 脆弱的集成、重复的逻辑和较差的可观察性。


根本原因

根本原因通常如下:

  • 紧密耦合 AI代码到特定端点或数据库模式。
  • 没有普通信封 对于操作和结果:每个工具都定义了自己的JSON格式。
  • 无中央执行人:每个服务都有自己的策略决策。
  • 困难的多系统编排:AI必须分别了解CRM、ERP、计费等。

如果没有共享协议,就很难在保持人工智能工具稳定的同时安全地发展系统。


解决方案

介绍a 编织MCP服务器:

  • 单个HTTP端点, POST /mcp/run,即:
    • 接受a BraidRequestEnvelope (一批操作)。
    • 返回a BraidResponseEnvelope (一批结果)。
  • 内部 执行者 即:
    • 验证信封。
    • 每条路线 Action 到a 适配器 基于 resource.system (例如。 "crm", "erp", "billing", "custom").
    • 将所有结果标准化为 ActionResult 物体。
  • 一套 适配器 将通用操作转化为:
    • 对现有API的HTTP调用,
    • SDK或DB操作,
    • 或任何内部集成机制。
  • A. Docker化 Node/TypeScript服务,因此您的AI堆栈可以将其视为 MCP式远程工具.

这提供了:

  • AI工具的一个稳定的MCP端点。
  • 适用于多个业务系统的可插拔适配器模型。
  • 添加日志记录、跟踪和策略执行的中心位置。

实施

项目布局

braid-mcp-server/
  README.md
  package.json
  tsconfig.json
  Dockerfile
  docker-compose.yml
  src/
    braid-types.ts
    adapter-registry.ts
    braid-executor.ts
    server.ts
    adapters/
      mockAdapter.ts
      businessAdapter.ts

有关详细实现,请参阅源文件。


测试

npm install
npm run build
npm start
# Server listens on http://localhost:8000

curl http://localhost:8000/health

curl -X POST http://localhost:8000/mcp/run \
  -H "Content-Type: application/json" \
  -d '{
    "requestId": "demo-1",
    "actor": { "id": "agent:test", "type": "agent" },
    "createdAt": "2025-01-01T00:00:00.000Z",
    "client": "demo-client",
    "channel": "agent",
    "actions": [{
      "id": "a1",
      "verb": "read",
      "actor": { "id": "agent:test", "type": "agent" },
      "resource": { "system": "mock", "kind": "example-entity" }
    }]
  }'

你应该得到一个 BraidResponseEnvelope 一次成功 ActionResult 响应来自模拟适配器的请求。


结果与结论

该项目提供了一个通用的、MCP风格的Braid服务器,可以支持任何业务系统:

  • AI客户端发送 BraidRequestEnvelope 对象到单个 /mcp/run 终点。
  • 适配器封装了系统特定的逻辑(REST、SDK、数据库等)。
  • 执行者和HTTP服务器为所有AI触发的业务操作提供了一个单一的、可审计的入口点。

通过该决议草案:

  1. 在中实现真正的适配器 src/adapters/businessAdapter.ts 或附加文件。
  2. 将它们指向您现有的业务系统。
  3. 将LLM/工具连接到调用此服务器,而不是单个业务API。