fix: Phase 2 - DRC API fix and JLCPCB documentation restructure (#33, #34, #43)

Phase 2 medium-priority fixes addressing three issues:

Issue #33 - DRC violations API broken in KiCAD 9.0:
- Reimplemented get_drc_violations() to use run_drc() internally
- run_drc uses kicad-cli which is stable across KiCAD versions
- Maintains backward compatibility while fixing GetDRCMarkers() issue
- Added documentation to KNOWN_ISSUES.md
- Returns violations in original format by parsing kicad-cli JSON output

Issue #34 - JLCPCB API documentation misleading:
- Restructured README and JLCPCB_USAGE_GUIDE.md
- Now leads with JLCSearch public API (no authentication required)
- Moved official JLCPCB API to "Advanced" section with clear requirements
- Clarified that official API requires enterprise account + order history
- Makes it easier for new users to get started

Issue #43 - JLCPCB part count documentation inaccurate:
- Updated all "100k+" references to "2.5M+" (accurate catalog size)
- Updated download time estimates to 40-60 minutes
- Updated expected database size to 1-2 GB
- Clarified 100-part pagination limit in JLCSearch API

Documentation changes:
- README.md: Updated JLCPCB integration section
- docs/JLCPCB_USAGE_GUIDE.md: Complete restructure with 3 approaches
- docs/KNOWN_ISSUES.md: Added DRC fix documentation

All changes improve user experience and documentation accuracy.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
KiCAD MCP Bot
2026-02-26 10:11:55 -05:00
parent b4d114ac74
commit e4fa774eda
4 changed files with 110 additions and 36 deletions

View File

@@ -1,11 +1,12 @@
# JLCPCB Integration Guide
The KiCAD MCP Server provides **two complementary approaches** for working with JLCPCB parts:
The KiCAD MCP Server provides **three complementary approaches** for working with JLCPCB parts:
1. **Local Symbol Libraries** - Search JLCPCB libraries installed via KiCad PCM _(contributed by [@l3wi](https://github.com/l3wi) in [PR #25](https://github.com/mixelpixx/KiCAD-MCP-Server/pull/25))_
2. **JLCPCB API Integration** - Access the complete 100k+ parts catalog with real-time pricing
1. **JLCSearch Public API** - No authentication required, 2.5M+ parts with pricing (Recommended)
2. **Local Symbol Libraries** - Search JLCPCB libraries installed via KiCad PCM _(contributed by [@l3wi](https://github.com/l3wi) in [PR #25](https://github.com/mixelpixx/KiCAD-MCP-Server/pull/25))_
3. **Official JLCPCB API** - Requires enterprise account (Advanced)
Both approaches can be used together to give you maximum flexibility.
All approaches can be used together to give you maximum flexibility.
## Credits
@@ -14,7 +15,46 @@ Both approaches can be used together to give you maximum flexibility.
---
## Approach 1: Local Symbol Libraries (Recommended for Getting Started)
## Approach 1: JLCSearch Public API (Recommended)
### What It Does
- Access to 2.5M+ JLCPCB parts with pricing and stock data
- **No authentication required** - works immediately
- **No JLCPCB account needed**
- Real-time pricing with quantity breaks
- Basic vs Extended library type identification
- Local SQLite database for fast offline searching
- Note: Download takes 40-60 minutes due to API pagination (100 parts per request)
### Setup
No setup required! Just download the database:
```
download_jlcpcb_database({ force: false })
```
This downloads ~2.5M parts from JLCSearch API and creates a local SQLite database (`data/jlcpcb_parts.db`).
**Expected Output:**
```
Downloading JLCPCB parts database...
Downloaded 100 parts...
Downloaded 200 parts...
... (continues for 40-60 minutes)
Downloaded 2,500,000 parts...
Total parts: 2,500,000+
Database size: ~1-2 GB
```
### Usage Examples
See "Approach 2" usage examples below - the API is the same.
---
## Approach 2: Local Symbol Libraries (Good for Offline Use)
### What It Does
- Searches symbol libraries you've installed via KiCad's Plugin and Content Manager (PCM)
@@ -94,10 +134,10 @@ Class: Extended
---
## Approach 2: JLCPCB API Integration (For Complete Catalog Access)
## Approach 3: Official JLCPCB API (Advanced - Enterprise Accounts Only)
### What It Does
- Downloads the **complete JLCPCB parts catalog** (~100k+ parts)
- Downloads from the **official JLCPCB API** (requires enterprise account)
- Provides **real-time pricing and stock information**
- Automatic **Basic vs Extended** library type identification (Basic = free assembly)
- Smart suggestions for cheaper/in-stock alternatives

View File

@@ -101,6 +101,12 @@ Schematic operations use the kicad-skip library which has some limitations with
## Recently Fixed
### DRC Violations API KiCAD 9.0 (Fixed 2026-02-26)
**Was:** `get_drc_violations` failed with `AttributeError: 'BOARD' object has no attribute 'GetDRCMarkers'`
**Now:** Reimplemented to use `run_drc()` internally which calls kicad-cli
**Impact:** Maintains backward compatibility while using stable kicad-cli interface
### Component Library Integration (Fixed 2025-11-01)
**Was:** Could not find footprint libraries