Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Added "design_patch_antenna", "run_glass_weave_analysis" and "run_planar_filter" (11 tools before, 14 now)
Design a patch antenna or array — Design a rectangular microstrip patch antenna (and, when both nx and ny are given, a uniform planar array of it) using the Balanis cavity/transmission-line + array-factor model — the SAME engine behind POST /api/antenna/patch/design and the Guided Phase IV antenna panel. The substrate (dk/df/h) derives from the latest solved stackup's outer prepreg dielectric unless dk/df/h_mm are given explicitly. Returns patch dimensions, resonance/bandwidth/gain, and (for an array) beamwidths, pattern cuts, and a grating-lobe check. The designed gain auto-applies to the chain's antennaGainDbi (compliance/S…
Recommend a PCB glass-weave style — Recommend PCB glass-weave (fiber-weave) styles for the current design: ranks catalogued styles by impedance variation and cost for the design frequency and marks the cheapest one meeting the impedance tolerance. Reuses the Phase-24 engine behind POST /api/glass-weave/recommend. Frequency is derived from the solved stackup / RF specs; tolerance and trace width default to stated assumptions — call with no arguments once a design exists.
Synthesize a planar PCB filter — Synthesize a passive planar (copper-on-PCB) filter from analytical formulas: stepped-impedance / open-stub low-pass, or parallel-coupled / hairpin band-pass, Chebyshev or Butterworth. Returns per-section line impedances (Z0e/Z0o for coupled sections), width/spacing, quarter-wave lengths, the total occupied board area, a copper footprint, passband markers, a simulated S21/S11 frequency response (response_curve) with modeled insertion loss / return loss / 3-dB bandwidth (response_summary), and accuracy warnings. Reuses the engine behind POST /api/planar-filter/compute (SSOT). Use it to replace …
Added "run_ota_link" and "run_radar_performance" (9 tools before, 11 now)
Run an over-the-air link budget — Compute a one-way over-the-air link budget — EIRP, free-space path loss (Friis), received power, link margin against receiver sensitivity, a closes/marginal/fails verdict, and the maximum range — using the SAME engine behind POST /api/ota-link/compute. Receiver sensitivity is reused from a prior link budget and transmit antenna gain/frequency from a prior antenna design when not given. FREE-SPACE ONLY: excludes rain, terrain, multipath and fading beyond the misc-loss and fade-margin inputs. Distance and misc loss are user assumptions, disclosed on the result.
Compute radar range and waveform limits — Compute radar performance — the monostatic range equation (received power, SNR vs range, maximum detection range, coherent/non-coherent integration gain) and pulsed-waveform relations (duty cycle, unambiguous range/velocity, range resolution, blind speeds) — using the SAME engine behind POST /api/radar/performance. Antenna gain enters as a dBi number; the detection floor is reused from a prior link budget's MDS when not given. RCS, target range, and system loss are user assumptions, disclosed on the result.
Changed the definition of "design_tr_module" and "run_stackup_solver"
⟨50 unchanged words⟩ receive window left after switching and limiter recovery (with the blind range: the closest echo the receiver can hear), limiter leakage driving the LNA into compression, ⟨33 unchanged words⟩
⟨319 unchanged words⟩ on design_rf_chain.","type":"number"},"maxPulseToPulseAmplitudeDb":{"description":"The user's pulse-to-pulse amplitude stability requirement in dB. Not computed; reported as not evaluated with the reason. Omit when not stated.","type":"number"},"maxPulseToPulsePhaseDeg":{"description":"The user's pulse-to-pulse phase stability requirement in degrees. Not computed; reported as not evaluated with the reason. Omit when not stated.","type":"number"},"maxTxGainFlatnessDb":{"description":"The user's transmit gain flatness requirement across the band, in dB. Not computed; reported as not evaluated with the reason. Omit when not stated.","type":"number"},"maxUnblankingRecoveryS":{"description":"The user's maximum unblanking (receiver) recovery time in seconds (e.g. 100e-9 for '< 100 ns'). Judged against the switch back to receive plus limiter recovery. Omit when not stated.","type":"number"},"minDetectionRangeM":{"description":"The closest target the user must detect, in metres, when they state one. Checked against the blind range (pulse width + switch back to receive + limiter recovery). Needs prfHz and pulseWidthS; omit when not stated — no requirement is assumed.","type":"number"},"minTxToRxIsolationDb":{"description":"The user's required TX-to-RX isolation in dB (e.g. 40 for '> 40 dB'). Judged against the shared part's own isolation and reported under requirements. Not the same as isolationDb. Omit when not stated.","type":"number"},"
Changed the definition of "check_grounding", "design_rf_chain", "design_rf_receiver" and 6 more
⟨28 unchanged words⟩ table is a figure. Markdown is fine.","maxLength":100000,"type":"string"}},"required":["text ⟨2 unchanged words⟩
⟨770 unchanged words⟩ and the results will be labelled caller-asserted.","maxLength":4000,"type":"string"}},"required":["frequency ⟨3 unchanged words⟩
Certificate recorded, valid to 2026-12-07
Authorization not required
Unknown → Live
First tool surface recorded: 9 tools (server version 1.0.0)
https://api.pcbgenerator.com/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 9 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨28 unchanged words⟩ and ranked feasible stackups. Each solution's prepreg_thickness_mm istheONEcatalogprepregBASElayer: prepreg_sheets (pre-lamination1-3)plyxthickness,prepreg_sheet_thickness_mmso(maker'sthetable).per-plyPer-layer numbers do NOT sum to total_thickness_mm — the total uses the pressed thickness, 0.04064 mm thinner perprepreg ply.layer. Report both as returned; never 'correct' one to match the other.
⟨5 unchanged words⟩ dielectrics to these catalog materials (e.g. RO4350B,MEGTRON6MEGTRON6; 'FR4' = the standard FR-4 grades). Pass ONLY materials the user named; omitto searchfor the full catalog.","items":{"type" ⟨6 unchanged words⟩ prepregs to these catalog materials (e.g. RO4450F,MEGTRON6MEGTRON6; 'FR4' = the standard FR-4 grades). Pass ONLY materials the user named; omitto searchfor the full catalog.","items":{"type" ⟨34 unchanged words⟩ named one: an omitted lamination is builtcore_outerfoil;wherevernaming a coreoutermaterial builds core_outer where it can bebuilt(4+ layers, build_type 'single')and foil everywhere else (2 layers,anywhateverHDIthe
⟨440 unchanged words⟩ and the results will be labelled caller-asserted.","maxLength":4000,"type":"string"}},"type":"object"}
⟨36 unchanged words⟩ in dB. Without it the antenna-mismatch leakage pathisassumesexcludeda 1.5:1 VSWR (13.98 dB) anddisclosed.says so.","type":"number"},"application":{ ⟨614 unchanged words⟩ it and the results will be labelled caller-asserted.","maxLength":4000,"type":"string"}},"type":"object"}
⟨101 unchanged words⟩ and the results will be labelled caller-asserted.","maxLength":4000,"type":"string"}},"type":"object"}
⟨275 unchanged words⟩ and the results will be labelled caller-asserted.","maxLength":4000,"type":"string"}},"type":"object"}
⟨89 unchanged words⟩ and the results will be labelled caller-asserted.","maxLength":4000,"type":"string"}},"type":"object"}
⟨753 unchanged words⟩ and the results will be labelled caller-asserted.","maxLength":4000,"type":"string"}},"required":["layer_count ⟨3 unchanged words⟩
⟨455 unchanged words⟩ and the results will be labelled caller-asserted.","maxLength":4000,"type":"string"},"via_config":{"description" ⟨119 unchanged words⟩