LTspice MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 |
|---|---|
| describe_server_capabilitiesA | Report the LTspice engine, tool groups, and feature flags. |
| add_componentC | Place a primitive component. |
| add_component_from_asyC | Place a symbol using the file name of an |
| add_component_symbol_drawingB | Append a LINE, RECTANGLE, CIRCLE, or ARC to a symbol. |
| add_instructionC | Add a SPICE directive or a comment. |
| add_junctionC | Split a wire so a coordinate becomes a junction. |
| add_library_componentC | Place a library symbol by name. |
| add_net_labelD | Add a net label. |
| add_wireD | Add a wire. Exposed as |
| apply_schematic_layout_specC | Replace a schematic with a built-in layout. |
| check_schematicC | Report structural problems without running LTspice. |
| compare_schematicsC | Compare component values between two schematics. |
| create_schematicC | Create an empty schematic. |
| create_starter_schematicC | Create a divider, RC, or buck starter schematic. |
| describe_edit_capabilityC | Describe which edits the clean-room editor performs. |
| describe_schematic_edit_supportC | Describe schematic edit support for clients. |
| describe_schematic_layout_specC | Describe a built-in layout spec. |
| export_symbol_to_asyC | Write a two-pin |
| import_circuit_bundleC | Unpack a zip of schematics into the workspace, or copy one |
| inspect_schematicC | Summarize a schematic. |
| list_componentsC | List placed components. |
| materialize_reference_circuitC | Write a built-in reference circuit. |
| normalize_component_text_rotationC | Reset attribute windows to left-justified text. |
| read_componentC | Read one component. |
| read_component_symbolC | Read an |
| read_net_connectivityC | Return primitive pin-to-net connectivity. |
| remove_componentD | Remove a component. |
| remove_component_symbol_drawingC | Remove one symbol drawing by index. |
| remove_instructionC | Remove a directive or comment containing |
| remove_junctionD | Explain that LTspice junctions are implicit. |
| remove_net_labelC | Remove a net label. |
| remove_wireD | Remove a wire. |
| rename_component_referenceD | Rename InstName. |
| render_schematic_imageD | Draw a simple schematic preview. |
| save_schematic_asC | Copy a schematic to a new path. |
| set_component_parametersC | Set SpiceLine attributes. |
| set_component_positionC | Move a component and wires that ended on its pins. |
| set_component_symbol_pinD | Move or add a symbol pin. |
| set_component_symbol_textC | Set one |
| set_component_valueD | Set a component value. |
| set_element_modelD | Set a component model. |
| set_parameterC | Add or replace a |
| suggest_component_placementB | Suggest the next free grid point to the right of existing parts. |
| list_subcircuitsC | List |
| read_subcircuitC | Return one |
| set_subcircuit_component_parametersC | Set SpiceLine on a component inside a schematic subcircuit file. |
| set_subcircuit_component_valueC | Set a value on a component inside a schematic subcircuit file. |
| add_library_includeC | Add a |
| add_modelC | Add a |
| cancel_runB | Stop a simulation started for this source path. |
| generate_netlistB | Write a netlist with LTspice |
| list_includesC | List |
| list_plot_suggestionsC | Suggest voltages and currents an agent can plot. |
| prepare_acC | Insert a |
| prepare_dc_sweepC | Insert a |
| prepare_fourC | Insert a |
| prepare_funcC | Insert a |
| prepare_icC | Insert a |
| prepare_loop_gain_analysisC | Stage an AC loop-gain run using the extra-source method. |
| prepare_measC | Insert a |
| prepare_monte_carloD | Point a component at |
| prepare_netC | Insert a |
| prepare_nodesetD | Insert a |
| prepare_noiseC | Insert a |
| prepare_opC | Insert a |
| prepare_optionsC | Insert a |
| prepare_paramC | Insert a |
| prepare_saveC | Insert a |
| prepare_stepC | Insert a |
| prepare_temperature_sweepC | Insert a |
| prepare_transfer_functionC | Insert a |
| prepare_transientC | Insert a |
| prepare_worst_caseC | Step a component between two corner values with |
| resolve_model_librariesB | Search the workspace and the LTspice lib tree for a model name. |
| run_model_sweepD | Run once per model name. |
| run_monte_carloD | Prepare a Monte Carlo |
| run_param_sweepD | Add a |
| run_simulationD | Run one batch simulation. |
| run_value_sweepC | Run the schematic once per component value. |
| run_worst_caseC | Prepare two corners and run them. |
| save_netlist_copyC | Copy a netlist inside the workspace. |
| summarize_tolerance_analysisC | Summarize min, max, and mean of a stepped trace. |
| cancel_batchB | Mark a batch cancelled. A finished batch stays completed. |
| collect_batch_resultsC | Return the stored batch result. |
| get_batch_statusC | Return a batch manifest summary. |
| submit_batchC | Run one schematic and keep a manifest of the artifacts. |
| close_remote_sessionB | Drop a session from memory. Files on disk are left in place. |
| download_remote_artifactsC | Return artifact paths recorded for a finished session. |
| poll_remote_runC | Return the status of a background session. |
| submit_remote_simulationC | Start a background local simulation and return a session id. |
| compute_thdC | Total harmonic distortion. |
| evaluate_waveform_expressionC | Evaluate an expression built from raw signal names. |
| export_fft_spectrumC | Write an FFT magnitude CSV. |
| filter_device_operating_pointsC | Keep operating-point rows whose name contains |
| list_measuresC | List |
| list_signalsC | List signals in a raw file. |
| list_stepsB | List stepped runs from a raw file and, when given, the log. |
| measure_bode_responseC | Bode magnitude and phase of output/reference. |
| measure_efficiencyD | Average output power over average input power. |
| measure_stability_marginsD | Gain and phase margins. |
| measure_step_responseC | Step-response scalars. |
| measure_waveformC | Measure avg, rms, max, min, pp, or peak. |
| plot_waveformsB | Plot one or more comma-separated signals to a PNG. |
| read_device_operating_pointsC | Read operating-point rows from a log. |
| read_fourierB | Read the Fourier section of a log. |
| read_logC | Summarize a simulation log. |
| read_measuresC | Read |
| read_noiseC | Read noise lines from a log. |
| read_waveformD | Read one budgeted waveform. |
| summarize_device_operating_pointsC | Count operating-point rows by unit. |
| compare_waveformsC | Compare the means of one signal in two raw files. |
| export_derived_rawC | Write a small ASCII raw file containing one trace. |
| export_measures_csvC | Write |
| export_touchstone_s2pC | Write a one-port-style S2P using S21 = output/reference and the other terms at 0. |
| export_waveform_asciiC | Write one signal as whitespace-separated text. |
| export_waveform_csvC | Write selected signals to CSV. |
| export_waveform_spiceC | Write a PWL statement for one real trace. |
| merge_waveformsC | Return two traces side by side without writing a combined raw file. |
| summarize_batchC | Summarize raw files sitting in a batch directory. |
| add_hierarchical_blockC | Create a child sheet with In/Out pins and place it on the parent. |
| create_asy_symbolC | Write a two-pin |
| describe_mixed_signal_supportA | State what mixed-signal authoring LTspice can and cannot do. |
| describe_protocol_supportB | State that I2C and SPI scaffolds here are behavioral teaching circuits. |
| scaffold_behavioral_subcircuitC | Write a schematic whose only active device is a behavioral source. |
| scaffold_i2c_deviceC | Write a behavioral sketch of an I2C open-drain pull-up, not a protocol engine. |
| scaffold_spi_deviceC | Write a behavioral sketch of a SPI data latch, not a protocol engine. |
| close_live_gui_sessionC | Stop a GUI process this server launched. |
| describe_live_gui_supportC | Describe the GUI launch support. |
| open_schematic_in_guiC | Launch LTspice on a schematic without |
| poll_live_gui_sessionB | Report that polling a GUI session is unsupported. |
| poll_live_gui_session_eventsC | Report that GUI events are unsupported. |
| refresh_schematic_in_guiB | Close and reopen the schematic so the GUI reloads the file. |
| send_live_gui_session_commandC | Report that GUI commands are unsupported. |
| write_workspace_text_fileC | Write a text file inside the workspace. |
| list_workflow_instructionsC | List bundled workflow notes. |
| read_workflow_instructionC | Read one bundled workflow note. |
| describe_reference_circuit_recipeC | Describe one reference circuit. |
| list_reference_circuit_recipesB | List bundled reference circuits. |
| materialize_recipeC | Write a recipe schematic into the workspace. |
| describe_topology_authoring_supportC | Describe the topology note format. |
| describe_topology_blockC | Return one topology note. |
| ingest_topology_contributionC | Store a validated contribution under the workspace. |
| list_topology_blocksC | List topology notes. |
| search_topology_blocksC | Search titles and summaries. |
| validate_topology_contributionC | Check that a contribution JSON object has the required keys. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| ltspice_divider_from_scratch | Author a resistive divider and check the midpoint voltage. |
| ltspice_run_and_measure | Run a schematic and read a .meas result. |
| ltspice_debug_convergence | Inspect a failed LTspice log. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| ltspice-artifacts | The .asc schematic is the source of truth. .net, .log, and .raw files are derive |
| ltspice-measurements | .meas results are printed in the .log. There is no separate measurement executab |
TDQS
Scored across 145 tools
145 tools include many overlapping run/prepare/measure/export operations (e.g., run_simulation, submit_batch, submit_remote_simulation; prepare_ac vs add_instruction). While names are descriptive, an agent will struggle to choose the right tool for a given task.
All tool names use snake_case with a leading verb (add_, get_, list_, prepare_, run_, etc.), forming a consistent verb_noun pattern. No camelCase or mixed conventions.
145 tools is extreme for any MCP server, far exceeding the 50+ threshold for mismatch. Many tools are thin wrappers around specific SPICE directives or analysis types, bloating the surface.
The surface covers schematic editing, simulation setup, execution, batch/remote runs, analysis, and export comprehensively. Minor gaps exist, such as no direct schematic deletion or fully supported live GUI control, but core workflows are complete.