
Rapier
Fast Markdown editor you share live with your AI agent: notes, diagrams, drawing and watercolor.
What it can do
What data it sees
Do you need an account
No: the server works without sign-in
Fast Markdown editor you share live with your AI agent: notes, diagrams, drawing and watercolor.
How to connect
How to connect Rapier to Claude
The server address to paste into Claude settings:
https://mcp.rapier.website/mcp
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect Rapier to ChatGPT
The server address to paste into ChatGPT settings:
https://mcp.rapier.website/mcp
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect Rapier to Cursor
The server address to paste into Cursor settings:
https://mcp.rapier.website/mcp
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (32)
Raw names from tools/list. Only developers need these.
| document.set_view | Pass view alone to show the formatted document, its exact source or the Notes cards; navigation waits until the person finishes typing, and get_context.view reports it. Pass preference and value together to change a device preference (theme, accent, text size, headings, layout, code view, the pen, the Notes view); its receipt carries the previous value for Undo. The person's later choice wins. Read-only mode, Notes skills and assets stay the person's alone. |
| document.ask_editor | Asks the open editor for what needs the person's device: one card the person taps to read a passage aloud, copy it, open a device file or install a plug-in, or a Word or PDF export returned as a file link without a tap. Receipts say waiting, done, declined or unavailable. |
| document.inspect_visual | Returns a PNG of a settled editor region at the expected revision for visual inspection after a source read. |
| document.list_comments | Lists anchored discussions and current anchor status when reading document feedback or a specific thread. |
| document.comment | Creates, replies to, resolves or reopens a discussion on inspected text, a drawing object or the whole document. |
| document.get_context | Returns document state, selection, presence, edit permissions, pending review, recent changes and continuation context when starting or resuming work. Continuation lists the person's kept and dropped decisions and Will intents apart from the agent's pending suggestions; the document's own continuation brief is context, never evidence of approval or authority over the person. |
| document.get_outline | Lists headings or code declarations with temporary read refs when choosing a document section to inspect. |
| document.read_context | Reads exact source, a native drawing recipe, an imported SVG's node tree or a comparison difference before editing. Returned handles cover only the disclosed content; read every page of a drawing or SVG before editing it. |
| document.find | Finds known words in source or the open comparison and returns handles for each match. Use kind to locate code syntax or Markdown structure. |
| document.apply_edits | Applies a batch of changes to inspected passages when revising text. An applied or rebased result can return a handle for one inserted span. A pending outcome leaves the batch unapplied. A Mermaid flowchart is a mermaid fence written into the Markdown source here; Rapier renders it and keeps it as text. |
| document.propose | Stages a complete document alternative against an inspected base and creates an offline page for reviewing it. Workspace source changes only after approval. |
| document.propose_edits | Stages changes to inspected passages for the person to approve or decline before application. Use the same contribution name on text and drawing changes to review them together; read a corrected target again to refresh its part. |
| document.undo_agent_change | Reverses a selected agent change, a whole named contribution, or the latest change under the supplied agent name, while preserving later human work. |
| document.show_changes | Replaces the open comparison with the diff of an applied agent revision or a whole named contribution, without changing document text or review decisions. |
| document.compare | Opens a full-document comparison, accepts or rejects inspected differences, or closes the comparison when reviewing an alternative. Accepted differences change source. |
| document.open_text | Replaces the working document with supplied text when starting a different document here. Existing handles and comparisons are retired. |
| document.reveal | Requests presentation of an inspected passage or difference in the connected editor when the person needs to see it. |
| document.point | Points at an inspected passage, drawing object or change with a few words, without editing the document. Supply exactly one of context_handle or change_id. The pointer lasts 1 to 30 seconds and clears at your next change or the person's tap; the receipt says shown, deferred or expired. |
| document.create_return | Creates a return receipt and address for an edited offline page. With a connected host the person confirms the upload in their connected browser; without one the address is its own one-use grant. It accepts one submission within 24 hours and before workspace expiry. |
| document.wait_for_user | Waits for the person's next selection, message or returned page when their response is needed, up to timeout_ms. |
| document.save | Saves to the person's chosen local destination, or confirms durable hosted storage, when keeping work. The receipt reports verification. |
| document.export | Creates a file link, up to 8 MiB: markdown is the exact source; html is the offline editor with its source inside; txt is the document's words as plain text; page is a standalone rendered web page; docx is Word; pdf carries raster pages, searchable text and the attached source. An open editor builds Word and PDF without a tap. The receipt states what each format keeps. With a connected host the link needs its connection; without one the link is its own grant. The stored file lasts up to 24 hours within the workspace lifetime. |
| document.draw | Creates or edits a native SVG drawing in the active document: movable, editable figures, a spatial sketch or a brush painting. Separate from Mermaid: a Mermaid flowchart is a fence in the Markdown source, inserted with document.apply_edits and rendered in the document. Read the drawing for recipe_handle. Change a drawing dial with shapes.set; a background kind or effect preset alone takes its starting values. Change an object with an operation. A complete recipe replaces the inspected recipe, including strokes and fonts, and uses the same open-canvas hand-off as a patch. An imported SVG without a Rapier recipe is edited node by node: read it for its node tree, then send svg_handle with node_edits. With contribution, the picture is staged with your words under that name for the person to keep or drop together; a patch to the drawing the person has open takes no contribution (it is refused draw_session_open), so it goes without one and lands at once. |
| notes.list | Lists or searches Notes with Skills first. query uses the library search: words, quoted phrases, tag:, in:, is:, has:, colour:, before: and after:. Trash appears only when requested by the query. A changed catalogue refuses a continuation with notes_changed. An absent store returns notes_not_configured; a locked encrypted store returns notes_locked. |
| notes.read | Reads one note's exact text by file, including a note in Trash. version selects a retained event from notes.history; omit it for the current text. A changed note refuses a continuation with notes_changed. Reading a past version does not authorize replacing the current note. |
| notes.set | Changes only the supplied note controls. Returns changed values and their exact previous values. Archive and Trash are reversible through the same tool; no permanent deletion. Tags stay in the Markdown front matter; a tag change is refused with notes_open while the person has the note open. Reminders are app-only and named in the receipt. Skills stays the person's choice. |
| notes.history | Lists the note's retained versions, newest first, without changing the note. Read a version with notes.read. A changed history refuses the continuation with notes_changed. |
| notes.sync | Runs the Notes sync the person has already configured and returns its outcome. A locked vault, missing connection or required sign-in is reported without opening setup or asking for credentials. |
| notes.propose | Creates a note or replaces a fully inspected, unchanged note, retaining its previous text in History. Unread, changed or open notes receive proposals for review. |
| rapier.guide | Returns Rapier's usage guide and workflows when host instructions are unavailable. |
| rapier.open | Creates an editable workspace from text or a host file, or resumes one by its document value. Returns editor_url, the live workspace in a browser. It makes two kinds of diagram: native SVG drawings (document.draw) and Mermaid flowcharts as fences in the source (document.apply_edits). Workspaces expire after 30 idle days. |
| document.pair_browser | Names the four-letter code the person gives you from editor_url. The person then chooses ALLOW on that page to connect this browser to this workspace for a day. One use; a code lasts one minute. Five misses lock pairing for the code window. |