首页/新闻资讯/正文详情

给你的 Agent 一双盖房子的手:Pascal MCP 服务器进程内嵌入实战

发布时间:2026/9/27 11:04:42 来源:云帆数科 栏目:资讯中心
给你的 Agent 一双盖房子的手:Pascal MCP 服务器进程内嵌入实战
给你的 Agent 一双盖房子的手Pascal MCP 服务器进程内嵌入实战【免费下载链接】editorOpen-source 3D architectural editor with a local CLI, MCP tools, and practical workflows for humans and AI agents.项目地址: https://gitcode.com/GitHub_Trending/editor93/editorPascal Editor 是一款开源 3D 建筑编辑器它的 pascal-app/mcp 包可以把完整的建模服务器塞进你自己的进程里做进程内嵌入不起子进程、不开端口、不依赖浏览器和外部数据库Agent 就能在内存中砌墙、开门窗、摆家具撤销重做照样可用。这篇文章先用一遍跑通的流程演示接进去之后能干什么再拆开三个关键对象最后讲持久化、审计与无头模式的能力边界。先跑一遍从空桥到导出场景的完整链路本节解决接完之后到底长什么样的问题直接采用官方可编译示例 examples/embed-in-agent.ts 的剧本在一个 Bun 进程里跑起客户端 服务器的完整对bun run packages/mcp/examples/embed-in-agent.ts即可执行。第一件事是造一个无头场景。SceneBridgebridge/scene-bridge.ts直连pascal-app/core的 Zustand store所有变更都走真实 store因此 Zundo 时间中间件会把每次修改自动收拢成单步可撤销操作。loadDefault()会先播种一层 Site → Building → Level 层级客户端启动即有可查对象import { createPascalMcpServer, SceneBridge } from pascal-app/mcp const bridge new SceneBridge() bridge.loadDefault() const server createPascalMcpServer({ bridge })接下来把客户端插进来。InMemoryTransport.createLinkedPair()返回一对已接通的传输端点服务端、客户端各连一端API 面与 stdio、HTTP 完全一致只是省掉了进程边界import { Client } from modelcontextprotocol/sdk/client/index.js import { InMemoryTransport } from modelcontextprotocol/sdk/inMemory.js const [srvT, cliT] InMemoryTransport.createLinkedPair() const client new Client({ name: my-agent, version: 0.1.0 }) await Promise.all([server.connect(srvT), client.connect(cliT)])之后所有建模动作都是普通异步调用。示例给出的剧本是找到楼层 → 建一堵 5 米墙 → 立即撤销 → 校验 → 导出const levels await client.callTool({ name: find_nodes, arguments: { type: level } }) const levelId (levels.structuredContent as { nodes: Array{ id: string } }).nodes[0]?.id await client.callTool({ name: create_wall, arguments: { levelId, start: [0, 0], end: [5, 0], thickness: 0.2, height: 2.5 }, }) await client.callTool({ name: undo, arguments: { steps: 1 } }) await client.callTool({ name: validate_scene, arguments: {} }) const exported await client.callTool({ name: export_json, arguments: { pretty: true } })注意运行时门槛服务器在无头模式下要求 Node.js 22.13 或更新版本或 Bun。Agent 框架为什么偏爱 InMemoryTransport上一节的示例没有拉起任何pascal-mcp进程这就是本节要回答的问题三种传输方式对自建 Agent 的代价差在哪。传输方式典型使用者是否有进程边界stdio需要把服务器当独立进程拉起的配置式客户端如 Claude Desktop有HTTP多客户端共享同一实例、需要远程访问的场景有InMemory把服务器直接嵌进你自己 Agent 运行时的场景无对自建框架来说InMemory的收益具体有三条不用管进程生命周期没有子进程要拉起和回收也没有端口占用问题能力面零差异内嵌后的 tools / resources / prompts 与另外两种传输完全同构测试里验证过的行为搬到生产不会变形单测友好在测试里秒级搭好客户端 服务器对跑CI 里做端到端断言的成本极低。服务器交给 Agent 的资产工具、资源与提示模板嵌入式接线的价值在于 Agent 一上线就拿到一整套建筑建模工具链30 个工具输入输出全部经 Zod 校验变更类工具被 Zundo 收拢为单步可撤销。按用途分组速览分组代表工具能做什么读场景get_scene/find_nodes/describe_node整图快照、按类型或楼层过滤节点、查看单个节点的血缘与属性建结构create_room/create_wall/create_level/cut_opening由多边形一键生成房间区域 板 顶棚 围合墙、加层、加墙、在墙上切出洞口门窗与家具add_door/add_window/place_item/furnish_room参数化挂门挂窗、按目录摆放家具、按房型自动布置一屋家具批处理与历史apply_patch/undo/redo创建/更新/删除先 dry-run 再原子提交沿时间历史逐步回退与重做校验与交付validate_schema 场景校验/check_collisions/export_json模式与父子关系校验、重叠及越界检测、序列化为 JSON 落盘工具之外还有两类配套资产完整清单见 packages/mcp/README.md5 个资源pascal://scene/current全量场景快照、pascal://scene/current/summary节点计数、包围盒与楼层面积的 Markdown 摘要、pascal://agent/guide写给 Agent 的建造工作流指南、pascal://catalog/items内置家具目录子集、pascal://constraints/{levelId}指定楼层的板轮廓与墙体多边形可当规划上下文3 个提示模板from_brief把80㎡两居室这类文字需求转成增量apply_patch调用序列、iterate_on_feedback按反馈产出最小差异补丁集、renovation_from_photos视觉工具 变更工具串联出翻修方案。把方向盘交给 LLM调用循环完全在你的代码里这节解决模型决策如何落到服务器动作的问题。接法很直接把listTools()的结果转成 function-calling 定义再把模型的选择喂回callTool()// LLM 决定调哪个工具你在本进程内完成路由 const decision await llm.decide({ tools: tools.tools, history }) const result await client.callTool({ name: decision.name, arguments: decision.args, }) // 把 result 当观察结果回喂模型ReAct 循环在此闭合由于没有进程边界思考 → 调工具 → 读场景 → 再思考全程发生在同一事件循环里往返延迟低于 stdio 子进程方案也方便你在中间夹入自定义的校验、限流或人工确认逻辑。官方示例正是按这个思路把整条链路查楼层、建 5 米墙、撤销、校验、导出串成了可编译脚本。落盘与审计createPascalMcpServer 的三个扩展点内存场景够玩但生产 Agent 通常还要存得下、查得到、拦得住。这三件事都走 server.ts 里工厂函数的选项选项作用store注入一个SceneStore实现后save_scene、load_scene、list_scenes等持久化工具随之可用executeTool包住每个工具处理器回调里拿到name、AbortSignal与execute()适合审计日志、耗时统计、权限拦截operations需要更深的定制时整层替换场景操作实现见 operations/SceneStore接口定义在 storage/types.ts核心方法是save/load/list/delete/rename另有项目状态、事件流等可选方法。包里内置了本地 SQLite 实现createSceneStore()storage/index.ts数据库默认落在~/.pascal/data/pascal.db可用PASCAL_DB_PATH或PASCAL_DATA_DIR指向别处换成 Supabase 或自建数据库同样可行。️const server createPascalMcpServer({ bridge, store: await createSceneStore(), executeTool: ({ name, signal, execute }) { console.log([audit] tool${name}) return execute() }, })一个小提醒启用executeTool后SDK 的工具改名机制会直接失败fail closed因为注册生命周期下安全地二次改名做不到——工具命名请在注册前定稿。无头模式的四条边界坐标、冲突与能力上限踩坑成本最高的四件事这节一次讲清。⚠️坐标约定Pascal 采用右手系X/Z 是地面平面、Y 朝上长度单位是米旋转为弧度。2D 平面点[x, z]直接映射为世界坐标(x, y, z)无符号翻转但挂在墙上的门窗其position是墙局部坐标沿墙的米数不是平面坐标。完整推演见 coordinate-conventions-demo.md。版本冲突当 MCP 与编辑器共享同一数据目录PASCAL_DATA_DIR时每次写入都会先做版本检查若浏览器或别的进程先存了更新的版本工具会返回live_sync_version_conflict用load_scene重新加载后再继续即可。能力上限export_glb依赖浏览器端的 Three.js 渲染器无头模式只能返回not_implementedanalyze_floorplan_image、analyze_room_photo等视觉工具要求宿主支持 sampling 能力createMessage不支持时收到结构化的sampling_unavailable。内存与派生几何无头模式没有渲染器消费dirtyNodes它们会持续累积关心可观测性时调bridge.flushDirty()排空墙体斜切、板三角化等派生几何的生成逻辑运行在编辑器 React hooks 里无头侧不会重算但节点数据本身可完整读写。收束一个三对象心智模型把整条链路压缩成一句话SceneBridge提供无头 3D 场景 →createPascalMcpServer装配 30 建筑工具与 5 资源 3 提示 →InMemoryTransport抹掉进程边界让 Agent 循环直接驱动。需要现成剧本时examples/ 目录里还有生成公寓、照片转场景、拍照翻修等完整案例可参考想给编辑器侧配同一套 MCP也可结合npx pascal-app/cli editor走 CLI 路线让 Agent 与浏览器编辑器实时同库协作。【免费下载链接】editorOpen-source 3D architectural editor with a local CLI, MCP tools, and practical workflows for humans and AI agents.项目地址: https://gitcode.com/GitHub_Trending/editor93/editor创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

