新闻详情

新闻详情

首页 / 资讯中心 / 详情

Pascal Editor MCP Agent 嵌入实战:InMemoryTransport 十六行代码连通客户端与服务器

发布时间:2026/9/27 21:42:21来源:尧图网络
Pascal Editor MCP Agent 嵌入实战:InMemoryTransport 十六行代码连通客户端与服务器
Pascal Editor MCP Agent 嵌入实战InMemoryTransport 十六行代码连通客户端与服务器【免费下载链接】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做 Agent 嵌入的话Pascal Editor MCP 的 InMemoryTransport 是最顺的路子把服务器塞进自己的进程不拉子进程、不占端口十六行代码Agent 就多出建墙、门窗、摆家具的完整 3D 建模能力。第一幕 · 为什么进程内嵌入省掉三类开销stdio 接 MCP 服务器的痛不在协议在进程pascal-mcp得自己 spawn进程一死连接就断崩溃恢复、僵尸进程清理都得按单客户端配置重写一遍。HTTP 路线解决了多客户端共享却把成本搬到了网络上端口占用、绑定范围、鉴权 token 都得操心。对一个单进程的内部 Agent 来说这些都是不必要的弯路。InMemoryTransport 是第三条路createLinkedPair()给出一对首尾相连的传输端点服务器连一头客户端连另一头消息全程走内存没有进程要管也没有端口要监听。一句话客户端和服务器同进程时进程内嵌入是唯一不用为进程付费就能拿到完整能力的接法。第二幕 · 16 行代码连通客户端与服务器写代码前先认三个对象。SceneBridge是无头场景桥直连pascal-app/core的 Zustand store。所有变更走真实 store被 Zundo 天然捕获成可撤销步骤undo/redo 不用额外处理。调一次loadDefault()场景就种好了 Site → Building → Level 层级立即可查。createPascalMcpServer是服务器工厂。把桥传进去得到一个装好全部 tools、resources、prompts 的McpServer实例暴露的能力与 stdio、HTTP 版一致。InMemoryTransport提供内存传输对调createLinkedPair()两端即连通。最小接入路径长这样import { createPascalMcpServer, SceneBridge } from pascal-app/mcp import { Client } from modelcontextprotocol/sdk/client/index.js import { InMemoryTransport } from modelcontextprotocol/sdk/inMemory.js const bridge new SceneBridge() bridge.loadDefault() // 播种默认场景Site → Building → Level const server createPascalMcpServer({ bridge }) 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)]) // 两端接通 const tools await client.listTools() console.log(tools.tools.map((t) t.name)) const scene await client.callTool({ name: get_scene, arguments: {} })官方示例是可编译运行的完整版bun run packages/mcp/examples/embed-in-agent.ts直接跑。第三幕 · 把 LLM 的工具调用接回场景图接通之后工具调用的路由权完全在你手里。常见接法分两步先把listTools()的工具清单转成 function-calling 定义喂给模型再把模型决策解析成{name, arguments}交给callTool()结果作为观察回灌上下文——这就是一轮 ReAct 的思考 → 行动 → 观察。由于传输对的两端同处一个事件循环一次思考加一次行动不离开进程延迟自然比子进程管道低。值得先上手感受的几个工具get_scene拉整张场景图Agent 每轮开工先问它create_wall用两个 2D 端点落墙建错了undo一步退回apply_patch把批量创建、更新、删除做成一次原子提交适合隔个墙、铺个地这种整间操作export_json把场景图序列化既可持久化也能喂给下游。第四幕 · 从 Demo 到生产存储、审计与上生产前要知道的四个坑 注入 store 获得 save/load 工具createPascalMcpServer接受store选项。传任意一个 SceneStore 接口实现save、load、list、delete 等save_scene、load_scene、list_scenes这类持久化工具就会挂上服务器。不想自己写包内自带 createSceneStore底座是本地 SQLite。把底层数据库换成 Supabase 或自己的服务接口不变。用 executeTool 做审计与耗时统计传executeTool回调每次工具调用都会经过你拿到name和AbortSignal需要放行再调execute()。审计日志、计时、权限拦截都能挂在这里const server createPascalMcpServer({ bridge, store: await createSceneStore(), // 内置本地 SQLite executeTool: async ({ name, execute }) { const t0 performance.now() try { return await execute() } finally { console.log([audit] ${name} ${(performance.now() - t0).toFixed(1)}ms) } }, })operations 层深度定制要改整套场景操作层的行为可传operations选项整体替换见 operations/。但九成嵌入场景走不到这一步。上生产前必知的四个坑坐标约定写几何代码前先记住右手系、Y 朝上、X/Z 是地面平面长度米、旋转弧度。2D 平面点[x, z]直接映射世界坐标第二个分量是世界的 Z深度不是上。细节见 coordinate-conventions-demo.md。版本冲突与编辑器共享数据目录时每次写入都带版本检查别人先存了新版本工具报live_sync_version_conflict用load_scene重载再继续。能力边界建模工具里唯一不能用的是export_glb——依赖浏览器渲染器无头环境只会返回not_implemented。视觉工具如analyze_floorplan_image要求宿主支持 sampling 能力不支持会收到sampling_unavailable。内存管理无头模式没有渲染器消费dirtyNodes队列它会一直涨关心节点更新的话定期调bridge.flushDirty()排空。一句话串起三步链路SceneBridge 提供无头 3D 场景createPascalMcpServer 在它身上装好 30 建筑建模工具InMemoryTransport 把两端在进程内接通你的 Agent 循环就能像调普通函数一样驱动整张场景图。延伸阅读examples/ 目录下的生成公寓、照片转场景等案例以及 packages/mcp/README.md 里的完整工具与资源清单。【免费下载链接】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),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

手撕 Decoder 生成:因果掩码 + KV Cache,70 行 PyTorch 看懂流式输出为什么快 2026/9/27 23:17:00

手撕 Decoder 生成:因果掩码 + KV Cache,70 行 PyTorch 看懂流式输出为什么快

手撕 Decoder 生成:因果掩码 KV Cache,70 行 PyTorch 看懂流式输出为什么快 上一篇手撕了 Transformer Block(FFN/残差/LayerNorm),这篇接着往下走:Decoder 怎么用这个 Block 逐 token 生成文本&#xff…

阅读更多 →
嵌入式驱动开发培训如何选?看硬件、内核、调试三要素 2026/9/27 23:17:00

嵌入式驱动开发培训如何选?看硬件、内核、调试三要素

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

阅读更多 →
UFS 3.1协议栈全解析:从UPIU到WriteBooster的工程实践 2026/9/27 23:17:00

UFS 3.1协议栈全解析:从UPIU到WriteBooster的工程实践

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

阅读更多 →
创维HC2910机顶盒强刷海美迪安卓7.0固件教程 2026/9/27 23:17:00

创维HC2910机顶盒强刷海美迪安卓7.0固件教程

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

阅读更多 →
电能计量芯片报警选型:硬件引脚vs寄存器的系统级决策 2026/9/27 23:17:00

电能计量芯片报警选型:硬件引脚vs寄存器的系统级决策

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

阅读更多 →
FPGA中IDELAY与IDELAYCTRL协同设计原理与实战 2026/9/27 23:16:54

FPGA中IDELAY与IDELAYCTRL协同设计原理与实战

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

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