Skip to main content
Glama

parts-mcp

To MCP-servere i Docker, som du starter når du skal bruge dem. Virker ens på Windows og Linux.

Server

Port

Hvad

parts-mcp

8000

Komponentsøgning hos DigiKey, Mouser, Farnell og jlcsearch (JLCPCB/LCSC). Octopart er fravalgt (for dyrt).

kicad-mcp

3334

KiCad MCP Pro 4.4.0 med KiCad 10 indbygget (kicad-cli, ERC/DRC, BOM, eksport).

Leverandører

En leverandør slås kun til, hvis dens nøgler står i .env – ellers vises dens tools bare ikke.

Leverandør

Nøgler i .env

Tools

Valuta

DigiKey

DIGIKEY_CLIENT_ID, DIGIKEY_CLIENT_SECRET

digikey_search, digikey_part

DIGIKEY_CURRENCY

Mouser

MOUSER_API_KEY

mouser_search, mouser_part

fra API'et

Farnell

FARNELL_API_KEY (+ FARNELL_STORE)

farnell_search, farnell_part

FARNELL_CURRENCY

jlcsearch

ingen – altid slået til

jlc_search, jlc_part (LCSC-nr., f.eks. C7950)

USD

search_all søger hos alle slåede-til leverandører på én gang. Alle tools returnerer samme felter (mpn, manufacturer, supplier_pn, in_stock, unit_price, price_breaks, url, datasheet …), og *_part giver også parameters.

Kendte begrænsninger:

  • jlcsearch: fritekstsøgningen returnerer pt. urelaterede dele (tscircuit/jlcsearch#611). Dem filtrerer jlc_search fra, så den giver få eller ingen resultater, indtil det er rettet. Opslag på LCSC-nummer med jlc_part virker.

  • DigiKey: digikey_part med et producentnummer, som flere producenter bruger (f.eks. LM358DT), giver en fejl. Brug DigiKey-nummeret fra digikey_search.

Related MCP server: Nexar MCP Server

Struktur

src/parts_mcp/
  server.py              # FastMCP-server og tools
  providers/common.py    # cache, prisparsing, fælles resultatformat
  providers/digikey.py   # DigiKey (OAuth, token-fornyelse)
  providers/mouser.py    # Mouser
  providers/farnell.py   # Farnell/element14
  providers/jlcsearch.py # jlcsearch (JLCPCB/LCSC)
kicad/Dockerfile         # KiCad 10 + KiCad MCP Pro
projects/                # standard-mappe til KiCad-projekter (ikke i git)

Ny leverandør = ny fil i providers/ med from_env(), search() og part(), + tools i server.py.

Krav

Kun Docker med compose – Python og KiCad skal ikke installeres.

  • Linux: Docker Engine + compose-plugin.

  • Windows: Docker Desktop, eller Docker installeret i en WSL-distro (f.eks. Ubuntu). Med WSL sættes wsl foran kommandoerne, kørt fra repo-mappen i PowerShell – f.eks. wsl docker compose up.

Første gang

  1. Nøgler:

    • DigiKey: developer.digikey.com → organisation → ny app → abonnér på Product Information v4 → kopiér client ID/secret.

    • Mouser: mouser.com → My Account → APIs → Search API.

    • Farnell: partner.element14.com → registrér → Product Search API.

  2. Opret .env og udfyld den:

    cp .env.example .env        # Windows (PowerShell): copy .env.example .env
    • Nøgler til de leverandører, du vil bruge (se tabellen ovenfor)

    • KICAD_MCP_AUTH_TOKEN: en tilfældig streng på mindst 32 tegn

    • KICAD_PROJECTS: mappen med dine KiCad-projekter (standard ./projects). Med Docker i WSL skal det være en WSL-sti, f.eks. /mnt/c/Users/<dig>/Documents/KiCad.

  3. Kør startscriptet (se nedenfor). Første gang bygges imagerne (KiCad ca. 3,7 GB), der laves et KiCad-token i .env, og der skrives en .mcp.json, så Claude Code finder serverne.

  4. Genindlæs VS Code / genstart Claude Code, og godkend parts og kicad.

Brug

Startscriptet klarer det hele hver gang: tjekker .env, laver token og .mcp.json, finder Docker (Docker Desktop eller Docker i WSL), bygger og starter.

Windows

Linux

Begge servere

dobbeltklik start.cmd

bash start.sh

Kun komponentsøgning

dobbeltklik start-parts.cmd (eller start.cmd parts)

bash start.sh parts

Kun KiCad

start.cmd kicad

bash start.sh kicad

Serverne kører i forgrunden: lad vinduet stå åbent, og stop med Ctrl+C eller ved at lukke det. På Windows med Docker i WSL er det nødvendigt – WSL lukker Ubuntu (og containerne) ned, når der ikke er en aktiv wsl-session.

.env og .mcp.json er i .gitignore. Del .env med kollegaer via en password manager, aldrig i git.

I Claude peger du KiCad MCP på et projekt med stien inde i containeren, f.eks. /projects/mit-board.

Tip: brug DIGIKEY_BASE_URL=https://sandbox-api.digikey.com med sandbox-nøgler under udvikling.

Sikkerhed

Begge servere lytter kun på 127.0.0.1 og kan ikke nås fra netværket. parts-mcp har ingen login; kicad-mcp kræver token.

KiCad MCP Pro starter i readonly-tilstand. Sæt KICAD_MCP_OPERATING_MODE=write under kicad-mcp → environment i docker-compose.yml, hvis den skal kunne ændre filer.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables searching for electronic components through the Nexar Supply API, providing detailed part information including manufacturer, pricing, specifications, and datasheets.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables searching for electronic components, comparing prices across distributors, checking availability, and retrieving datasheets through the Nexar/Octopart API with specialized tools for resistors, capacitors, inductors, semiconductors, crystals, and connectors.
    11
    -
  • A
    license
    A
    quality
    A
    maintenance
    Enables searching and filtering over 1.5 million electronic components across JLCPCB, Mouser, and DigiKey using parametric queries and smart parsing. It supports finding alternative parts, accessing pinout data, and downloading KiCad footprints directly through AI coding assistants.
    11
    131
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to search JLCPCB's 450K+ electronic component catalog with real-time stock levels and pricing, supporting keyword search, filtering, and detailed component information.
    4
    60 PyPI
    7
    -