Skip to content
Official MCP RegistryListed

BlockWerk

Build, run and analyse block-diagram simulations: PID, Bode, FFT, optimisation and code export.

First seen 5 Oct 2026. Evidence as of 5 Oct 2026.

42
Tools
From an anonymous probe
1
Source listings
Each with its own history
1
Recorded changes
Since first seen

Tools

ToolDescriptionBehaviour
add_blockAdd a new block to the canvas. Returns the new block ID.Changes data
analyze_topologyAnalyzes the block diagram structure: detects feedback loops, signal paths, and system order.Read-only
auto_tune_pidAutomatically tunes a PID controller using the Ziegler-Nichols ultimate cycle method. Finds the ultimate gain (Ku) and oscillation period (Tu) via binary search, then applies ZN formulas. No prior knowledge of the plant required.Changes data
batch_commandsExecutes multiple canvas manipulation and background job commands in a single round-trip. Use "handle" strings to refer to blocks added earlier in the same batch. When adding TextNote annotations, set "anchors" to the handles/IDs of the described blocks so auto-layout keeps each note next to them.Destructive
calculate_metricsCalculates step response metrics from signal data: rise time, settling time, overshoot percentage, and steady-state error.Read-only
cancel_jobCancel a running background job.Changes data
clear_canvasRemove all blocks and connections from the canvas. This is a destructive action that asks the user for approval in the BlockWerk tab.Destructive
connect_blocksConnect an output port of one block to an input port of another. Automatically resolves common port aliases (e.g., "in" -> "signal" for uPlotDisplay, "in" -> "error" for PIDController, "+" / "-" for Subtraction).Changes data
delete_blockDelete a block and all its connections from the canvas. This is a destructive action that asks the user for approval in the BlockWerk tab.Destructive
describe_canvasReturns a structured description of all blocks and connections currently on the canvas. Set "compact" to true for a token-efficient summary.Read-only
evaluate_spec_maskEvaluates signal data against automated design specifications and tolerance corridors (rise time, settling time, overshoot %, steady-state error, min/max limits).Read-only
explain_simulationAnalyze the last completed simulation and return a structured diagnosis: signal anomalies (NaN, divergence, oscillation), solver health (rejection rate, efficiency), algebraic loops, and optional stability margins. Returns JSON with severity-tagged findings and actionable suggestions.Read-only
export_diagramExports the current canvas project as a complete BlockWerk JSON string.Read-only
generate_codeGenerates standalone production code (C++, Python, Rust) from the current canvas diagram. Returns structured code files, interfaces (inputs/outputs), execution order, and diagnostics.Read-only
get_ai_historyReturns the list of recent canvas operations performed by the AI, showing what can be undone.Read-only
get_analysis_measurementsRetrieves the currently active pinned measurements and their computed values across plotted signals in the Analysis panel.Read-only
get_architect_memoryReturns the persistent memory object of the Architect.Read-only
get_available_blocksReturns the block types in the library with their descriptions, configurable parameters, and exact input/output port IDs. Without a filter it returns a compact list of all types; with a list of type IDs it returns full details for those types. Example port IDs: Step out "out"; Sum in "in", out "out"; Gain in "in", out "out"; PIDController in "error","reset", out "out"; uPlotDisplay in "signal". Common aliases (e.g. "in" for PID error, "in" for uPlotDisplay signal, "+" / "-" for Subtraction) are resolved automatically.Read-only
get_bode_dataComputes magnitude and phase frequency response (Bode data) between two blocks. Traces path backwards from outputBlockId. Returns analytic response if the path contains only linear blocks, otherwise runs numerical sweep.Read-only
get_canvas_previewCaptures a visual screenshot preview of the canvas branded with the official BlockWerk watermark badge and returns the live interactive URL to view and edit the diagram online.Read-only
get_engine_statusReturns the simulation engine status, including supported solvers, active background jobs, and compilation/WASM capabilities.Read-only
get_fft_dataComputes FFT (frequency spectrum) of a Scope signal. Returns frequencies and magnitudes.Read-only
get_job_statusCheck the status and progress of a background job.Read-only
get_share_linkReturns a link that opens the current diagram on the BlockWerk canvas. The whole project travels compressed inside the URL, so it needs no account and nothing is uploaded. Opening the link in a browser shows the diagram, where the simulation can be run.Read-only
get_signal_dataReturns time series data from a Scope block output for analysis.Read-only
get_templatesLists the built-in, verified BlockWerk diagrams: classic control systems (PID loop, cruise control, inverted pendulum), signal processing, electrical and physics models. Each entry gives an id, what the diagram does, its difficulty and the blocks it uses. Returns metadata only; load_template puts a diagram on the canvas by id.Read-only
identify_fopdtAnalyzes a step response from a plant to identify its First-Order Plus Dead Time (FOPDT) parameters: Gain (K), Time Constant (tau), and Dead Time (theta). Requires a completed simulation with a step input connected to the plant. Returns the calculated parameters.Read-only
list_jobsList all recent background jobs and their status.Read-only
load_diagramAtomically replaces the entire canvas with a complete diagram defined as a BlockWerk project JSON string. The JSON has a "blocks" array (each block needs a unique "id" and "type"; "x"/"y"/"params" are optional) and a "connections" array (each connection needs a unique "id" plus "fromBlockId", "fromPortId", "toBlockId", "toPortId"; a missing id fails validation of the whole load). Block types and port ids are listed by get_available_blocks. This is a destructive action that asks the user for approval in the BlockWerk tab.Destructive
load_templateReplaces the entire canvas with one of the built-in verified diagrams, by id from get_templates. The template carries its topology, parameters and simulation settings. Returns the block and connection counts, the verified simulation settings, and the attribution when the model is based on third-party material. This is a destructive action that asks the user for approval in the BlockWerk tab.Destructive
optimize_multi_parameterOptimizes 2–6 parameters simultaneously using Nelder-Mead simplex search, for example Kp, Ki and Kd of a PID controller at once.Changes data
optimize_parametersFinds the optimal value for a single parameter using golden-section search. Minimizes IAE (integral absolute error), overshoot, or settling_time within a [min, max] range. Converges in about 10 simulations.Changes data
redo_last_ai_actionRedoes the last undone canvas modification.Destructive
run_simulationTriggers a new simulation run with the current canvas state and settings, refreshing the signal data.Changes data
start_optimizationStart a parameter optimization job in the background.Changes data
sweep_parameterRuns simulations across a list of values for one parameter, returning control quality metrics (IAE, overshoot, settling_time, steady_state_error) per value. Requires measureBlockId and setpoint.Changes data
tidy_layoutAutomatically rearrange all blocks on the canvas into a clean, left-to-right flow.Changes data
undo_last_ai_actionUndoes the last canvas modification made by the AI (add block, connect, delete, update parameter).Destructive
update_architect_memoryUpdates the persistent memory of the Architect. Provide a JSON object with keys to update/merge.Changes data
update_paramsUpdate one or more parameters of an existing block.Changes data
validate_canvasPerforms pre-flight topological and numerical integrity checks on the canvas. Detects unconnected required input ports, isolated blocks, parameter domain anomalies, and direct algebraic feedthrough loops.Read-only
validate_engineering_unitsChecks the consistency of engineering units across the diagram. Detects incompatible connections and missing units.Read-only

Change history

  1. Listed (registry)
Source listings
SourceListingFirst seenLast seenVersions
Official MCP Registrytech.blockwerk/mcp5 Oct 20265 Oct 20261