Unpaged

What is Unpaged?

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноМожет изменять данные

Что умеет

  • Document Create: Start a new whiteboard — for a plan the team should review, an architecture to show in a design review, research to map, decisions to keep. Returns the document with `rootNodeId` (the
  • Document Get: Read a whole whiteboard — every canvas (node) and every element on it — to understand or extend it before editing, or to answer questions about what is on it.
  • Document List: Find the user's whiteboards by title — the first call when they mention 'the roadmap board', 'the architecture board' or 'that plan we made': lists documents you own or that were shared

Какие данные видит

Нужен ли аккаунт

Не нужен: сервер работает без входа

What is Unpaged?

Unpaged is a whiteboard where any shape can open into another canvas, so a document goes from overview to detail without clutter. This hosted MCP server lets your AI agent create and edit those documents as you, over per-user OAuth. What it draws appears live for anyone viewing the canvas.

See a document Claude made through this server, no signup: demo

What your agent can do

  • Documents: create, list, read, update, delete; make public or invite people by email; file into folders
  • Canvases: create nested canvases (empty or with content), read, update, delete
  • Elements: rectangles, ellipses, triangles, diamonds, hexagons, lines, connectors, curves, block arrows, freehand pen strokes, tables, checklists, UML shapes, and Markdown text with code blocks and Mermaid diagrams, one at a time or in batches
  • Templates: browse and clone
  • Comments: read open threads, comment, reply, resolve, reopen
  • @agent comments: a listener key lets your agent pick up comments addressed to it on a canvas

Connect

Server URL: https://mcp.unpaged.io/mcp (Streamable HTTP, OAuth 2.1). Setup guides for Claude, Claude Code, Codex, ChatGPT, Cursor and VS Code: https://unpaged.io/mcp. Any client that supports OAuth with dynamic client registration works.

Pricing

Free: 5 document creations per account, up to 50 canvases per document you own, 5 collaborators per document. Premium ($10/month or $100/year) removes the document and canvas limits and allows 50 collaborators.

Как подключить

Как подключить Unpaged к Claude

Адрес сервера, который нужно вставить в настройках Claude:

https://unpaged--unpaged.run.tools

  1. Откройте Claude (сайт claude.ai или приложение для компьютера).
  2. Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
  3. Нажмите Добавить пользовательский коннектор (Add custom connector).
  4. Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
  5. В чате нажмите + → Коннекторы и включите новый коннектор.

Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.

Авторизация

После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.

Как подключить Unpaged к ChatGPT

Адрес сервера, который нужно вставить в настройках ChatGPT:

https://unpaged--unpaged.run.tools

  1. Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
  2. Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
  3. Откройте Настройки → Коннекторы и нажмите Создать (Create).
  4. Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
  5. В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
  6. В новом чате откройте + → Приложения/Коннекторы и включите коннектор.

Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.

Авторизация

При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.

Как подключить Unpaged к Cursor

Адрес сервера, который нужно вставить в настройках Cursor:

https://unpaged--unpaged.run.tools

Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.

Вручную:

  1. В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
  2. Вставьте JSON, скопированный ниже, в открывшийся файл ~/.cursor/mcp.json (для одного проекта: .cursor/mcp.json в корне проекта).
  3. Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.

Авторизация

Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.

Список инструментов сервера (46)

Технические названия из tools/list. Нужны только разработчикам.

document_createStart a new whiteboard — for a plan the team should review, an architecture to show in a design review, research to map, decisions to keep. Returns the document with `rootNodeId` (the first canvas to draw on, e.g. with batch_create_elements) and the id for the link to hand back (the /document/<id>/edit page on this server's web app). Optionally file it in a library folder: `folder` (a name, created if missing) or `folderId` (an existing id, or the reserved `visual-plans` created on demand — race-free, the way to file plan boards). Filing is best-effort: if the folder cannot be resolved the document is still created unfiled and the result carries `folderWarning`.
document_getRead a whole whiteboard — every canvas (node) and every element on it — to understand or extend it before editing, or to answer questions about what is on it.
document_listFind the user's whiteboards by title — the first call when they mention 'the roadmap board', 'the architecture board' or 'that plan we made': lists documents you own or that were shared with you, with ids, titles and folders. Owned documents carry `folderId` and the folder's display name as `folder` (null when unfiled).
document_updateRename a whiteboard, make it PUBLIC (isPublic: true — anyone with its /share/<id> link on this server's web app can view it without an account: the answer to 'give me a link I can send'; find the board with document_list first), or move it to a folder: `folder` (a name, created if missing) or `folderId` (existing or reserved); pass null in either to unfile.
document_deleteDelete a document permanently
document_shareInvite people to a whiteboard you OWN, by email — 'let Maria edit it', 'share it with the team': everyone in `emails` gets view access; anyone also listed in `editorEmails` gets edit (live-coediting) access. You can only share documents you own. For a link that needs no account, use document_update with isPublic instead.
folder_listList your document-library folders with the number of documents in each. Folders are yours alone; membership is the document's folderId (see document_list). The reserved folder id 'visual-plans' is created on demand by document_create({ folderId: 'visual-plans' }).
folder_createCreate a folder by name, or return the existing one when you already have a folder with that name (names are unique per user, case-insensitive). Prefer document_create's `folder` / `folderId` when the goal is to file a document.
folder_renameRename one of your folders. The reserved 'visual-plans' folder can be renamed too — its id, not its name, is what the plan plugin files into.
folder_deleteDelete a folder. Its documents are NOT deleted — they move to Unfiled first, then the folder record is removed. A reserved folder is recreated the next time something files into it.
node_createAdd an empty canvas (a node) inside a whiteboard — one canvas per phase, subsystem or topic. Prefer node_create_with_elements to draw it in one call.
node_create_with_idCreate a node with a specific ID (useful for pre-linking)
node_create_with_elementsAdd a canvas inside a whiteboard with its whole diagram drawn in one atomic call — one canvas per phase, subsystem or topic. Whiteboards nest: put a box on the parent canvas with isLink and linkTarget = this node's id so people click through. More efficient than creating a node then adding elements separately. All elements are validated before anything is created (all or nothing). Supported types: rectangle, text, connector, triangle, diamond, hexagon, ellipse, line, bezier-curve, block-arrow, freehand, table, checklist, uml-class, uml-interface, uml-component, uml-package, uml-artifact, uml-note.
node_getGet a node with its elements
node_listList the canvases (nodes) of a whiteboard — ids and titles — to find where something lives.
node_updateRename a canvas or change its description, size or background colour.
node_deleteDelete a node permanently
element_createDraw one shape on a canvas — a box, connector, table, checklist, note or text. Supported types: rectangle, text, connector, triangle, diamond, hexagon, ellipse, line, bezier-curve, block-arrow, freehand, table, checklist, uml-class, uml-interface, uml-component, uml-package, uml-artifact, uml-note.. Pass the full element object matching the type's schema (e.g., {type: "rectangle", x: 100, y: 100, width: 200, height: 100, fillColor: "#FF5733"}).
element_getGet an element by ID
element_listList every shape on a canvas, each with its revision token for safe edits.
element_updateMove, resize, restyle or rewrite one shape — its text, colours, geometry, table cells or checklist items.
element_deleteDelete an element permanently
table_update_cellReplace exactly ONE table cell, addressed by 0-indexed row and column (row 0 is the header by convention). Works on the table's CURRENT state inside a transaction, so it cannot clobber concurrent edits and needs no revision token — prefer it over element_update when editing a cell of a board a human may also be editing. Cell content is CommonMark Markdown.
table_append_rowAppend one row to a table. Values are padded/truncated to the table's CURRENT column count, and the element height grows proportionally — no follow-up geometry write needed. Runs on current state in a transaction: safe under concurrent edits, no revision token. Rejected at the 20-row cap and on locked tables.
checklist_toggle_itemSet one checklist item's checked state by its stable item id (ids ship in every element read). Omit `checked` to toggle. Touches nothing but that item's checked flag — safe under concurrent edits, no revision token.
batch_create_elementsDraw many shapes on a canvas at once — boxes, connectors, tables, checklists, notes, text — the fast, atomic way to lay out a diagram or a plan. All elements are validated before any are created. Supported types: rectangle, text, connector, triangle, diamond, hexagon, ellipse, line, bezier-curve, block-arrow, freehand, table, checklist, uml-class, uml-interface, uml-component, uml-package, uml-artifact, uml-note.
batch_update_elementsMove, restyle or rewrite many shapes at once, atomically — for restructuring a canvas after feedback.
batch_delete_elementsDelete multiple elements atomically
template_listBrowse starting points: list the templates that can be cloned into a new whiteboard. Admins see all templates (including unpublished); regular users see only published templates.
template_getGet a template with all its nodes and elements
template_cloneStart a whiteboard from a template — clone it into a new document owned by the current user (counts toward the user's document-creation allowance)
template_createCreate a new template document with a root node (requires admin)
template_updateUpdate a template's title (requires admin)
template_deleteDelete a template permanently (requires admin)
template_publishPublish a template, making it visible to all users (requires admin)
template_unpublishUnpublish a template, hiding it from regular users (requires admin)
welcome_template_setDesignate a template as the auto-seeded welcome doc for new accounts. Admin-only. Validates that the target is a real template with rootNodeId, schemaVersion, and at most 50 nodes. Does not require the template to be published.
welcome_template_clearClear the designated welcome template. New signups will not be auto-seeded until a new welcome template is set. Admin-only.
comments_list_unresolvedDid anyone leave feedback? List every open comment thread on a whiteboard (by its id — document_list first when the user names the board), with the element each one concerns, so you can act without re-reading the board. Threads where someone wrote @agent are addressed to you (mentionsAgent: true) — the usual sweep is: read these, act on the board, comment_reply with what you changed, and leave the thread open (resolving is the human's call). A thread whose last message has actor: 'agent' has already been swept — skip it unless a human replied after, or the thread carries reopened: true (a human reopened it after that reply) or editedAfterLastReply: true (a human revised a message after that reply): either flag means the feedback is NOT addressed. Agent messages carry the delegating human's authorName, so actor is the only reliable authorship signal.
comment_createLeave feedback on a whiteboard — a question, a review remark, a note for collaborators — as a comment thread. Pin it to an element by elementId (the pin follows the element), or to a point by giving BOTH x and y, or leave it unanchored.
comment_replyAnswer someone's comment on a whiteboard — 'tell Maria the box is moved' — or report what you changed on the board. Needs the board's id and the thread's id: document_list, then comments_list_unresolved, then this. Replying is the end of a sweep: leave the thread open for the human to resolve.
comment_resolveMark a comment thread resolved. Resolving is normally the human's call (resolved threads disappear from the canvas) — call this only when the user explicitly asked you to resolve the thread; after acting on feedback, reply and leave the thread open instead.
comment_reopenReopen a resolved comment thread when the feedback was not actually addressed.
agent_listener_key_createReceive @agent notifications for ONE board. Mint a receive-only listener key bound to its documentId after proving you can open the board. Installed plugins use pollUrl with Authorization: Bearer <key> and short HTTP polls every 30 seconds, or every 60 seconds after an idle hour; return to 30 seconds after a new event. Responses contain {events:[...],nextCursor} and must be deduplicated by id. Continue the bounded scan with the returned cursor query parameter; null restarts it. The key is shown ONCE: store it locally, never in a URL. HTTP 401 means invalid or revoked, 409 means a newer key took over this board (STOP), and 429/503/network failures retry the same key. One key hears one board; different boards work independently. Revoke with agent_listener_key_revoke.
agent_listener_keys_listList your live listener keys (id, label, board, created, last seen) — never the key material. A key with documentId null predates per-board keys: the polling endpoint refuses it, revoke it.
agent_listener_key_revokeRevoke one of your listener keys. Polls authenticated after revocation are refused with HTTP 401, so the listener stops on its next poll without reminting automatically.