Skip to main content
Glama
uSimmics MCP Bridge

uSimmics MCP Bridge

by timecino-hub

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
USIMMICS_HOMENoUsed by `configure` to discover common uSimmics installation locations.
USIMMICS_BRIDGE_CONFIGNoOverride the default config path (default is %LOCALAPPDATA%/usimmics-bridge/config.json on Windows, and $XDG_CONFIG_HOME/usimmics-bridge/config.json or ~/.config/... elsewhere). Optionally set in the server environment.

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
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
environment_statusA

Check local installation, simulator, BAT54 library, configured project roots and capabilities.

list_projectsA

List existing uSimmics projects in the configured local roots, without creating projects.

inspect_schematicB

Inspect a .sch file, component parameters and SHA256 before a background edit or run.

update_parametersA

Atomically edit component parameters with backup and conflict detection.

Each edit: {"component": "V1RF", "parameter": "frequency", "value": "12 MHz"}. Use parameter names/indices returned by inspect_schematic. Frequency changes also update matching harmonic-balance frequency keys. All edits validate before writing. Reload the file in uSimmics to see these disk changes.

run_schematicB

Compile a supported 5.9 schematic and run simulator.exe headlessly in an isolated run folder.

Supports the documented R/C/L, Vac/Vdc, BAT54/Diode, Filter, GND and HB subset. Unknown components or ambiguous wiring fail explicitly. Returns unique output paths and solver status; does not overwrite the GUI's datasets or open a window.

read_resultsB

Read verified QucsData v2 real/complex simulation results, with a bounded number of points.

create_projectB

Create a new _prj directory in a configured project root. Fails if it already exists.

read_schematicA

Read complete saved .sch source plus SHA256, including malformed files for diagnosis.

save_schematicA

Save a complete supported 5.9 schematic atomically, including components, wires and plots.

Supply full source from read_schematic with requested edits. Existing files require their current SHA256 and are backed up; omit the hash for new files. Syntax and connectivity validate before any write. Saves UTF-8/LF, never an unsaved GUI buffer.

clone_schematicB

Save a copy of a schematic as an independent variant. Existing destination needs its hash.

validate_schematicA

Check saved-file sections, plot closure, supported component connections and HB settings.

Returns valid/errors/warnings and a compiled netlist. This is supported-format validation, not a claim that every native GUI feature can be rendered or checked.

publish_resultsA

Save this bridge's verified run dataset to the schematic's normal .dat path for GUI plots.

Requires matching run provenance and current schematic hash. Backs up existing .dat. Refuses stale results and custom DataSet paths. Reload in the GUI to view changes there.

preview_schematicA

Return a PNG image of the saved circuit layout and optionally its discrete HB spectrum.

Renders original component positions, labels, wires and supported symbols using the bridge renderer. The PNG is returned as native MCP image content and saved locally. It is NOT a screenshot of the native GUI and omits Paintings annotations with a warning. Colliding labels are nudged clear and named in adjusted_labels. The optional spectrum draws one panel per node voltage (peak-voltage dBm/50 Ohm, labelled display floor) and labels the strongest lines with mixing product, frequency and level; spectrum_markers returns dBm rounded to two decimals. Data whose provenance does not match the schematic is flagged in the image.

build_schematicA

Build and save a circuit from component/pin descriptions without writing .sch syntax.

Components: {type,name,position:[x,y],orientation:0..3,params:{parameter:value}}. Diode additionally requires model='BAT54' (loaded locally) or explicit properties. Connections: {from:{component,pin},to:{component,pin},via:[[x,y]],label:optional}. Pins are zero-based; default R/filter/diode pin0 left, Vac pin0 top, GND pin0 center. All routes must be orthogonal. Different-net crossings/touches are rejected. Harmonics: {order:3,count:4}. Source frequencies are inserted automatically.

parameter_sweepB

Simulate 1..20 independent parameter variants, preserve source, return JSON/CSV comparison.

Each run is limited to 1..30 seconds. Comparison frequency must exist as an actual sample. Results include per-point status and a durable partial summary. fail_fast stops after a failed point; resume_from retries unfinished points after checking source and data hashes. Cancellation terminates the current solver and preserves the checkpoint.

compare_resultsA

Compare a complex voltage at one actual frequency across 1..20 datasets (no interpolation).

Includes magnitude and impedance-qualified dBm; AC samples are peak voltages, DC uses RMS.

start_jobA

Start a background run or sweep; poll job_status and use cancel_job to stop it.

Requires a persistent MCP session. Job IDs are session-local (latest 64 retained), with at most four active jobs and one native solver at a time. Completed artifacts and sweep summaries survive server restarts. Closing the server cancels active jobs.

job_statusB

Read a session-local job's status, latest progress, result or error.

cancel_jobA

Request cancellation, then poll until cancelled; finished jobs are unchanged.

The worker terminates the native process tree, saves partial sweep results and releases its solver slot before reporting cancelled. Repeated cancellation is safe.

list_schematic_templatesA

Describe templates available in the installed package, without configuration or disk writes.

get_schematic_templateC

Return a fresh builder specification and requirements for an installed template.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 21 tools

Disambiguation4/5

Most tools target clearly distinct operations: project setup, schematic CRUD, validation, simulation jobs, and result handling. A few boundaries require careful reading, especially run_schematic vs. start_job vs. parameter_sweep, and inspect_schematic vs. validate_schematic vs. read_schematic, but descriptions clarify them.

Naming Consistency4/5

The set uses a mostly consistent snake_case convention, usually verb_noun (list_projects, read_schematic, save_schematic, cancel_job). Minor deviations are noun-first names like environment_status, job_status, and parameter_sweep, but the pattern remains readable.

Tool Count3/5

At 21 tools, the surface is on the heavy side for a single MCP server, though the domain includes schematic editing, validation, rendering, simulation, job control, and templates. The count is defensible but borderline; some grouping could reduce cognitive load.

Completeness4/5

Coverage is strong: projects, templates, schematic build/read/save/clone/inspect/validate/preview/update, background jobs, sweeps, result comparison/publishing/reading, and environment checks are present. Minor gaps include no explicit delete/cleanup operation for projects or schematics and no dedicated artifact-listing tool.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues