{"ok":true,"site":{"host":"patchwork-webmcp.vercel.app","url":"https://patchwork-webmcp.vercel.app/","type":"live","desc":"Patchwork is a local-first browser canvas where people and site tools build web projects together.","tools":[{"name":"get_workspace_context","kind":"answer","impl":"imperative","description":"Inspect Patchwork before planning work. Returns the active starter, revision, selected file, file summary, latest checkpoint, preview status, and enforced limits. This is read-only.","title":"Get workspace context","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_files","kind":"answer","impl":"imperative","description":"List canonical text file paths, sizes, extensions, and roles. Use before read_files when you need to discover the project structure. This is read-only.","title":"List project files","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"prefix":{"type":"string","maxLength":180,"description":"Optional canonical relative path prefix."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"read_files","kind":"answer","impl":"imperative","description":"Read an explicit batch of up to 12 validated text files. Use after list_files and before editing. Returns the revision observed with each file and never mutates state.","title":"Read project files","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"paths":{"type":"array","minItems":1,"maxItems":12,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":180,"description":"A canonical project-relative POSIX path such as src/App.tsx. Never use an absolute path, backslash, URL, glob, or .. segment."},"description":"Explicit text file paths to read. Read only the files needed for the current task."}},"required":["paths"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"write_files","kind":"act","impl":"imperative","description":"Create or replace up to 12 text files as one atomic change. Use for complete file contents after reading the current revision. Patchwork validates the entire batch, creates exactly one automatic checkpoint, persists once, and increments the revision once; an invalid item changes nothing.","title":"Write project files atomically","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"writes":{"type":"array","minItems":1,"maxItems":12,"description":"The complete atomic write set. Every item is validated before any file changes.","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":180,"description":"A canonical project-relative POSIX path such as src/App.tsx. Never use an absolute path, backslash, URL, glob, or .. segment."},"content":{"type":"string","maxLength":262144,"description":"Complete UTF-8 text content for the file."}},"required":["path","content"],"additionalProperties":false}},"expectedRevision":{"type":"integer","minimum":0,"description":"Optional current workspace revision. Supply the revision previously observed to prevent overwriting newer changes."}},"required":["writes"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"move_file","kind":"act","impl":"imperative","description":"Rename or move one explicit text file after validating both canonical paths and destination collisions. Creates a checkpoint and changes the workspace atomically.","title":"Move a project file","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"from":{"type":"string","minLength":1,"maxLength":180,"description":"A canonical project-relative POSIX path such as src/App.tsx. Never use an absolute path, backslash, URL, glob, or .. segment."},"to":{"type":"string","minLength":1,"maxLength":180,"description":"A canonical project-relative POSIX path such as src/App.tsx. Never use an absolute path, backslash, URL, glob, or .. segment."},"expectedRevision":{"type":"integer","minimum":0,"description":"Optional current workspace revision. Supply the revision previously observed to prevent overwriting newer changes."}},"required":["from","to"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"delete_file","kind":"transact","impl":"imperative","description":"Delete exactly one explicit file. Globs, directories, and recursive deletion are never accepted. Creates a checkpoint before the atomic deletion.","title":"Delete one project file","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":180,"description":"A canonical project-relative POSIX path such as src/App.tsx. Never use an absolute path, backslash, URL, glob, or .. segment."},"expectedRevision":{"type":"integer","minimum":0,"description":"Optional current workspace revision. Supply the revision previously observed to prevent overwriting newer changes."}},"required":["path"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"inspect_preview","kind":"answer","impl":"imperative","description":"Read the current Sandpack compilation/runtime status, diagnostics, rendered revision, and factual preview summary. It does not claim visual understanding and does not mutate state.","title":"Inspect preview diagnostics","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"create_checkpoint","kind":"act","impl":"imperative","description":"Create a named or automatically named local snapshot of the current workspace without changing file content or revision. Use before a risky transformation or milestone.","title":"Create a project checkpoint","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80,"description":"Optional concise label describing the state being preserved."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"restore_checkpoint","kind":"act","impl":"imperative","description":"Restore one explicit checkpoint by identifier. Patchwork first preserves the current state as a safety checkpoint, then restores and increments the revision once.","title":"Restore a project checkpoint","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"checkpointId":{"type":"string","minLength":1,"maxLength":100,"description":"Exact checkpoint identifier returned by create_checkpoint or get_workspace_context."},"expectedRevision":{"type":"integer","minimum":0,"description":"Optional current workspace revision. Supply the revision previously observed to prevent overwriting newer changes."}},"required":["checkpointId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"prepare_project_export","kind":"answer","impl":"imperative","description":"Validate the current project for ZIP export and return the filename, revision, file manifest, total size, and warnings. This never starts a download or changes state.","title":"Prepare project export","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Developer Tools","favicon":"/favicons/patchwork-webmcp.vercel.app.svg","apiSurface":"spec","toolCount":10}}