1. Conduid
  2. Developer Tools
  3. Jlcpcb Search MCP
MCP server · Developer Tools

Jlcpcb Search MCP

MCP server for searching JLCPCB components with live stock and pricing

Unclaimed devtools
39Low

Scored 8 days ago · breakdown

About Jlcpcb Search MCP

Jlcpcb Search MCP is an MCP server published by peterb154 in the Developer Tools category: mCP server for searching JLCPCB components with live stock and pricing.

The repository has 7 stars and 0 forks, with the last commit 5 months ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/peterb154/jlcpcb-search-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (4)

database_statusReports the local database location, size, and component count.

Parameters not published.

get_component_detailsFull live details for an LCSC part — current stock, pricing tiers, full parameter list, datasheet, and images.

Parameters not published.

refresh_databaseRe-downloads the catalog snapshot from inside the chat — no CLI needed.

Parameters not published.

search_componentsKeyword search across the catalog. Optional filters: `category`, `package`, `basic_only`, `min_stock`, `max_results`.

Parameters not published.

Ask AI

✦

Ask AI about Jlcpcb Search MCP

Powered by Claude · Grounded in docs

I know everything about Jlcpcb Search MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 8 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • !License declaredNo license file. Legally you have no right to use it in a product.
  • ✓Tests presentA test suite exists in the repository.
  • !Dependencies pinnedNo lockfile. Installs can pull different code over time.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v1.2.1v1.2.1 · 29 Apr 2026v1.2.1 (2026-04-29) Bug Fixes server: Voltage_rating filter now matches capacitors (`e5706e0`) Chores Address review LOW items on PR #9 (`1a66567`) Documentation readme: Document JLCPCB_DATABASE_PATH for custom DB location (`40b12ff`)…
v1.2.0v1.2.0 · 29 Apr 2026v1.2.0 (2026-04-29) Bug Fixes database: Atomic build, strict schema, broader test coverage (`191d405`) database: Port to upstream manifest+LUT+shards format (`73451da`) Chores Address review LOW items + correct README size (`a11fb82`)…
v1.1.4v1.1.4 · 22 Nov 2025v1.1.4 (2025-11-22) Bug Fixes Completely rewrite README.md to fix GitHub rendering (`5aa3d9b`) Detailed Changes: v1.1.3...v1.1.4
v1.1.3v1.1.3 · 22 Nov 2025v1.1.3 (2025-11-22) Bug Fixes Restore README.md with proper markdown (`f7c2d55`) Chores Add .gitattributes to ensure proper text handling (`ec4f945`) Documentation Add PyPI badge and ensure markdown rendering (`e567cf0`) Detailed Changes:…
v1.1.2v1.1.2 · 22 Nov 2025v1.1.2 (2025-11-22) Bug Fixes Force GitHub to re-render README.md (`08bcef4`) Detailed Changes: v1.1.1...v1.1.2

README

JLCPCB Search MCP Server

A Model Context Protocol (MCP) server that provides AI assistants with powerful search capabilities for JLCPCB's electronic component catalog. Search 450,000+ components with real-time stock levels and pricing.

PyPI version

Built on top of yaqwsx/jlcparts - huge thanks to Jan Mrazek for doing the hard work of downloading JLCPCB XLS sheets, converting them to structured JSON, and hosting them for the community!

Features

  • Fast Local Search: SQLite database with 450K+ components for instant searches
  • Live Data: Real-time stock levels and pricing from JLCPCB API
  • Smart Filtering: Filter by package type, category, Basic/Extended parts, minimum stock
  • Detailed Information: Full specifications, datasheets, pricing tiers, and images
  • Easy Integration: Works with Claude Desktop, VSCode, and any MCP-compatible client

Example Usage

Ask Claude natural questions about components:

You: "Can you find a good 10uF SMD capacitor that can support 10V or less?"

Claude's Response:

Based on my search, here are some good 10uF SMD capacitors that can support 10V or less:

Recommended Options (Aluminum Electrolytic SMD):

Best Choice - C4747968 (RST10UF16V013)

Alternative - C970654 (RVT1C100M0405)

All of these are aluminum electrolytic SMD capacitors rated for 16V, which gives you plenty of margin for a 10V application. The C4747968 is my top recommendation due to its excellent stock levels and lower price.

Note: These are all Extended parts (not Basic), so they will incur additional assembly fees if you're using JLCPCB assembly.

Tools

The MCP server exposes four tools to your AI assistant:

Tool What it does
search_components Keyword search across the catalog. Optional filters: category, package, basic_only, min_stock, max_results.
get_component_details Full live details for an LCSC part — current stock, pricing tiers, full parameter list, datasheet, and images.
database_status Reports the local database location, size, and component count.
refresh_database Re-downloads the catalog snapshot from inside the chat — no CLI needed.

Most of the time you don't call these directly; you ask Claude in natural language ("find me a 10k 0805 resistor with at least 5k in stock") and it picks the right tool.

Data Freshness

This server uses a hybrid approach — a local catalog snapshot for fast search, plus live API calls for stock and pricing.

Data Source Freshness
Component catalog (descriptions, packages, attributes, categories) Local SQLite, built from yaqwsx/jlcparts Snapshot from your last refresh
Stock levels Live JLCPCB API (wmsc.lcsc.com) Real-time, per query
Pricing tiers Live JLCPCB API Real-time, per query
Datasheet URL Live JLCPCB API Real-time, per query

The local catalog does not auto-update. Refresh it periodically to pick up newly-added parts, removed parts, and metadata changes:

