43 Commits

Author SHA1 Message Date
Lama Al Rajih
7019df0ccc
Merge pull request #14 from laurigates/patch-1
Create LICENSE
2025-07-11 16:04:12 -04:00
Lauri Gates
fb294215f0
Create LICENSE 2025-07-10 13:13:00 +03:00
Lama
4dd49122f1 fix file name 2025-07-08 19:38:21 -04:00
Lama Al Rajih
798436cd35
Update README.md 2025-04-29 16:57:13 -04:00
Lama
e5c87df088 Removed unnecessary IPC drc - defaulting to only using the CLI 2025-04-24 16:07:36 -04:00
Lama
a95c0a40ba add issue and pr templates 2025-04-24 14:34:34 -04:00
Lama Al Rajih
b2d3099505
Merge pull request #6 from madaerodog/main - feat: Fix tools, improve stability, and update docs
- Fix open_project tool for Linux compatibility (uses xdg-open).
- Force DRC tool to use kicad-cli due to kipy import errors, ensuring reliability.
- Correct thumbnail generation to use svg export via kicad-cli instead of unsupported png.
- Save generated thumbnails directly into the project directory.
- Remove debug logging added during troubleshooting.
- Update .gitignore to correctly ignore the .venv directory.
- Remove mcp.dev usage from documentation as a method for running the server.
- Remove obsolete python_path.py utility and deleted test file.
2025-04-24 14:09:42 -04:00
Constantin Craciun
5b9d237d7d feat: Fix tools, improve stability, and update docs 2025-04-23 18:37:56 +03:00
Lama
44b0bda19d add more graceful server shutdown 2025-03-22 09:41:10 -04:00
Lama
921e087351 logging docs cleanup 2025-03-22 09:23:22 -04:00
Lama
fda329cc8f remove all instances of logger.py (see issue #1) 2025-03-22 09:18:29 -04:00
Lama
3596bae34e fix find_component_connections() in netlist_tools.py 2025-03-22 08:58:57 -04:00
Lama
a3613f273a Fix drc issues - swap out pbnew for kicad cli and ipc 2025-03-21 15:27:36 -04:00
Lama
b1cb48ecf7 fix random import, etc issues 2025-03-21 13:08:15 -04:00
Lama
7343e032c1 Add circuit pattern recognition feature for KiCad schematics
This commit introduces a new circuit pattern recognition system that can
automatically identify common circuit patterns in KiCad schematics, including:

- Power supply circuits (linear regulators, switching converters)
- Amplifier circuits (op-amps, transistor amplifiers)
- Filter circuits (passive and active)
- Oscillator circuits (crystal, RC, IC-based)
- Digital interfaces (I2C, SPI, UART, USB)
- Microcontroller circuits
- Sensor interfaces

The implementation includes:
- Pattern recognition algorithms for common components
- Component value extraction and normalization utilities
- MCP tools for running pattern analysis
- MCP resources for displaying formatted results
- Comprehensive documentation

Users can easily extend the pattern recognition by adding new component
patterns or circuit recognition functions.
2025-03-21 10:43:34 -04:00
Lama
750dd260c4 Add comprehensive netlist extraction functionality
- Implement schematic netlist parser with S-expression parsing
- Create netlist tools for extraction and connection analysis
- Add resources for netlist and component connection reporting
- Include documentation with usage guide and troubleshooting
- Register new tools and resources in server configuration

This enables extracting component connections from KiCad schematics
and analyzing connectivity between components.
2025-03-21 09:31:15 -04:00
Lama
f8bafe8beb refactor readme and add more docs 2025-03-20 21:19:19 -04:00
Lama
6953e5dc9a Add comprehensive BOM management functionality with analysis, export, and viewing features 2025-03-20 13:54:48 -04:00
Lama
c69bd66f71 update readme and requirements.txt 2025-03-20 12:51:52 -04:00
Lama
60b10c54b2 nit 2025-03-20 12:48:10 -04:00
Lama
82c0a2dccb nit 2025-03-20 12:35:21 -04:00
Lama
46ad082fda update readme 2025-03-20 12:34:14 -04:00
Lama
cc73df8e77 Add flexible environment configuration to support custom project paths
- Added environment variable support for configuring KiCad project search paths
- Implemented auto-detection of common project directories (~/pcb, ~/Electronics, etc.)
- Created .env file support for user-friendly configuration
- Added utility module for environment variable loading and management
- Updated documentation with detailed configuration options and troubleshooting steps
- Improved logging to help diagnose path-related issues
- Removed hardcoded paths to make the MCP server more generally usable
2025-03-20 12:13:38 -04:00
Lama
880e267423 disable logging because claude is in a sandbox and can't write to our log file (it automatically writes logs in a diff place though) 2025-03-20 11:34:40 -04:00
Lama
948f9a150a move config.py file to subdir 2025-03-20 11:08:17 -04:00
Lama
775e3423be nit 2025-03-20 10:47:03 -04:00
Lama
15c83c921a nit 2025-03-20 10:33:50 -04:00
Lama
fc7bfbe64d update readme, add gitignore, update paths for drc history to include windows 2025-03-20 10:29:13 -04:00
Lama
50e94d245b add missing import 2025-03-20 10:08:35 -04:00
Lama
9a114bce7b Refactor server to use type-safe lifespan context management
Implement proper context management in the KiCad MCP server:

Add dedicated context.py with typed KiCadAppContext class
Convert tools to access context instead of parameters
Implement caching for thumbnails
Add proper cleanup of resources on shutdown
Improve error handling with cancellation support
2025-03-20 09:58:19 -04:00
Lama
5007d11579 update readme 2025-03-20 09:13:13 -04:00
Lama
f50a2ce1af Enhance PCB thumbnail generation with robust fallback methods
Implements a more reliable PCB thumbnail generation feature using two methods:
- Primary: pcbnew Python module for high-quality rendering
- Fallback: pcbnew_cli for environments without Python modules

Adds detailed progress reporting and comprehensive error handling.
Includes documentation in docs/thumbnail_guide.md.
2025-03-20 03:16:14 -04:00
Lama
b5b5835939 remove old simple mcp server 2025-03-20 03:04:02 -04:00
Lama
646dfe4589 update readme 2025-03-20 02:59:27 -04:00
Lama
27fe2336c1 update readme 2025-03-20 02:49:19 -04:00
Lama
5dd2dbe760 rename drc_resource.py to drc_resources.py and update readme 2025-03-20 02:47:45 -04:00
Lama
100f64186d Add Design Rule Check (DRC) functionality to KiCad MCP server
This commit implements comprehensive DRC support including:
- DRC check tool integration with both pcbnew Python module and CLI fallback
- Detailed DRC reports as resources with violation categorization
- Historical tracking of DRC results with visual trend analysis
- Comparison between current and previous DRC runs
- New prompt templates for fixing violations and custom design rules
- Full documentation in drc_guide.md

The DRC system helps users track their progress over time, focusing on the
most critical design rule violations as they improve their PCB designs.
2025-03-20 02:41:52 -04:00
Lama
b72918daa5 attempt to import pcbnew after adding it to the path 2025-03-20 02:29:08 -04:00
Lama
047f9f6af7 add logger + support for other operating systems (lower prio) 2025-03-20 02:25:49 -04:00
Lama
9fa890bf90 a lot 2025-03-20 02:01:30 -04:00
Lama
e4035bdcb1 create new dir structure 2025-03-20 01:47:29 -04:00
Lama
09ca184da6 initial commit 2025-03-20 00:59:09 -04:00
Lama Al Rajih
5148a39a3e
Initial commit 2025-03-20 00:47:00 -04:00