PLMHub boards

eu.plmhubPublished by plmhub.euOfficial publisherv1.0.0Updated Oct 25, 2026

Draw diagrams, build HTML pages and write Markdown in a live editor the user sees.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowMedia & Design

Overview

AI-generated overview

A remote MCP server that lets an assistant create live boards — HTML pages, Markdown documents and doodles — that the user can watch and download in an editor.

What you can do
Open a new empty board and hand the user a link to watch and download it, or read a board's kind and current content, including doodle elements with ids, roles, boxes and styles. Replace an entire HTML or Markdown board, or make targeted edits with ordered, all-or-nothing operations such as write, append and single-match replace. Draw on a doodle board with ordered operations that appear live in the editor and return the ids of created elements.
When to use it
Useful when an assistant should produce something visual the user can follow along with and keep: a diagram, a rendered HTML page or a Markdown document built up step by step in a shared live editor rather than pasted into chat.
Requirements
A remote streamable HTTP endpoint at plmhub.eu; no packages, environment variables or headers are declared. The manifest declares no authentication, so no account or API key setup is listed.
Before you install
Writing and editing replace or change board content, and doodle operations apply all or nothing, so a failed batch changes nothing while a successful one alters the board. Boards are reachable through a link the assistant gives out, so anyone with that link may see the content; avoid putting secrets or private data on a board.

Installation

In SourceWeft

  1. Open PLMHub boards in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/eu.plmhub%2Fboards/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "plmhub-boards": {
      "type": "http",
      "url": "https://plmhub.eu/mcp"
    }
  }
}

Tools

5

open_board

Open a new board

Open a new, empty board and get its link. Give the link to the user: they watch your work there and download it.

Parameterskindrequired

read_board

Read a board

Read a board: its kind and current content (the Markdown or HTML text, or the doodle's elements with their ids, roles, boxes and styles).

Parametersboardrequired

write_board

Replace a board's content

Replace everything on an HTML or Markdown board. HTML: one complete document with inline CSS and JS. Markdown: GitHub-flavored. For a doodle, use `draw` instead.

Parametersboardrequiredcontentrequired

edit_text

Edit an HTML or Markdown board

Change part of an HTML or Markdown board without resending all of it. Ops (applied in order, all or nothing): - {"op": "write", "text": "..."} (replace everything) - {"op": "append", "text": "..."} - {"op": "replace", "find": "...", "replace": "..."} (find must occur exactly once)

Parametersopsrequiredboardrequired

draw

Draw on a doodle board

Draw on a doodle board. The user sees each call appear live in the editor. ## Doodle ops A doodle is a board (default 1280 x 720 px, origin top-left, y grows down). Send ops as `{"ops": [...]}`; they apply in order, all or nothing. The answer lists the ids each op created, in order. Address elements by id; read the board for the ids it already has. **Positions:** x, y is the CENTER of a shape or text, the top-left of a comment, the midpoint of a line. Omit them to place at the board's center. Later elements draw on top. ### Create - `{"op": "add", "role": "text" | "box" | "button" | "input" | "card" | "ellipse" | "line" | "image" | "comment" | "draw" | "triangle" | "diamond" | "star" | "frame", "x", "y", "w"?, "h"?, "id"?, ...style}` Defaults (w x h): text 160 wide, box 180x110, card 240x150 (radius 12), button 150x46, input 220x44, ellipse 140x90, line 180 long, triangle 120x110, diamond/star 120x120, image 320x200 (needs "src": URL or data: URL), frame 360x240, draw needs "path". Pass your own "id" to address the element without reading back (it must be unused). Buttons and inputs are plain shapes: give them text with `label`. - `{"op": "draw", "path": "M 10 10 L 90 90", "stroke"?, "strokeWidth"?}` freehand; path coordinates are board coordinates. - `{"op": "comment", "text", "x"?, "y"?, "w"?}` a sticky note for the human. - `{"op": "label", "id": shapeId, "text", "fontSize"? = 16, "fill"?, "labelId"?}` text centered inside a shape that follows it when the shape moves. Empty text removes it. - `{"op": "duplicate", "id", "newId"?, "dx"? = 20, "dy"? = 20}` ### Change - `{"op": "update", "id", ...style}` (fields below; "x"/"y"/"w"/"h" set position and size) - `{"op": "move", "id", "dx", "dy"}` or `{"op": "move", "id", "x", "y"}`; moving a frame moves its children too. - `{"op": "reorder", "id", "to": "front" | "back" | "forward" | "backward"}` - `{"op": "delete", "id"}` · `{"op": "clear"}` removes everything. ### Style fields (add and update) fil

Parametersopsrequiredboardrequired

Version history

1
  1. v1.0.0LatestOct 23, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.