jlcpcb-mcp-setup --refresh-db

For most workflows, refreshing weekly or monthly is sufficient. Stock and price decisions are always made against live data, so you don't need a fresh catalog to trust the numbers on parts you already know.

Installation

From PyPI

# Install for current user (recommended for Claude Desktop)
pip install --user jlcpcb-search-mcp

# Or use pipx for isolated installation (best for CLI tools)
pipx install jlcpcb-search-mcp

# Or install in a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install jlcpcb-search-mcp

# Or install with uv in a project (uv is my fav!)
uv add jlcpcb-search-mcp

From Source

git clone https://github.com/peterb154/jlcpcb-search-mcp.git
cd jlcpcb-search-mcp
pip install -e .

Important: When using Claude Code, the MCP server must be accessible from your project's environment:

  • For uv projects: Install with uv add jlcpcb-search-mcp and use uv run claude commands
  • For system-wide use: Install with pip install --user jlcpcb-search-mcp or pipx install jlcpcb-search-mcp
  • For venv projects: Install in your venv and activate it before starting your editor

Quick Start

Claude Code Configuration

Option 1: Automatic Setup (Recommended)

Use the setup utility to automatically configure the MCP server:

# For current workspace (creates .mcp.json)
# Uses shared database in user's application data directory - RECOMMENDED
jlcpcb-mcp-setup --workspace

# Or if using uv project
uv run jlcpcb-mcp-setup --workspace

# For development of THIS package only (uses ./data/ directory)
# This creates a separate 900MB+ database in your project - avoid unless needed
jlcpcb-mcp-setup --workspace --dev

# Globally for Claude Desktop (also uses shared database)
jlcpcb-mcp-setup --global

After running the setup:

  1. Reload your editor window (Cmd+Shift+P → Developer: Reload Window)

  2. Check that the MCP server is connected:

    # If using uv project:
    uv run claude mcp list
    

    should return something like the following - notice that the mcp server is connected:

    Checking MCP server health...
    
    jlcpcb-search: jlcpcb-mcp  - ✓ Connected
    
    # Otherwise if not using uv:
    claude mcp list
    
  3. You should see: jlcpcb-search: jlcpcb-mcp - ✓ Connected

  4. Start searching for components!

Option 2: Manual Configuration

Create .mcp.json in your workspace root:

{
  "mcpServers": {
    "jlcpcb-search": {
      "command": "jlcpcb-mcp"
    }
  }
}

Or for global configuration in Claude Desktop:

macOS: ~/Library/Application Support/Claude/mcp.json Windows: %APPDATA%\Claude\mcp.json Linux: ~/.config/claude/mcp.json

Note for uv projects: The same simple config works! When you run uv run claude, it automatically uses the environment where jlcpcb-mcp is installed. No special configuration needed.

First Run & Database Setup

The database will be automatically built on your first component search. However, you can pre-download it to avoid waiting:

# Pre-download the database (recommended)
jlcpcb-mcp-setup --refresh-db

# Or with uv
uv run jlcpcb-mcp-setup --refresh-db

What to expect:

  • Download: ~50MB compressed (manifest + attributes lookup table + ~1,294 per-subcategory shards)
  • Final size: ~1.8GB SQLite database uncompressed (~576k components, 1,289 subcategories)
  • Time: ~4 minutes on fast internet connection (500Mbps), up to 10 minutes on slower connections
  • Progress: Real-time updates showing download progress and subcategory processing

If you don't pre-download, your first Claude query will trigger the download automatically, so expect a 3-10 minute wait.

Database Location

The database is shared across all your projects by default (recommended):

  • macOS: ~/Library/Application Support/jlcpcb-mcp/components.sqlite
  • Linux: ~/.local/share/jlcpcb-mcp/components.sqlite
  • Windows: %LOCALAPPDATA%\jlcpcb-mcp\components.sqlite

Why shared?

  • One ~1.8GB database serves all your projects
  • Saves disk space
  • Faster setup for new projects
  • Easier to keep updated

Dev mode (--dev): Only use this if you're developing the jlcpcb-mcp package itself. It creates a separate database in ./data/ which is useful for testing but wastes space for normal usage.

Custom location (JLCPCB_DATABASE_PATH)

If you want the database to live somewhere specific — e.g. an external SSD, a project-local directory, or a path you can .gitignore — set the JLCPCB_DATABASE_PATH environment variable. The value is the full path to the SQLite file (not just the directory):

// .mcp.json (or your client's MCP config)
{
  "mcpServers": {
    "jlcpcb-search": {
      "command": "jlcpcb-mcp",
      "env": {
        "JLCPCB_DATABASE_PATH": "/path/to/your/components.sqlite"
      }
    }
  }
}

To pre-download into that location, export the same variable before running setup:

JLCPCB_DATABASE_PATH=/path/to/your/components.sqlite \
  jlcpcb-mcp-setup --refresh-db

Or skip pre-downloading and let the server build it on the first query.

JLCPCB_DATABASE_PATH takes precedence over both the default platform location and --dev mode.

License

MIT License - see LICENSE file for details

Acknowledgments

Support

README fetched from the repository 8 days ago. The original is authoritative.

Questions

About Jlcpcb Search MCP

How do I install Jlcpcb Search MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Jlcpcb Search MCP safe to use with an AI agent?

Its trust score is 39 out of 100 (low). It passes 3 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Jlcpcb Search MCP still maintained?

Yes — the latest release is v1.2.1 (29 Apr 2026), and the last commit was 5 months ago. The repository has 7 stars.