发现 AI 代理的未来arrow_forward

PCB Parts MCP Server

calendar_today收录于 2026年2月26日
category智能体与应用工具
code开源
PythonMCPAI代理CLI智能体与应用工具开发者工具/代码协议/API/集成

面向 AI 编程助手的 MCP 服务器,统一搜索 JLCPCB、Mouser、DigiKey 三大元器件分销商,支持参数化搜索、BOM 验证与 KiCad 封装下载。

项目简介#

PCB Parts MCP Server 是一个面向 AI 编程助手的 MCP(Model Context Protocol)服务器,通过统一的接口连接 JLCPCB、Mouser、DigiKey 三大电子元器件分销商,让工程师可以在 Claude、Cursor、VS Code 等 AI 编程环境中直接进行元器件搜索、BOM 验证和 KiCad 封装下载。

版本:3.1.0
作者:Avery (Averyy)
许可证:MIT License
开发语言:Python 87.8%(要求 ≥ 3.11)

解决的核心问题#

  • 多平台分散搜索:JLCPCB、Mouser、DigiKey 各自独立,缺乏统一查询入口
  • 规格参数复杂:元器件电气参数繁多,手工过滤效率低
  • BOM 准备繁琐:需逐一核查库存、成本、扩展库费用
  • 缺货替代困难:难以快速定位规格兼容的替代品

目标用户#

  • PCB 设计工程师
  • 电子产品开发者
  • 使用 AI 编程助手进行硬件开发的创客

支持的 AI 助手:Claude Desktop、Claude Code、Cursor、VS Code(Cline/Roo Code 等)

支持的 EDA 工具:KiCad(通过 SamacSys 封装下载)、EasyEDA(引脚信息提取)

核心能力#

16 个 MCP 工具覆盖 4 个数据源#

JLCPCB(本地数据库 + 实时 API)

  • jlc_search:智能查询解析 + 参数化规格过滤(本地 400K+ 高库存元器件)
  • jlc_search_api:实时 API,完整 1.5M 目录,支持分页
  • jlc_get_part:获取 LCSC 料号或 MPN 完整详情
  • jlc_get_pinout:从 EasyEDA 符号获取引脚信息
  • jlc_find_alternatives:规格兼容替代件查找
  • jlc_list_categories:52 个主分类列表
  • jlc_get_subcategories:分类下子分类
  • jlc_list_attributes:子分类可过滤属性
  • jlc_validate_bom:库存检查、成本计算、问题标记
  • jlc_export_bom:JLCPCB 兼容 CSV 导出

Mouser(需 MOUSER_API_KEY)

  • mouser_search:关键词搜索
  • mouser_get_part:料号/MPN 查询(支持批量)

DigiKey(需 DIGIKEY_CLIENT_ID + SECRET)

  • digikey_search:关键词搜索
  • digikey_get_part:料号/MPN 查询

SamacSys(无需密钥)

  • cse_search:搜索 ECAD 模型、数据手册、封装
  • cse_get_kicad:下载 KiCad 符号与封装

智能特性#

  • 自然语言解析:自动解析 "10k 0603 1%" 为阻值/封装/精度过滤条件
  • 规格参数过滤:支持 Vgs(th) < 2VRds(on) < 10mΩId >= 5A 等表达式
  • 封装变体扩展:自动扩展 SOT-23 → SOT-23-3, SOT-23-3L, SOT-23(TO-236)
  • MPN 映射:制造商料号 → JLCPCB LCSC 料号

数据规模#

指标数值
元器件总数1.5M+
主分类52 个
子分类别名220+
高库存元器件(stock ≥ 100)400K+

库类型说明#

库类型组装费说明
basicJLCPCB 标准库常用元器件
preferred推荐元器件,供应稳定
extended$3/种非常用元器件
no_feebasic + preferred 快捷过滤

安装部署#

托管服务(推荐)#

Claude Code

claude mcp add -s user --transport http pcbparts https://pcbparts.dev/mcp

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json)

{
  "mcpServers": {
    "pcbparts": {
      "type": "http",
      "url": "https://pcbparts.dev/mcp"
    }
  }
}

Cursor (~/.cursor/mcp.json) 和 VS Code (.vscode/mcp.json) 配置类似。

自托管部署#

源码方式

git clone https://github.com/Averyy/pcbparts-mcp
cd pcbparts-mcp
uv venv && uv pip install -e .
.venv/bin/python -m pcbparts_mcp.server  # http://localhost:8080/mcp

Docker

docker compose up -d  # 生产环境(GHCR 镜像)
docker compose -f docker-compose.local.yml up --build  # 本地构建

环境变量#

变量默认值说明
HTTP_PORT8080服务器端口
RATE_LIMIT_REQUESTS100每 IP 每分钟请求数
MOUSER_API_KEYMouser API 密钥(可选)
DIGIKEY_CLIENT_IDDigiKey OAuth2 客户端 ID(可选)
DIGIKEY_CLIENT_SECRETDigiKey OAuth2 客户端密钥(可选)

示例查询#

"Find logic-level MOSFETs with Vgs(th) < 2V and Id >= 5A"
"100nF 25V capacitors in 0402 or 0603"
"Find alternatives for C82899 in basic library"
"STM32 microcontrollers with 10000+ stock"
"Validate my BOM and check for stock issues"
"Get KiCad footprint for ESP32-S3-WROOM-1"

技术架构#

依赖栈:MCP SDK ≥ 1.3.0、FastMCP ≥ 3.0.0、curl_cffi ≥ 0.7.0、httpx ≥ 0.27.0、uvicorn + starlette、pydantic ≥ 2.0

关键技术

  • TLS 指纹伪装(curl_cffi 模拟浏览器,规避 JLCPCB API 403 拒绝)
  • Streamable HTTP 无状态传输
  • 速率限制:100 requests/minute/IP

保持更新

获取最新的 AI 工具和趋势,直接发送到您的收件箱。没有垃圾邮件,只有智能。

rocket_launch