extract_schematic_netlist
Parse KiCad schematic files to extract detailed netlist data, including components, connections, and labels, for seamless integration into electronic design workflows.
Instructions
Extract netlist information from a KiCad schematic.
This tool parses a KiCad schematic file and extracts comprehensive netlist information including components, connections, and labels.
Args: schematic_path: Path to the KiCad schematic file (.kicad_sch) ctx: MCP context for progress reporting
Returns: Dictionary with netlist information
Input Schema
Name | Required | Description | Default |
---|---|---|---|
ctx | Yes | ||
schematic_path | Yes |
Input Schema (JSON Schema)
{
"$defs": {
"Context": {
"description": "Context object providing access to MCP capabilities.\n\nThis provides a cleaner interface to MCP's RequestContext functionality.\nIt gets injected into tool and resource functions that request it via type hints.\n\nTo use context in a tool function, add a parameter with the Context type annotation:\n\n```python\n@server.tool()\ndef my_tool(x: int, ctx: Context) -> str:\n # Log messages to the client\n ctx.info(f\"Processing {x}\")\n ctx.debug(\"Debug info\")\n ctx.warning(\"Warning message\")\n ctx.error(\"Error message\")\n\n # Report progress\n ctx.report_progress(50, 100)\n\n # Access resources\n data = ctx.read_resource(\"resource://data\")\n\n # Get request info\n request_id = ctx.request_id\n client_id = ctx.client_id\n\n return str(x)\n```\n\nThe context parameter name can be anything as long as it's annotated with Context.\nThe context is optional - tools that don't need it can omit the parameter.",
"properties": {},
"title": "Context",
"type": "object"
}
},
"properties": {
"ctx": {
"$ref": "#/$defs/Context",
"title": "Ctx"
},
"schematic_path": {
"title": "Schematic Path",
"type": "string"
}
},
"required": [
"schematic_path",
"ctx"
],
"type": "object"
}