mcpbeat Sign in

BlockWerk MCP Server

by blockwerk Your server? Claim it
answering

BlockWerk is answering right now. Last checked 6 min ago. It exposes 42 tools.

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

Uptime history 28 days of history
28 days agonow
100.0%
Uptime 24h
91 of 91 checks
42
Tools
read from the server
215 ms
Response time
average over 24h
open, no key
Access
streamable-http

Nothing serious here today

Today is the operative word: we check BlockWerk every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

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 6 min ago.

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

Available tools 42

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

architect
get_architect_memory
Returns the persistent memory object of the Architect.
update_architect_memory
Updates the persistent memory of the Architect. Provide a JSON object with keys to update/merge.
block
add_block
Add a new block to the canvas. Returns the new block ID.
delete_block
Delete a block and all its connections from the canvas. This is a destructive action that asks the user for approval in the BlockWerk tab.
load
load_diagram
Atomically 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.
load_template
Replaces 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.
optimize
optimize_multi_parameter
Optimizes 2–6 parameters simultaneously using Nelder-Mead simplex search, for example Kp, Ki and Kd of a PID controller at once.
optimize_parameters
Finds 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.
validate
validate_canvas
Performs 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.
validate_engineering_units
Checks the consistency of engineering units across the diagram. Detects incompatible connections and missing units.
analysis
get_analysis_measurements
Retrieves the currently active pinned measurements and their computed values across plotted signals in the Analysis panel.
analyze
analyze_topology
Analyzes the block diagram structure: detects feedback loops, signal paths, and system order.
auto
auto_tune_pid
Automatically 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.
available
get_available_blocks
Returns 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.
batch
batch_commands
Executes 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.
bode
get_bode_data
Computes 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.
calculate
calculate_metrics
Calculates step response metrics from signal data: rise time, settling time, overshoot percentage, and steady-state error.
cancel
cancel_job
Cancel a running background job.
canvas
get_canvas_preview
Captures 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.
clear
clear_canvas
Remove all blocks and connections from the canvas. This is a destructive action that asks the user for approval in the BlockWerk tab.
connect
connect_blocks
Connect 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).
describe
describe_canvas
Returns a structured description of all blocks and connections currently on the canvas. Set "compact" to true for a token-efficient summary.
engine
get_engine_status
Returns the simulation engine status, including supported solvers, active background jobs, and compilation/WASM capabilities.
evaluate
evaluate_spec_mask
Evaluates signal data against automated design specifications and tolerance corridors (rise time, settling time, overshoot %, steady-state error, min/max limits).
explain
explain_simulation
Analyze 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.
export
export_diagram
Exports the current canvas project as a complete BlockWerk JSON string.
fft
get_fft_data
Computes FFT (frequency spectrum) of a Scope signal. Returns frequencies and magnitudes.
generate
generate_code
Generates standalone production code (C++, Python, Rust) from the current canvas diagram. Returns structured code files, interfaces (inputs/outputs), execution order, and diagnostics.
history
get_ai_history
Returns the list of recent canvas operations performed by the AI, showing what can be undone.
identify
identify_fopdt
Analyzes 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.
job
get_job_status
Check the status and progress of a background job.
jobs
list_jobs
List all recent background jobs and their status.
params
update_params
Update one or more parameters of an existing block.
redo
redo_last_ai_action
Redoes the last undone canvas modification.
share
get_share_link
Returns 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.
signal
get_signal_data
Returns time series data from a Scope block output for analysis.
simulation
run_simulation
Triggers a new simulation run with the current canvas state and settings, refreshing the signal data.
start
start_optimization
Start a parameter optimization job in the background.
sweep
sweep_parameter
Runs 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.
templates
get_templates
Lists 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.
tidy
tidy_layout
Automatically rearrange all blocks on the canvas into a clean, left-to-right flow.
undo
undo_last_ai_action
Undoes the last canvas modification made by the AI (add block, connect, delete, update parameter).

Endpoints

URLTransportStateLatencyChecked
https://blockwerk-mcp-worker.blockwerk.workers.dev/ streamable-http answering 65 ms 6 min ago

Alternatives to BlockWerk

same job, measured the same way
nana800
by nana800

Build and manage nana800.io no-code workflows: projects, blocks, run history and analytics exports

396 installs/wk local only
Formeo
by formeo

Build and publish Formeo forms, read and export submissions, and get embed code from AI agents

537 installs/wk local only
Multisim MCP
by yxy050208

Generate Multisim circuits, run simulations, export data, and create experiment reports.

929 installs/wk local only
SeatLayer
by seatlayer

Build seating charts and run reserved-seat events: sections, prices, blocked seats and sales reports

answering
LetDraw
by letdraw

Create, edit, share and export hand-drawn LetDraw diagrams, from code or a prompt.

54 installs/wk answering
flowR
by flowr-analysis

Static dataflow analysis, program slicing, linting, and dependency extraction for R code.

202 installs/wk local only
Blitz Wings
by scheur

AI presentation and report generation: slides, diagrams, PPTX export, live preview MCP App.

answering
Ghidra BizHawk MCP
by getanirao

Unified Ghidra + BizHawk MCP server for static analysis, P-code emulation, and retro ROM triage.

146 installs/wk local only

BlockWerk — questions

Answers built from our own checks of this server.

What can BlockWerk do?
It exposes 42 tools, read directly from the server on our last check. Among them: add_block, analyze_topology, auto_tune_pid, batch_commands, calculate_metrics, cancel_job and 36 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 →
What is BlockWerk mostly used for?
Its tools cluster around architect, load and block. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is BlockWerk 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 215 ms. The bar chart above shows every period we have measured.
How do I connect BlockWerk?
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 BlockWerk need an API key?
No. BlockWerk completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 42 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is BlockWerk?
It answers our handshake in 215 ms on average, which is faster than 66% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.