jlcpcb-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JLCPCB_APP_ID | No | Official Open API credentials — enable the jlcpcb_official_* tools. | |
| JLCPCB_DEV_MODE | No | Store the database in ./data within the project (for development). | |
| JLCPCB_ENDPOINT | No | Override the official API base (default https://open.jlcpcb.com). | https://open.jlcpcb.com |
| JLCPCB_ACCESS_KEY | No | Official Open API credentials — enable the jlcpcb_official_* tools. | |
| JLCPCB_SECRET_KEY | No | Official Open API credentials — enable the jlcpcb_official_* tools. | |
| JLCPCB_DATABASE_PATH | No | Override where the catalog SQLite file is stored. | |
| JLCPCB_ENABLE_ORDERS | No | Set to true/1 to allow the *-create_order tools to place real paid orders (off by default). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| jlcpcb_search_componentsA | Search the JLCPCB component catalog by keyword and/or parametric filters, enriched with live pricing. The catalog (descriptions, packages, attributes, categories) comes from a local SQLite snapshot. Each result reports |
| jlcpcb_get_component_detailsA | Get full details for a specific JLCPCB part: catalog metadata (manufacturer, package, category), pricing tiers, parametric specifications, datasheet, and images, plus stock from both pools — |
| jlcpcb_get_component_stockA | Get stock for a specific JLCPCB part from BOTH inventory pools: |
| jlcpcb_get_component_pricingA | Get live quantity-break pricing tiers (USD unit price per quantity ladder) for a specific JLCPCB part. |
| jlcpcb_get_datasheet_urlA | Get the datasheet PDF URL for a specific JLCPCB part. Prefers the live API value and falls back to the catalog snapshot. |
| jlcpcb_list_categoriesA | List the component categories and subcategories available in the local catalog, each with a component count. Optionally filter to a single top-level category. Useful for discovering valid |
| jlcpcb_database_statusA | Report the status of the local component catalog database: whether it exists, its file path, size, component count, and when it was last built/refreshed. |
| jlcpcb_refresh_databaseA | Download and rebuild the local component catalog from the latest yaqwsx/jlcparts snapshot. Downloads ~50MB and may take several minutes. Use occasionally to pick up newly added components (live stock/pricing is always current regardless). |
| jlcpcb_official_get_component_detailA | Official JLCPCB Parts API (authenticated): authoritative details — specs, stock, pricing, and attributes — for one or more LCSC part codes. More complete than the public live endpoint. Requires API credentials. |
| jlcpcb_official_component_libraryA | Official JLCPCB Parts API (authenticated): browse the full assembly component library, paginated. Requires API credentials. |
| jlcpcb_official_private_libraryA | Official JLCPCB Parts API (authenticated): list YOUR account's private / consigned component library (parts you hold at JLCPCB), paginated. Only available with API credentials. |
| jlcpcb_official_component_feedA | Official JLCPCB Parts API (authenticated): cursor-paginated bulk feed of the component catalog. Pass the |
| jlcpcb_pcb_upload_gerberA | Official PCB API: upload a Gerber archive (zip) for quoting/ordering. Returns a fileKey to pass to jlcpcb_pcb_calculate_price / jlcpcb_pcb_create_order. Requires API credentials. |
| jlcpcb_pcb_upload_blind_via_hole_imgA | Official PCB API: upload a blind/buried-via stackup image for boards that need one. Requires API credentials. |
| jlcpcb_pcb_impedance_template_listA | Official PCB API: list impedance template settings for given stackup parameters (stencilLayer, cuprumThickness, plateType, etc.). Requires API credentials. |
| jlcpcb_pcb_stencil_price_configA | Official PCB API: get the SMT stencil (steel) price configuration. Requires API credentials. |
| jlcpcb_pcb_calculate_priceA | Official PCB API: calculate price and lead time for a PCB / SMT-stencil order (a quote, no order is placed). Pass a |
| jlcpcb_pcb_get_order_detailA | Official PCB API: get order details by batch number. Requires API credentials. |
| jlcpcb_pcb_get_audit_infoB | Official PCB API: get engineering audit (review) info for an uploaded design by key. Requires API credentials. |
| jlcpcb_pcb_get_wip_processA | Official PCB API: get the work-in-progress production status for an order. Requires API credentials. |
| jlcpcb_pcb_create_orderA | Official PCB API: CREATE A REAL, PAID PCB / SMT-stencil order. Disabled unless JLCPCB_ENABLE_ORDERS=true. Pass a |
| jlcpcb_tdp_upload_modelA | Official 3D-printing (TDP) API: upload a 3D model file (e.g. STL/STEP) for analysis and quoting. Returns a fileAccessId used by the other TDP tools. Requires API credentials. |
| jlcpcb_tdp_file_analysis_resultA | Official 3D-printing API: fetch the analysis result (dimensions/volume/printability) for an uploaded model by its fileAccessId. Requires API credentials. |
| jlcpcb_tdp_calculate_priceA | Official 3D-printing API: calculate price for a 3D-printing job (a quote, no order is placed). Pass a |
| jlcpcb_tdp_order_listA | Official 3D-printing API: list your 3D-printing orders, paginated/filterable. Pass an optional |
| jlcpcb_tdp_order_detailA | Official 3D-printing API: get a 3D-printing order's details by batch number. Requires API credentials. |
| jlcpcb_tdp_order_processA | Official 3D-printing API: get production progress for a 3D-printing order by order number. Requires API credentials. |
| jlcpcb_tdp_create_orderA | Official 3D-printing API: CREATE A REAL, PAID 3D-printing order. Disabled unless JLCPCB_ENABLE_ORDERS=true. Pass a |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 28 tools
Most tools have distinct purposes, but there is clear overlap among component info tools: jlcpcb_get_component_details, jlcpcb_get_component_stock, jlcpcb_get_component_pricing, and jlcpcb_official_get_component_detail all return similar data. The official/public split adds confusion. TDP and PCB tools are well-separated.
Names consistently use the jlcpcb_ prefix with subdomain (official_, tdp_, pcb_) and mostly follow a verb_noun structure. However, several tools are noun phrases (official_component_library, database_status, tdp_file_analysis_result, pcb_impedance_template_list) and the official component tools mix verbs and nouns (official_get_component_detail vs official_component_feed).
28 tools is high, but the server covers three distinct services (components, PCB, 3D printing), each with around 9 tools. This makes the count defensible, though slightly heavy for a single surface.
The major lifecycle flows are covered: search/details/price/order for components and TDP, upload/quote/order/track for PCB. The only notable gap is the lack of a PCB order list (only detail by batch number).