Skip to main content
Glama
uniwire-dev

uniwire

Official

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_reference_cardA

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.

list_typesA

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.

type_infoA

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.

validateA

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).

checkA

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).

describeA

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.

apply_patchA

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).

renderA

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'.

viewer_linkA

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.

wiringA

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.

bomA

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.

list_examplesA

List the 52 example installations (dwellings, shops, offices, workshops, PV, EV charging, UPS, MV/LV substations, PLCs): name, title, language, profiles, earthing, system.

get_exampleA

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.

normalizeA

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).

Prompts

Interactive templates invoked by user choice

NameDescription
design_single_lineGuide the design of a single-line diagram: gather earthing, supply and loads, write the document, validate, check, fix, render

Resources

Contextual data attached and managed by the client

NameDescription
schemaJSON Schema (draft 2020-12) of the uniwire format
cardCompact reference card of the uniwire format
card-fullFull reference card of the uniwire format

TDQS

A3.9/5.0

Scored across 14 tools

Disambiguation4/5

Most tools have clearly distinct roles (validate vs check is explicitly contrasted, list_types vs type_info vs get_reference_card form a clean hierarchy). Minor overlap exists: normalize and describe both advertise 'get stable ids before apply_patch', and render/viewer_link both surface viewer_url/pdf_url. Descriptions resolve these, so an agent can still pick correctly.

Naming Consistency3/5

A mix of conventions is present: verb_noun (get_reference_card, apply_patch, list_examples, get_example), bare verbs (validate, check, describe, render, normalize), and bare nouns/acronyms (type_info, wiring, bom, viewer_link). All names are snake_case and fairly readable, but there is no single predictable pattern.

Tool Count4/5

14 tools is within a sensible range for a rich domain spanning format reference, editing, validation, rendering, and exports. A couple of pairs (render/viewer_link, bom/wiring) could conceivably be tightened, but each tool covers a real, non-trivial capability.

Completeness4/5

The surface covers the full authoring lifecycle well: learn the format (reference card, types, examples), obtain a document (get_example), edit it (apply_patch, normalize), validate (validate/check), and export (render, wiring, bom). No explicit blank-document creation or delete/cleanup operation is provided, a minor gap that examples plus apply_patch largely work around.

Maintenance

ActivityMaintained
ResponsivenessNo issues