mcpbeat Sign in

uniwire MCP Server

by uniwire-dev Your server? Claim it
answering

uniwire is answering right now. Last checked 12 min ago. It exposes 14 tools. Last commit 8 Nov 2026.

Electrical single-line and multi-line diagrams: build, check (NF C 15-100, IEC 60364), draw, PDF.

Uptime history 27 days of history
27 days agonow
100.0%
Uptime 24h
91 of 91 checks
14
Tools
read from the server
214 ms
Response time
average over 24h
9
Stars
last commit 8 Nov 2026

What changed 33

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 28 October 2026. No other catalogue keeps this.

9 Nov a tool changed version
5 Nov a tool changed version
2 Nov a tool changed version
1 Nov a tool changed version
31 Oct a tool changed version
30 Oct a tool changed version
28 Oct 13 tools changed the parameters they ask for apply_patch, bom, check and 10 more
28 Oct 12 tool descriptions were rewritten bom, check, describe and 9 more
28 Oct a tool changed version2 times that day
and 1 more, back to 28 October 2026

What the code does

We read the source, 1 d ago · tools taken from the live server · rules 995398eba69f

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Runs an external command viewer/build.py:53
    subprocess.run(cmd, check=True)

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 12 min ago.

run in your terminal
claude mcp add uniwire --transport http https://mcp.uniwire.sh/mcp
Settings → Connectors → Add custom connector, then paste this address
https://mcp.uniwire.sh/mcp
~/.codex/config.toml
[mcp_servers.uniwire]
url = "https://mcp.uniwire.sh/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "uniwire": {
      "url": "https://mcp.uniwire.sh/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "uniwire": {
      "type": "http",
      "url": "https://mcp.uniwire.sh/mcp"
    }
  }
}

Available tools 14

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

