MCP Resources
MCP resources are read-only data sources that clients can attach to conversations for context. Unlike tools, resources are not invoked with parameters --- they are referenced by URI and return structured data. A client might attach ltspice://status at the start of a session so the LLM knows what is available without making a tool call.
mcltspice exposes 5 resources.
ltspice://symbols
Section titled “ltspice://symbols”All component symbols from the LTspice library, organized by category. This is equivalent to calling list_symbols(limit=10000).
// Response structure{ "symbols": [ { "name": "LT1001", "category": "Opamps", "path": "/home/user/ltspice/lib/sym/Opamps/LT1001.asy" }, { "name": "1N4148", "category": "Misc", "path": "/home/user/ltspice/lib/sym/Misc/1N4148.asy" } ], "total_count": 6523, "returned_count": 6523}Use this when you need a complete inventory of available components. For targeted searches, the list_symbols tool with category or search parameters is more efficient.
ltspice://examples
Section titled “ltspice://examples”All example circuits from the LTspice installation. Equivalent to list_examples(limit=10000).
// Response structure{ "examples": [ { "name": "Buck", "category": "Educational", "path": "/home/user/ltspice/examples/Educational/Buck.asc" }, { "name": "LT1001", "category": "jigs", "path": "/home/user/ltspice/examples/jigs/LT1001.asc" } ], "total_count": 4102, "returned_count": 4102}Examples are organized by category folder. Categories like Educational contain teaching circuits; jigs contains test and evaluation schematics for specific ICs.
ltspice://status
Section titled “ltspice://status”Current installation status as JSON. Equivalent to calling check_installation().
// Response structure{ "valid": true, "message": "LTspice installation OK", "paths": { "ltspice_dir": "/home/user/ltspice/extracted/ltspice", "ltspice_exe": "/home/user/ltspice/extracted/ltspice/XVIIx64.exe", "wine_prefix": "/home/user/ltspice/extracted/ltspice/.wine", "lib_dir": "/home/user/ltspice/extracted/ltspice/lib", "examples_dir": "/home/user/ltspice/extracted/ltspice/examples" }, "lib_exists": true, "examples_exist": true}Attaching this resource at session start lets the LLM immediately know whether LTspice is ready and where files are located, without needing a tool call.
ltspice://templates
Section titled “ltspice://templates”All available circuit templates (both netlist and schematic formats) with their parameters and default values.
// Response structure{ "netlist_templates": [ { "name": "rc_lowpass", "description": "RC low-pass filter, fc ~ 1.59 kHz", "params": { "r": "1k", "c": "100n", "f_start": "1", "f_stop": "1meg" } }, { "name": "buck_converter", "description": "Synchronous buck converter", "params": { "ind": "10u", "c_out": "100u", "r_load": "10", "v_in": "12", "duty_cycle": "0.5", "freq": "100k", "mosfet_model": "Si7336ADP", "diode_model": "CMDSH2-3" } } ], "schematic_templates": [ { "name": "rc_lowpass", "description": "RC low-pass filter (.asc schematic)", "params": { "r": "1k", "c": "100n" } } ]}The response separates netlist templates (.cir files created by create_from_template) from schematic templates (.asc files created by generate_schematic). Some templates appear in both lists with slightly different parameter sets.
ltspice://template/{name}
Section titled “ltspice://template/{name}”Detail for a specific template by name. This is a URI template --- replace {name} with the template name.
Example URIs:
ltspice://template/rc_lowpassltspice://template/buck_converterltspice://template/sallen_key_lowpass
// Response for ltspice://template/rc_lowpass{ "name": "rc_lowpass", "netlist": { "description": "RC low-pass filter, fc ~ 1.59 kHz", "params": { "r": "1k", "c": "100n", "f_start": "1", "f_stop": "1meg" }, "type": "netlist (.cir)" }, "schematic": { "description": "RC low-pass filter (.asc schematic)", "params": { "r": "1k", "c": "100n" }, "type": "schematic (.asc)" }}If the template exists in only one format (netlist or schematic), only that key is present. If the template name is not found, the response contains an error field:
// Response for unknown template{ "error": "Template 'nonexistent' not found"}