嵌入式开发必会:烧录下载与仿真调试完整指南
嵌入式开发必会:烧录下载与仿真调试完整指南

做嵌入式开发这些年,要说哪个环节几乎每天都要打交道、却又常常被当作“点个按钮就完事”的基础操作,那一定是烧录下载和仿真调试这套工具链。嵌入式软件开发的完整闭环里,代码写完只是第一步,把固件可靠地烧进芯片,再… · 2026/9/27 11:04:11

ComfyUI 节点式工作流实战:把「改一次参数重跑一遍」变成自动流水线,6 步跑通
ComfyUI 节点式工作流实战:把「改一次参数重跑一遍」变成自动流水线,6 步跑通

ComfyUI 节点式工作流实战:把「改一次参数重跑一遍」变成自动流水线,6 步跑通 【免费下载链接】ComfyUI The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface. The fastest local inference engine in th… · 2026/9/27 11:04:11

购物网站建设ppt避坑指南:3档报价速查手册
购物网站建设ppt避坑指南:3档报价速查手册

购物网站建设ppt避坑指南:3档报价速查手册 找建站公司最怕什么?不是功能做不出来,而是报价单像天书,最后付的钱比预期多出一大截。尤其是做购物网站,很多团队拿着“购物网站建设ppt”去询价,结果被忽悠着加了各种用不上的模块。这份速查手册,就… · 2026/9/27 11:03:53

