Skip to content

v3.5.0

@bunnyf bunnyf tagged this 17 Jan 06:44
- Refactored from 987-line monolithic script to modular package structure
- Separated into 18 Python modules for better maintainability
- Added proper Python packaging (pyproject.toml)

- Path validation to prevent directory traversal attacks
- Restricted file access (read_file limited to projects/tasks directories)
- Shell injection prevention using shlex.quote()
- Input validation for project names

- Environment variable configuration (.env.example)
- Proper logging framework with structured logs
- Graceful shutdown with signal handlers
- cleanup_tasks tool for managing old async tasks
- 55 comprehensive unit tests

- Full type annotations throughout codebase
- All comments and docstrings in English
- Magic numbers extracted to named constants
- Consistent error handling patterns

- Enhanced README with badges and new sections
- Added Configuration, Security Features, and Development sections
- Updated license to GPL-3.0

- Original entry point (kicad_mcp_server.py) still works
- All 23 MCP tools preserved with same interface
- No changes required to Claude Code configuration

- Python 3.10+
- KiCad 9.0.6+
- Optional: Java 17+ (for FreeRouting)
- Optional: xvfb (for headless rendering)

Full changelog: https://github.com/bunnyf/pcb-mcp/compare/c7fdd4a...v3.5.0
Assets 2
Loading