apply
apply_patch
Edit an electrical diagram by node id (change a rating, add a circuit, move a load...) and return the new document. ops (applied in order): {"op":"set","id":ID,"path":"in_A","value":20} (null value removes; no id = document root, e.g. path "installation.earthing"); {"op":"add","parent":ID,"node":{...},"index":0} (or "at":"sources"); {"op":"remove","id":ID}; {"op":"move","id":ID,"parent":ID,"index":0}; {"op":"rename","id":ID,"new_id":NEW}; {"op":"link","link":{"kind":"control","from":ID,"to":ID}}; {"op":"unlink","id":LINK_ID} or {"op":"unlink","from":ID,"to":ID,"kind":K}. On failure returns ok=false and errors naming the failing op index (null = validation of the result).
bom
bom
Compute the bill of materials (nomenclature) of an electrical installation from its document: one row per manufacturer / part number for the nodes with a product reference, then one row per kind of equipment without a reference (type and main characteristics in 'spec', e.g. 'C16 1P+N') and per kind of cable (total length in 'length_m'), with quantities and the reference designations involved. Use it to prepare a quote or an order; wiring gives the wire list and cable schedule.
check
check
Check an electrical installation (single-line diagram, panel, schéma unifilaire, tableau électrique): validates the document, then applies the rule profiles (NF C 15-100 'nfc15100', French grid connection 'enedis', IEC 60364 'iec60364', PLC; default: the document's 'profiles'; 'core' always applies): breaker ratings against cable sections, RCDs, circuits per protection, selectivity... Returns findings (level error/warning/info, rule, node id, message, source), a summary, 'scope' (what the checks cover and do not cover: automatic checks of the document data, not a conformity certificate), viewer_url (the document in the uniwire web editor: drawing, findings, downloads) and pdf_url (the PDF drawn by uniwire).
describe
describe
Return a text outline of an electrical diagram: installation, full tree of the panel with stable ids, ratings and cables, links, interlocks, boards and findings summary. Use it to read a document and find the node ids before apply_patch.
example
get_example
Return an example installation document by name. Use it as a starting point for a similar installation, then edit it with apply_patch; list_examples gives the names.
examples
list_examples
List the 53 example installations (dwellings, shops, offices, workshops, PV, EV charging, UPS, MV/LV substations, PLCs): name, title, language, profiles, earthing, system.
normalize
normalize
Return the resolved form of a document: templates ('use') applied, every node and link id assigned, numbers in canonical form. Use it to read a document exactly as the rules and drawings see it, or to get stable ids before apply_patch; it does not apply the electrical rules (see check).
reference
get_reference_card
Return the reference card of the uniwire format for electrical diagrams: document skeleton, node types (breakers, RCDs, cables, loads, transformers, PV...) and their fields, enums, links, pitfalls, examples. Read it once before writing a document; type_info gives the fields of one type in detail.
render
render
Draw the electrical diagram (schéma unifilaire / multifilaire). kind: 'single-line' or 'multi-line'; view: a view id of the document (e.g. a wire-marking view). format 'svg' returns the SVG text of every sheet (or of 'sheet', numbered from 1); 'pdf' writes to 'path' if given, else returns base64 (requires the uniwire[pdf] extra); on the hosted server it returns pdf_url (the PDF drawn by uniwire) instead. color: 'none' | 'conductors' | 'phase' | 'source' | 'status' | 'voltage' (adds a legend); conductor_colors: 'iec' (IEC 60445) | 'us'.
type
type_info
Return every field of one node type with its description, unit and allowed values (enums). Use it before writing or editing a node of that type; list_types gives the type names.
types
list_types
List the node types of the format (type, category, label), optionally for one category. Use it to find the type name of a device or load before writing a node; type_info then gives its fields.
validate
validate
Validate a uniwire document (electrical diagram as JSON) against the format only: structure, types, ids, references and links, without the electrical rules (use check for those). Returns valid + issues, each naming the node id and field when possible, plus viewer_url (the document in the uniwire web editor) and pdf_url (the PDF drawn by uniwire).
viewer
viewer_link
Links to a document: viewer_url opens it in the uniwire web editor (drawing, single-line and multi-line, rule findings, PDF and SVG downloads, nothing to install); pdf_url is the PDF drawn by uniwire. On the hosted server the document is kept 30 days so that the short links open it (anyone with a link can open it); elsewhere it travels in the link (after '#') and is stored nowhere.
wiring
wiring
Wiring exports of an installation as rows with stable column names (repérage des fils, carnet de câbles): what='markers' (one row per wire end, for label printers), 'wires' (wire list) or 'cables' (cable schedule). Marks follow the wire_marking rules of the view (id), by default the first view that declares them.

Endpoints

URLTransportStateLatencyChecked
https://mcp.uniwire.sh/mcp streamable-http answering 200 ms 12 min ago

Alternatives to uniwire

same job, measured the same way
jh-presentation
by pei-jz

AI-built HTML presentations: single-file decks with live diagrams, charts, editing and PDF export.

85 installs/wk local only
Zovo State Diagram
by theluckystrike

Turn a few lines of text into a UML state machine diagram document, and check the machine.

2 tools answering
Homotope
by homotope

Vectorize images to SVG, PDF, EPS or DXF, and check a DXF before cutting.

answering
Zovo Use Case Diagram
by theluckystrike

Turn a few lines of text into a UML use case diagram document, and check it.

2 tools answering
SlideCraft
by eiler2005

Builds editable PowerPoint, PDF and HTML decks from a deck spec, with fit, source and visual checks.

99 installs/wk local only
PDF URL Check
by sadri-dridi

HEAD a public URL and say whether it looks like a PDF. Body discarded.

31 tools answering
Zovo Activity Diagram
by theluckystrike

Turn a few lines of text into a UML activity diagram document, and check the flow.

2 tools answering
CanUSign
by devin-lemcke

Create PDF contracts, send signing links and check signature status with CanUSign e-signatures.

45 installs/wk local only

uniwire — questions

Answers built from our own checks of this server.

What can uniwire do?
It exposes 14 tools, read directly from the server on our last check. Among them: apply_patch, bom, check, describe, get_example, get_reference_card and 8 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is uniwire working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 214 ms. The bar chart above shows every period we have measured.
How do I connect uniwire?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does uniwire need an API key?
No. uniwire completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 14 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is uniwire?
It answers our handshake in 214 ms on average, which is faster than 63% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is uniwire open source?
The code is open source: it is published under the Apache-2.0 licence, written in Python and 9 stars on GitHub. The licence covers the code in the repository, not the hosted service at mcp.uniwire.sh, which runs on its operator's own terms.