agent-draw MCP Server
agent-draw
一个以智能体(agent)为先的技术画布。人类负责排列和检视 tldraw 画布;智能体则读取和修补一个与渲染器无关、带版本号的图文档。
Alpha 阶段: 文档边界是经过深思熟虑的;插件 SDK 和兼容性保证仍在演进中。

第一个纵向切片包括:
基于 tldraw 的技术画布,包含 API、服务、数据库、表、文件和外部系统块;
可检视的表列,以及用于数据库归属、服务读取和外键引用的语义边;
自定义 React 节点形状,带有具名输入/输出句柄和带类型、可吸附的连接;
规范的
agent-draw/0.1JSON,包含稳定 ID、语义边、具名视图、能力和向前兼容的扩展;agent-draw-patch/0.1操作,带乐观修订检查;构建时插件注册,带命名空间节点类型和声明的能力;
API 检视器,通过受保护的本地能力运行时编辑和执行 HTTP 请求;
JSON 导入/导出和浏览器本地持久化;
用于智能体编写的读取、导入、连接提议和乐观修补的 TypeScript CLI 和 stdio MCP 服务器。
运行
要求:Node 20+ 和 pnpm。
pnpm install
pnpm dev打开 http://127.0.0.1:4173。画布运行时仅监听 127.0.0.1:4174,Vite 将 /api 代理到该端口。
使用页头中的示例选择器,或直接打开一个示例:
/?sample=system-map/?sample=agent-loop/?sample=plugin-system/?sample=openapi-projects
pnpm test
pnpm typecheck
pnpm buildRelated MCP server: tldraw MCP Server
智能体工作流
从 UI 导出
.agent-draw.json文档,或从项目中读取一份。保留 ID 和未知的
extensions字段。优先使用小的
agent-draw-patch/0.1提议,而不是重写整个文档。将
baseRevision设置为源文档的修订号。将语义字段与布局(
setLayout)分开修改。在应用前进行验证。过期的补丁必须针对最新修订重新生成。
CLI 暴露了与画布使用的相同的模型操作:
pnpm agent-draw validate path/to/map.agent-draw.json
pnpm agent-draw import-openapi openapi.yaml -o map.agent-draw.json
pnpm agent-draw connect map.agent-draw.json \
--source service-api/calls \
--target database-projects/query \
-o connection.agent-draw-patch.json
pnpm agent-draw apply map.agent-draw.json connection.agent-draw-patch.json --writeMCP 服务器
pnpm mcp 运行 TypeScript stdio 服务器。将 MCP 客户端指向该项目,并用 AGENT_DRAW_ROOT 限制其文件访问范围:
{
"mcpServers": {
"agent-draw": {
"command": "pnpm",
"args": ["--dir", "/absolute/path/to/agent-draw", "mcp"],
"env": { "AGENT_DRAW_ROOT": "/absolute/path/to/your/project" }
}
}
}第一组工具刻意保持在图层面:read_document、list_plugins、propose_connection、apply_patch 和 import_openapi。参见智能体工具。
安全模型
图文件包含能力引用,绝不包含凭据。宿主拥有能力授权。MVP HTTP 运行时:
仅支持显式 HTTP 方法;
阻止 localhost、私有、链路本地、
.local、内嵌凭据、重定向和非 HTTP 协议;限制输入/请求体大小、响应大小和持续时间;
仅在人类按下运行请求后才执行。
这是一个有用的基线,而非生产级网络沙箱。部署版本还应隔离执行、在连接时重新解析 DNS、添加按空间的白名单,并存储可审计的授权。
架构
src/model 是事实来源。src/canvasAdapter.ts 是 tldraw 适配器。src/plugins 包含清单和语义辅助函数。src/runtime 是浏览器客户端;server 是受信任的本地能力运行时。
画布借鉴了 React Flow 有用的交互语义——可见句柄、兼容端点和带类型连接——而不采用第二个场景图。tldraw 负责选择、相机、空间变换和渲染。规范的 Agent Draw 文档负责节点 ID、端口、边和修订。UI 手势被翻译成与 CLI 和 MCP 服务器使用的相同的 agent-draw-patch/0.1 提议。
插件边界借鉴了 BB 在声明式清单、前端表面和有界宿主能力之间的有用分离。它有意不将 tldraw 存储暴露为插件契约。
可配置性方向
当前块是进程内 TypeScript 插件。预期的下一步是让大多数块变成声明式的,同时不削弱规范模型:
块模式: 清单声明字段、端口、默认值、外观和兼容关系。
生成的检视器: 宿主根据该模式渲染普通字段编辑器;插件仅为真正专门的交互提供自定义 React 面板。
导入器和适配器: SQL/ORM/OpenAPI/仓库扫描器将外部系统转换为带来源的稳定节点和补丁。
宿主能力: 块引用连接器或密钥 ID,而受信任的宿主拥有凭据并批准运行时操作。
智能体工具: MCP 暴露与 UI 相同的模式目录和补丁操作,使智能体编写的图保持可检视和可审查。
这为常见块提供了低代码路径,同时为 API 执行、实时数据库检视和其他更丰富的工具保留了类型化的逃生舱口。
This server cannot be deployed
Maintenance
Related MCP Connectors
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
MCP server for agentverse documentation, generated by doc2mcp.
- mcpOAuthcom.airtable
Official Airtable MCP server — database and operations layer for agents.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- FlicenseAqualityDmaintenanceA TypeScript MCP server for launching, tracking, and managing external coding-agent runs across local and remote backends like Codex and Claude Code. It allows top-level agents to orchestrate subagents through tools for spawning tasks, polling events, and handling interactive sessions.72-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives AI agents programmatic control over a live tldraw canvas, enabling diagram creation through natural language.1MIT
- AlicenseNot gradedqualityCmaintenanceA local MCP server that gives AI coding agents symbol definitions, dependency graphs, and a live architecture vocabulary for TypeScript/JavaScript repos, with no network or embeddings.16 npmMIT
- AlicenseAqualityBmaintenanceAn MCP server that lets agents draw 18 diagram types from JSON (no SVG, no headless browser)245 npm10MIT