microcap-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MICROCAP_HOME | No | Path to the directory containing Micro-Cap executable (optional, used if autofind fails) |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| simulateA | Run a SPICE netlist through Micro-Cap and return the waveform data. The netlist is plain SPICE. Rules that will bite you if ignored:
Args:
netlist: full SPICE deck, first line is the title, ending in Returns: Columns, units, sampled data, solver statistics, and any warnings. |
| generate_amplifierA | Draw a
Args:
gain: magnitude of the closed-loop gain (> 0; non-inverting needs >= 1).
kind: Returns the |
| generate_transistor_amplifierA | Draw a Divider bias, unbypassed emitter degeneration, AC-coupled input. The
midband gain magnitude is Args:
rc, re: collector and (unbypassed) emitter resistors; their ratio is the
midband gain. Returns the |
| generate_emitter_followerA | Draw a Collector straight to the supply, output at the emitter. Voltage gain is
just under 1 ( Args:
re: emitter resistor (sets the bias current Returns the |
| generate_mosfet_amplifierA | Draw a Gate divider bias, source degeneration, AC-coupled input, body tied to
source. Midband gain is Args:
rd, rs: drain and (degeneration) source resistors.
r1, r2: gate bias divider; leave unset to auto-bias for a mid-supply
drain, or give both to override.
vdd: supply voltage.
cin: input coupling capacitor.
source: input source VALUE, Micro-Cap syntax ( Returns the |
| generate_differential_pairA | Draw a Two matched NPN sharing an emitter tail resistor to ground, each collector
loaded by Args:
rc: collector load on each side.
rt: emitter tail resistor; leave unset to auto-size for mid-supply.
vcc: supply voltage.
vb: common-mode base voltage; leave unset for Returns the |
| generate_current_mirrorA | Draw a A diode-connected NPN sets a reference current Args:
rref: reference-leg resistor; sets Returns the |
| generate_cascodeA | Draw a A common-emitter transistor stacked under a common-base transistor. The
midband gain is the common-emitter's, Args:
rc, re: collector load and emitter degeneration; their ratio is the gain.
vcc: supply voltage.
source: AC drive VALUE added to the lower base's bias ( Returns the |
| generate_schematicA | Draw a Unlike a netlist, this produces a drawn schematic you can open in
Micro-Cap. Feed the result to Bounded on purpose — a source, a series chain of two-terminal passives (R, C, L), and optional parallel shunt branches. That covers RC/RL/RLC, dividers, and resonant tanks. Every pin position is taken from Micro-Cap's own component library, so the drawn circuit is electrically what you asked for. For an op-amp gain stage use generate_amplifier; for a common-emitter BJT stage use generate_transistor_amplifier. Args:
parts: ordered Returns the |
| simulate_schematicA | Run a Micro-Cap Use this to adapt a reference: fetch one with Numeric export is switched on automatically, Args:
schematic: full |
| sweepA | Run one netlist repeatedly, varying a The deck must declare the symbol, e.g. Args:
netlist: SPICE deck containing a |
| plotA | Run a netlist and return Micro-Cap's own rendered plot as a JPEG image. Use this to look at a waveform. For numbers to reason about, use
|
| draw_schematicA | Render a Micro-Cap's own schematic-image command does not work in batch, so this
draws the circuit directly from the Returns SVG (vector, self-contained); save it as |
| annotate_schematicA | Render the schematic as SVG with each labelled node's DC operating-point voltage written beside it — a marked-up drawing you can read the bias off. Runs the DC operating point (a short transient at t=0), reads the voltage at
every |
| plot_schematicA | Run a The picture companion to |
| simulate_exampleA | Run one of Micro-Cap's own reference circuits and return its data. These are worked designs by the tool's authors, so this is the cheapest way
to get a trustworthy baseline before modifying anything. Use
Numeric export is enabled automatically; the shipped circuits have it off. Args:
name: reference circuit name.
analysis: which analysis to run.
max_points: cap on returned samples.
points: resolution to compute at. The reference circuits carry their
own display setting, often tiny or |
| describe_exampleA | Report what a reference circuit is set up to do, without running it. Returns the analyses it defines and the expressions it plots. Read this
before |
| list_domainsA | List the circuit-design domains Micro-Cap ships reference circuits for. Returns domain name -> circuit count. Start here before designing from scratch: a working reference beats an invented topology. |
| search_examplesB | Search the ~470 reference circuits by name or domain. |
| get_exampleA | Fetch one reference circuit's source text.
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| analyse_circuit | Guided workflow for measuring something about a circuit, starting from a shipped reference where possible. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| guide | How to drive Micro-Cap competently: choosing an analysis, not being fooled by empty results, judging solver trust, reading complex and digital data, SPICE essentials. |
| domains_resource | The 43 domains of shipped reference circuits and what each is for — reach for a worked topology before inventing one. |
TDQS
Scored across 20 tools
Several tools have overlapping names and purposes: simulate, simulate_schematic, and simulate_example are all 'run a simulation' tools with different input formats, and plot and plot_schematic similarly differ only by input type. The descriptions clearly distinguish them, but an agent relying on names alone could easily misselect.
The naming pattern is predominantly verb_noun with underscores (generate_amplifier, simulate_schematic, describe_example), which is consistent. A few single-word verbs (simulate, sweep, plot) deviate slightly but remain predictable and readable.
At 20 tools, the server is slightly over the ideal 3-15 range but each tool serves a distinct purpose in the circuit simulation workflow. The count is justifiable given the breadth of generation, simulation, visualization, and example-library access, though a few generators could potentially be consolidated.
The tool surface covers the core lifecycle: generate circuits, simulate via netlist or schematic, plot results, and access reference examples. Minor gaps exist, such as no explicit schematic editing tool (text editing is expected instead) and no Monte Carlo or corner analysis, but the main workflows are well supported.