计算机机应用网站建设与维护避坑:5个免费工具省钱指南
计算机机应用网站建设与维护避坑:5个免费工具省钱指南

计算机机应用网站建设与维护避坑:5个免费工具省钱指南 找建站公司报价单上那行小字“基础维护费5000元/年”,是不是让你心里一紧?很多新手转行做网站,第一反应就是找外包,结果花了大几千,最后发现改个Logo还要再掏钱,域名续费更是个无底洞。… · 2026/9/27 11:59:51

【kubernetes v1.21】(二)kube-apiserver 超深度架构分析:TaoToken 统一 Key 接入 settings.json 配置骨架
【kubernetes v1.21】(二)kube-apiserver 超深度架构分析:TaoToken 统一 Key 接入 settings.json 配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 11:59:39

Avalonia跨平台工业监控开发实战:Modbus TCP与UI线程协同
Avalonia跨平台工业监控开发实战:Modbus TCP与UI线程协同

1. 为什么是 Avalonia 而不是 WPF 或 WinForms 做工业监控面板?去年底接手一个老厂改造项目,产线有十几台西门子 S7-1200 PLC、三台汇川 H3U 和五台国产温控仪表,全部通过以太网口暴露 Modbus TCP 接口。客户明确要求:新监控软件必… · 2026/9/27 11:59:26

成交型网站倡导公司建站多少钱别被坑
成交型网站倡导公司建站多少钱别被坑

成交型网站倡导公司建站多少钱别被坑 模板网站太丑不够用,这是很多初创团队负责人的第一反应。别急,先别急着问“ 成交型网站倡导公司 ”定制开发 多少钱… · 2026/9/27 11:59:26

阿里发布国产最强编程模型Qwen3.6-Plus:用TaoToken统一Key接入Cline的config.json配置骨架
阿里发布国产最强编程模型Qwen3.6-Plus:用TaoToken统一Key接入Cline的config.json配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 11:59:14

cryptography 项目 HPKE(混合公钥加密)实战指南:从 Suite 组合到后量子混合 KEM
cryptography 项目 HPKE(混合公钥加密)实战指南:从 Suite 组合到后量子混合 KEM

密码学 【免费下载链接】cryptography cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. 项目地址: https://gitcode.com/gh_mirrors/cr/cryptography 点击查看 免费下载 本篇技术指南以 cryptography 仓… · 2026/9/27 11:59:08

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码