# RoughSketch > RoughSketch is a hand-drawn-style diagram editor built on Excalidraw, where every sketch lives as a file in the user's own Google Drive. Users sketch locally with no account, or sign in to autosave to their Drive. A remote MCP server lets AI agents list, search, read, preview, create, update, rename, arrange and trash sketches in the user's Drive on their behalf. ## Pages - [Home](https://roughsketch.app/): Landing page with the product overview; entry point to the editor. - [FAQ](https://roughsketch.app/faq): Accounts, storage, privacy, and offline use. - [MCP server](https://roughsketch.app/connect): Install steps for the remote MCP server in Claude, Claude Code, Cursor, and VS Code, plus what the connector can reach. - [Privacy Policy](https://roughsketch.app/privacy): What data RoughSketch stores and how it uses Google Drive access. - [Terms of Service](https://roughsketch.app/terms): The terms governing use of RoughSketch. - [Google API Disclosure](https://roughsketch.app/google-api-disclosure): How RoughSketch's use of Google APIs meets Google's Limited Use requirements. - [Open-source licenses](https://roughsketch.app/licenses): The third-party open-source software RoughSketch is built on. ## For agents (MCP) - [MCP endpoint](https://roughsketch.app/mcp): Remote Model Context Protocol server (streamable HTTP, OAuth-protected). Once the user authorizes with Google, agents can list, search, read, preview, create, update, rename, arrange and trash RoughSketch sketches in the user's own Google Drive. Tools: read_me (the drawing guide — read it before creating or editing), list_sketches, search_sketches, read_sketch, create_sketch, update_sketch, arrange_sketch, rename_sketch, trash_sketch, preview_sketch (renders a sketch to a PNG the agent can actually look at; the render is cached at Cloudflare's edge for up to 24 hours, as is the section list a `mode:"sections"` call returns, keyed to the fileId and modifiedTime plus, for images, the requested region, element ids and size; when a full render fails, a marker holding the sketch's byte size is kept — seconds in the ordinary case, up to 6 hours when the sketch is too large to render — so a render that cannot succeed is not retried). create_sketch and update_sketch take a `format` parameter: the default reads `elements` as an Excalidraw element array, `"mermaid"` reads it as Mermaid flowchart source and lays the diagram out server-side. Each of those tools takes exactly one form per call: `update_sketch` sends either a whole `elements` array or a patch (`upsert` for the elements to write, `delete` for the ids to remove, everything else left as stored); `create_sketch` sends either `elements` or `fromFileId`, which copies an existing sketch server-side without either file passing through the agent's context; and `preview_sketch` either names a `fileId` to render or passes `measure` runs, which size candidate text and touch Drive not at all. Edits to an existing sketch's contents (update_sketch, arrange_sketch) carry a write precondition — the modifiedTime last read, so an edit is refused if the sketch changed since; rename_sketch and trash_sketch carry no such check, and trashing is recoverable from Drive; on some clients trash_sketch also puts a confirmation to the user and moves nothing until they accept, but an agent should not rely on that.