Skip to content

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.


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.


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.


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.


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.


Detail for a specific template by name. This is a URI template --- replace {name} with the template name.

Example URIs:

  • ltspice://template/rc_lowpass
  • ltspice://template/buck_converter
  • ltspice://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"
}