Files
upstream-tldraw/apps/mcp-app/wrangler.toml
upstream-mirror a774ac673a
Some checks failed
Deploy analytics worker / Deploy analytics worker to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
i18n upload strings / Upload latest strings (push) Failing after 1s
Deploy bemo / Deploy bemo to ${{ (github.ref == 'refs/heads/bemo-production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
Deploy grafana resources / ${{ github.event_name == 'push' && 'Deploy grafana resources' || 'Validate grafana resources (dry run)' }} (push) Failing after 0s
End to end tests (dotcom) / Check for relevant changes (push) Failing after 0s
End to end tests (examples) / Check for relevant changes (push) Failing after 0s
End to end tests (mermaid readability) / Check for relevant changes (push) Failing after 1s
End to end tests (perf) / Check for relevant changes (push) Failing after 0s
Publish editor extensions / Publish editor extensions (push) Failing after 1s
Publish SDK packages / Remove the publish-packages label (push) Has been skipped
Checks / Tests & checks (push) Has been cancelled
Checks / Build all projects (push) Has been cancelled
Deploy templates / Deploy templates (push) Has been cancelled
End to end tests (dotcom) / End to end tests (dotcom) (push) Has been cancelled
End to end tests (mermaid readability) / End to end tests (mermaid readability) (push) Has been cancelled
End to end tests (perf) / End to end tests (perf) (push) Has been cancelled
Deploy .com / Deploy dotcom to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Has been cancelled
End to end tests (examples) / End to end tests (examples) (push) Has been cancelled
Publish SDK packages / Publish SDK packages (push) Has been cancelled
Publish SDK packages / Tell user released version (push) Has been cancelled
Publish SDK packages / Publishes code templates to separate repositories (push) Has been cancelled
Publish SDK packages / Deploys the template demos with the new SDK version (push) Has been cancelled
snapshot of https://github.com/tldraw/tldraw.git (main, 2026-09-23; blobs > 131072B omitted)
2026-09-23 16:12:52 +05:00

63 lines
1.8 KiB
TOML

name = "tldraw-mcp-app"
main = "src/worker.ts"
# Keep in sync with WORKER_COMPATIBILITY_DATE in src/shared/types.ts
compatibility_date = "2025-03-10"
compatibility_flags = ["nodejs_compat"]
preview_urls = true
[assets]
directory = "./dist"
binding = "ASSETS"
run_worker_first = true
[durable_objects]
bindings = [
{ class_name = "TldrawMCP", name = "MCP_OBJECT" },
{ class_name = "CanvasStore", name = "CANVAS_STORE" },
]
[[migrations]]
tag = "v1"
new_sqlite_classes = ["TldrawMCP"]
[[migrations]]
tag = "v2"
new_sqlite_classes = ["CanvasStore"]
[vars]
# Set this to the public URL of the worker. Used for constructing absolute image URLs.
# Override with `--var WORKER_ORIGIN:https://your-tunnel.trycloudflare.com` for cloudflared tunnels.
WORKER_ORIGIN = "https://tldraw-mcp-app.tldraw.workers.dev"
# Default to production-safe widget behavior. Local dev scripts override this with
# `--var MCP_IS_DEV:true` so local HTTP connectors omit `ui.domain`.
MCP_IS_DEV = "false"
[[analytics_engine_datasets]]
binding = "MCP_ANALYTICS"
dataset = "MCP_ANALYTICS"
[[worker_loaders]]
binding = "LOADER"
#################### Rate limiting ####################
[[ratelimits]]
name = "RATE_LIMITER"
namespace_id = "2001"
[ratelimits.simple]
limit = 30
period = 60
#################### Observability ####################
[observability]
enabled = true
# Invocation logs record every invocation, including ones that produce no output
# of their own. The Agents SDK spends three Durable Object invocations per MCP
# request on session routing before any work happens (a `set-name` fetch, plus
# `getInitializeRequest` and `updateProps` RPCs), so those empty records were
# roughly 80% of this worker's log volume. Turning them off keeps `console`
# output — head sampling would drop real errors along with the noise.
[observability.logs]
invocation_logs = false