使用说明
@塔拉奥拉克/tldraw mcp
用于管理本地的MCP(模型上下文协议)服务器 tldraw 画布文件(.tldr).
是什么让这与众不同?
现有的tldraw MCP服务器允许AI在内存画布上绘图。 这个项目不一样 --它读取、写入和搜索 本地 .tldr 文件 在磁盘上,使tldraw成为一个持久的视觉草稿栏,AI代理可以通过编程进行更新。
特性
- 📖 阅读 --加载并解析
.tldr文件 - ✍️ 写 --通过验证创建和更新画布文件
- 📋 列表 --枚举所有
.tldr带有元数据的文件 - 🔍 搜索 --在所有画布上进行全文搜索
- 🔷 形状CRUD --以编程方式添加、更新、删除形状
安装
npm(推荐)
npx @talhaorak/tldraw-mcp
来源
git clone https://github.com/talhaorak/tldraw-mcp.git
cd tldraw-mcp
bun install
bun run start
配置
克劳德桌面
增添 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"tldraw": {
"command": "npx",
"args": ["@talhaorak/tldraw-mcp"],
"env": {
"TLDRAW_DIR": "/path/to/your/tldraw/files"
}
}
}
}
开爪
添加到您的OpenClaw配置中:
mcp:
servers:
tldraw:
command: npx
args: ["@talhaorak/tldraw-mcp"]
env:
TLDRAW_DIR: /path/to/your/tldraw/files
或者作为技能安装:
curl -fsS https://raw.githubusercontent.com/talhaorak/tldraw-mcp/main/SKILLS.md | bash
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
TLDRAW_DIR |
~/.tldraw |
的基本目录 .tldr 文件 |
工具
tldraw_read
阅读a .tldr 并返回其解析后的内容。
tldraw_read({ path: "notes.tldr" })
tldraw_write
编写或更新 .tldr 文件(验证格式)。
tldraw_write({
path: "notes.tldr",
content: { /* tldraw file object */ }
})
tldraw_create
创建一个新的空tldraw画布。
tldraw_create({ path: "new-canvas.tldr", name: "My Canvas" })
tldraw_list
列出所有 .tldr 具有页面/形状计数的文件。
tldraw_list({ recursive: true })
tldraw_search
在所有画布上搜索文本内容。
tldraw_search({ query: "TODO", searchIn: "text" })
tldraw_get_shapes
从文件中获取所有形状,可选择按页面过滤。
tldraw_get_shapes({ path: "notes.tldr", pageId: "page:abc123" })
tldraw_add_shape
在画布上添加新形状。
tldraw_add_shape({
path: "notes.tldr",
shape: {
type: "geo",
x: 100,
y: 100,
props: {
w: 200,
h: 100,
geo: "rectangle",
color: "blue",
fill: "semi"
}
}
})
tldraw_update_shape
更新现有形状的属性。
tldraw_update_shape({
path: "notes.tldr",
shapeId: "shape:abc123",
updates: { x: 200, props: { color: "red" } }
})
tldraw_delete_shape
从画布中删除形状。
tldraw_delete_shape({
path: "notes.tldr",
shapeId: "shape:abc123"
})
用例
- AI代理的视觉草稿 --AI更新您可以在tldraw中查看的画布
- 图表生成 --以编程方式创建流程图、架构图
- 注释组织 --在多个画布上搜索和组织视觉笔记
- 与tldraw桌面/VS代码集成 --文件自动同步
tldraw文件格式
此服务器使用tldraw v2格式:
{
"tldrawFileFormatVersion": 1,
"schema": {
"schemaVersion": 2,
"sequences": { ... }
},
"records": [
{ "id": "document:document", "typeName": "document", ... },
{ "id": "page:xxx", "typeName": "page", ... },
{ "id": "shape:xxx", "typeName": "shape", "type": "geo", ... }
]
}
发展
# Install dependencies
bun install
# Run in development mode
bun run dev
# Type check
bun run typecheck
# Build for distribution
bun run build
# Run tests
bun test
出版
./scripts/publish.sh # Auto-increment patch (0.1.0 → 0.1.1)
./scripts/publish.sh 0.2.0 # Use specific version
./scripts/publish.sh minor # Bump minor (0.1.1 → 0.2.0)
./scripts/publish.sh major # Bump major (0.2.0 → 1.0.0)
脚本更新 package.json、提交、标记和推送。GitHub Actions通过可信发布者自动处理npm发布。
安全
- 路径遍历预防 --相对路径无法逃脱
TLDRAW_DIR - 格式验证 --所有写入都根据tldraw模式进行验证
- 无网络访问 --纯本地文件操作
许可证
MIT© Talha Orak
